Wpisy z kategorii Eksperymenty
Strona 2
-
Tworzymy własny bundler
Bądźmy szczerzy: praktycznie wszyscy używamy jakiegoś bundlera, ale prawie nikt z nas swojego bundlera nie lubi (na Ciebie patrzę, webpack…). Może by tak zatem… stworzyć swój własny bundler?
-
I cięcie!
Ostatnio dziwnie popularny zrobił się temat anulowania pobierania danych przez
fetch
. Wydaje mi się jednak, że umyka przy tym pewna istotna kwestia: to rozwiązanie powinno działać ze wszystkimi asynchronicznymi API. -
Stylowalne ikonki SVG
To, że SVG jest lepsze od fontów z ikonami, jest już raczej dość powszechną wiedzą. Ale jeden problem związany z SVG wydaje się nas prześladować od lat i wciąż nie widać rozwiązania na horyzoncie: ikony SVG w zewnętrznym pliku są średnio używalne. Nie da się ich ot tak wczytać z zewnętrznej domeny (same origin policy, FTW!), nie da się stylować ich części, a do niedawna w ogóle nic się nie dało z nimi zrobić…
Wszystkie ikony użyte w tym artykule pochodzą z Devicon.
-
System polyfillów
Pod koniec tamtego roku trafiłem na artykuł o leniwym wczytywaniu polyfillów. Były one wczytywane w kodzie aplikacji przy pomocy
import
. Niemniej zupełnie nie zgodziłem się wówczas z wizją autora i postanowiłem stworzyć własną wersję takiego systemu. W końcu znalazłem na to chwilę. -
Niestandardowe zdarzenia w workerach
W przypadku skryptów korzystających z DOM stworzenie własnych, niestandardowych zdarzeń jest banalnie proste i sprowadza się do utworzenia nowej instancji
CustomEvent
. Ten sposób jednak nie (do końca) działa w przypadku workerów, które nie mają dostępu do DOM. Co zatem zrobić w takim wypadku? -
Jednoplikowe komponenty
Chyba każdy, kto miał styczność z frameworkiem Vue, słyszał również o jego jednoplikowych komponentach. Ten super prosty pomysł pozwala definiować cały kod odpowiedzialny za konkretny komponent w jednym pliku. Jest to na tyle dobre rozwiązanie, że pojawiła się inicjatywa przeniesienia tego mechanizmu do przeglądarek. Niemniej – stanęła w miejscu i od sierpnia tamtego roku nic się nie wydarzyło. Mimo to myślę, że spojrzenie na ten problem i próba dostosowania go do przeglądarki jest ciekawym zagadnieniem, którym się dzisiaj zajmiemy.
-
Deklaratywny Shadow DOM
W swoim poprzednim wpisie rozpisałem się co nieco o mutowaniu DOM-u i obiecałem, że następnym razem pokażę sensowny przykład jego zastosowania. Ten czas właśnie nadszedł! Pokażę, jak przy pomocy mutacji stworzyć prototyp deklaratywnego Shadow DOM.
-
Tworzymy czytnik ekranowy
Ostatnio kumpel z pracy rzucił pomysłem: “a czemu w sumie nie napiszesz własnego czytnika ekranowego?”. Tak po prawdzie nigdy się nad tym nie zastanawiałem jakoś specjalnie. Uważałem, że czytniki ekranowe są na tyle skomplikowane, że zrobienie tego dobrze jest niezwykle trudne (co zresztą widać po tym jak wielkie rozbieżności są pomiędzy największymi w stawce, np. VoiceOverem a JAWS-em). No i przede wszystkim jeszcze niedawno technologie webowe nie pozwalały na takie cuda, jak choćby czytanie tekstu na głos.
Ale to się zmieniło i powstało Web Speech API, którego częścią jest Speech Synthesis, czyli – po ludzku – API do zamieniania tekstu pisanego na mowę. Wsparcie jest zadziwiająco dobre, zwłaszcza jak na coś, co wciąż nie jest oficjalnym standardem od W3C. Skoro zatem główną funkcjonalność czytnika ekranowego znajdziemy dzisiaj w de facto każdej przeglądarce, to możemy nieco poeksperymentować, prawda? Udało mi się złożyć przykładową implementację (zgadnijcie, w czym nie działa…), o której nieco poopowiadam.