-moz-koniec, czyli co dalej z prefiksami?

Jeden z największych koszmarów spędzających sen z powiek milionom webdeveloperów na całym świecie powoli zbliża się do nieuchronnego końca. Otóż Mozilla ogłosiła koniec używania prefiksów.

W ubiegłym tygodniu świat obiegła informacja, iż nowe wersje Firefoxa nie będą wykorzystywały tzw. vendor prefixów, więc wszystkie nowe funkcje css będą implementowane pod docelowymi atrybutami. Czy to dobrze? I tak, i nie. Z jednej strony pozbędziemy się kolejnego dubla z kodu, przez co zaoszczędzimy kilkanaście bajtów, choć i tak jeszcze przez pewien czas powinniśmy zachować prefiksy dla starszych wersji przeglądarek. Jednak należy pamiętać o tym, że nowe własności css, będące na etapie wdrażania, nie będą dostępne dla przeciętnego użytkownika – konieczne będzie własnoręczne włączenie ich w opcjach przeglądarki z poziomu about:config, gdzie zaglądają tylko nieliczni.

Nawet IE się poprawia

Niemniej vendor prefixy nie cieszą się dużą sympatią, więc decyzja Mozilli jest jak najbardziej słuszna. Podobną deklarację złożyło Google w kwietniu tego roku, podczas prezentacji swojego nowego silnika – Blink – będącego forkiem Webkita, z którego korzysta również Opera. Co ciekawe nawet Microsoft powoli wycofuje prefiksy w kolejnych wersjach IE. Z najpopularniejszych przeglądarek tylko w Safari nic się nie zmienia, warto jednak pamiętać, że Safari posiada w naszym kraju mniej niż 1% udziału w rynku.

Tniemy prefiksy

Spójrzmy jak na dzień dzisiejszy wygląda wykorzystanie prefiksów dla najpopularniejszych własności.

• border-radius

Jeśli nie musimy wspierać tak prehistorycznych przeglądarek jak Firefox 3.6, Chrome 4 czy Safari 3.2, to wystarczy jedna linia kodu.

• box-shadow

Tylko jedna linia.

• gradient

Z prefiksów wciąż korzystają przeglądarki mobilne. Warto pamiętać też o fallbacku dla starszych wersji IE.

• transition

Pefiksów wymagają poprzednie wersje Safari, przeglądarki mobilne i Opera korzystająca z silnika Presto.

• transform

Potrzebny prefiks dla Webkita i pochodnych.

• animation

Prefiksów wciąż wymaga Chrome, Safari, Opera i przeglądarki mobilne oparte na Webkicie.

• calc

Wymagany prefiks tylko dla poprzednich wersji safari i przeglądarek mobilnych oraz fallback dla przeglądarek nie wspierających tej funkcji.

Podsumowanie

Mimo iż prefiksy pozostaną z nami przez pewien czas, oczywiście jeśli tylko zamierzamy wspierać starsze przeglądarki, to jest to początek ich końca. Miejmy nadzieję, iż pozbędziemy się ich szybciej niż IE6. A na razie do nowych projektów dorzućmy niezrównany prefix-free 😉

Programista (PHP/MySQL, Node.js/MongoDB), koder (HTML/CSS/JS), ale od biedy nawet layout machnie ;)

  • Gdzieś wyczytalem ze ktoś / coś porzuca prefixfree i unifikuje swoje skrypty 🙂

  • w sumie z nowszych własności CSS eksperymentalnych to zostały te najbardziej inwazyjne (flexbox, grids, regions…), więc w tym wypadku brak dostępu dla przeciętnego usera dopóki standard się nie ustali jest IMO dobry.

    co do prefix-free – zawsze mnie drażnił, bo operował na arkuszach w locie. nie dość, że zwiększało to czas renderowania strony, to jeszcze było narażone na dziwne rzeczy związane z obsługą JS. stwierdziłem, że najidealniej by było potrzebne prefiksy dodawać (lub usuwać, jeśli browsery już ich nie potrzebują) na etapie developingu. ot, jako część build toola. no i znalazłem – Autoprefixer, CSS-owy postprocesor 😉 w połączeniu z gruntem tworzy to bardzo sympatyczne rozwiązanie problemu prefiksów

    • równie dobrze można dorzuć less/sass’owe rozwiązania w przypadku takich prefiksów. 😉

      • W podlinkowanym artku jest napisane czemu postprocesor to lepszy pomysł 😉 btw linków w komentarzach widzę nie widać

Send this to a friend

webmastah.weekly
Cotygodniowa porcja linków ze świata WEBDEV BEZ spamu, TYLKO samo mięcho!
Zobacz poprzednie wydania. Dołącz do 2 tysięcy webdeveloperów!
HTML5, CSS3, JS (React, Angular, Ember, Vue), PHP, SQL