HTML5, CSS3... i Vendor Prefixes - tak, niestety te ostatnie nadal żyją i mają się dobrze

Narzędzia

Jednym ze stałych problemów o których chcieliśmy napomnieć w tym wpisie są tzw. Vendor Prefixes. Temat stary niemalże jak webmastering, aczkolwiek niestety mimo upływającego czasu nadal stosuje się prefiksy dla niektórych reguł w CSS dla danych silników przeglądarek. Autoprefixer CSS jest słusznym rozwiązaniem wg obecnych standardów.


Język CSS - Kaskadowe Arkusze Styli to element niezbędny przy współczesnym tworzeniu interfejsów użytkownika zarówno stron www, jak i aplikacji mobilnych o charakterze hybrydowym, ale również wszelakich rozwiązań dedykowanych korzystających z silników takich jak Webkit, czy zapowiadany przez Microsoft na I kwartał 2016 - otwarcie silnika Chakra na githubie na licencji MIT.

CSS Level 3 (w wersji trzeciej) daje dziś naprawdę szerokie możliwości stylowania, ale też tworzenia interakcji czy animacji, zaznaczmy tutaj - mimo iż język ten nadal zachowuje swoją pierwotną formę, czyli jest listą dyrektyw. CSS uzyskał pewne subtelne kompetencje wcześniej wykonalne jedynie za pomocą języka JavaScript, jest to niewątpliwa zaleta. Jego iteracyjny rozwój z wersji na wersję wprowadzał dużo świeżego powiewu dla webmasterów, ale jak to także bywa z postępem drobne komplikacje szczególnie z kompatybilnością wsteczną przeglądarek. Ale w tej sprawie umówmy się, to nie jest problemem samego języka, ale jego interpreterów czy rendererów, a więc spójnej polityki twórców tych narzędzi (czytaj korporacji) w stosunku do standardów webowych. Aktualnie problemy nieco zredukował monopol przeglądarki Google Chrome na rynku, ale niestety musi upłynąć jeszcze nieco przysłowiowej wody, aby całkowicie pozbyć się dodatkowej pracy podczas dostosowania swojego produktu dla najszerszego jak to możliwe grona odbiorców o ile to w ogóle będzie kiedykolwiek możliwe.

Jednym ze stałych problemów o których chcieliśmy napomnieć w tym wpisie są tzw. Vendor Prefix. Temat stary niemalże jak webmastering, aczkolwiek niestety mimo upływającego czasu nadal stosuje się prefiksy dla niektórych reguł w CSS dla danych silników przeglądarek. Jest to spowodowane różnorodnym planem wydawniczym przeglądarek, brakiem spójnej interpretacji standardów, a czasami po prostu eksperymentowaniem z nowymi funkcjami - jednym zdaniem "brakiem normalizacji" standardów. Tak naprawdę to temat na dłuższy artykuł i napisano już tak ich wiele, że nie będziemy powielać kwestii. Co więcej kod pisany przykładowo 2 lata temu zawiera prefiksy producenckie które są już nieaktualne np. często -o, -khtml w różnych wariacjach.

Bardzo dobrym rozwiązaniem (i na czasie) jest wykorzystanie narzędzia zwanego Autoprefixer CSS online. Jest to drobne ale niezwykle praktyczne narzędzie online, które wykorzystuje plugin o tej samej nazwie z zestawu narzędzi zwanego PostCSS w celu usunięcia przestarzałych oraz dodania aktualnych prefiksów do reguł wg tabeli z Can I Use. O ile jesteśmy sceptyczni wobec wymyślania jak sami twórcy projektu PostCSS to nazywają CSS'a na nowo wg koncepcji parsowania go za pomocą n-tej liczby pluginów oraz dodatkowych frameworków, o tyle narzędzia które przede wszystkim przyspieszą i uproszczą proces pracy nad produktem finalnym są jak najbardziej pożądane. Podejście PostCSS jest dla nas klasycznym przypadkiem idei robienia z rzeczy które w założeniu były i mają być proste, rzeczy skomplikowanych i trudnych w utrzymaniu - a to zawsze buduje tzw. dług techniczny. Profesjonalne podejście każde zdecydowanie tego unikać. Oczywiście wszystko zależy od skali, ale nie oszukujmy się 99% projektów w sieci nie przekracza nieskompresowanego 3k linii kodu css Wielu webmasterów sceptycznie w tych przypadkach podchodzi do SASS czy LESS (użycie 5 zmiennych kolorów nie jest argumentem za ;), a co dopiero co PostCSS.

Opublikowano Grudzień 2015