Standardy, przeglądarki, obrane banany i kot o imieniu Jan
...Czyli Historia lubi zataczać koła.
Kiedyś dawno temu, gdy po ziemi chodziło dinozaury Internetu toczyła się legendarna już wojna przeglądarek. To co mamy teraz to Pan Pikuś w porównaniu do tego co było. Po lewej stronie ringu, zasłużony w bojach, znienawidzony i bezsprzecznie mający za swymi plecami najpotężniejszego z najpotężniejszych Internet Explorer. Po drugiej stronie, Netscape. Phi. Wojna wydawała by się z aktualnego punktu widzenia z góry ustawiona – bo jak mógłby MS przegrać. A jednak było ciężko dla firmy Gatesa – do tego stopnia z IE podszywał się pod Mozille – bo tak nazywała się teoretycznie przeglądarka od Netscape’a – Netscape Navigator.
Relikwiami tego okresu – dla wielu niezrozumiałymi – jest sposób w jaki działa IE6 oraz IE7. Niestety, tylko dzięki oryginalności, oraz wprowadzeniu swoich tylko funkcji, które wyglądały superekstraśnie Microsoftowi udało się wygrać. I zapanowały mroczne dni w Internecie. Tyrania Marque, Tabel, oraz AcitveXów o filtrach nie wspominając.
Lecz oto pojawiły się małe promyki nadziei.
Mozilla Firefox oraz Opera – te dwie przeglądarki zmieniły świat na tyci lepszy. Ale hola – zatrzymajmy się tu aby skorygować parę faktów. Po pierwsze protoplasta Opery powstał przed Firefoxem i IE. Po drugie Mozilla/Netscape Navigator powstał długo przed IE i była fundamentem dla Firefoxa. Dobra, korygacja z głowy, przejdźmy do sedna.
Gdy popularne stały się nowe, alternatywne przeglądarki, zaczął się równie nowy front w interncie – standaryzacja. I o dziwo, przeglądarka która wspierała najwięcej standardów w dawnych czasach, czyli IE, nie wspierała żadnych. No prawie.
Szok.
Ot, i szybko zaczęła się wojna przeglądarkowo-standardowa. Zyskujący Firefox (oraz kilka innych) bardzo restrykcyjnie podchodziły do renderowania kodu HTML i CSS, czego znowu twór Panów z Redmond nie potrafił. Generowało to masę problemów, gdy ten sam kod wyświetlał się całkiem inaczej pod każdą przeglądarką – a najgorzej pod Eksploratorem Internetowym.
Zaczęto bojkotować, palić ludzi na stosie i dokonywać zamachów na koty pracowników Microsoftu - a IE6 w najlepsze sobie był i nie zamierzał się zmieniać. Przypominało to trochę sytuacje sprzed kilku lat (90s) gdy Netscape przegrał wojnę bo nie zmieniał przeglądarki swej praktycznie od momentu wydania a tymczasem IE co chwile wydawał nową… zaraz, czy wam się to z czymś nie kojarzy? No ale nieważne.
Wracając do sedna. Sytuacja na dziś? Firefox ma spory udział w rynku, tak sam jak Opera, Safari i Chrome. A także grono innych przeglądarek. Pojawiło się też IE7, IE8 a niedługo i IE9 i co? Czy żyjemy w lepszych czasach, czy nareszcie doszło do sytuacji gdy wszystko wyświetla się wszędzie dobrze?
G*** prawda!
Niestety/Stety pojawił się CSS3 – Coś na co szczerze mówiąc czekałem długo. Coś co jednak wkurza mnie bardziej niż sierść mego kota na czarnych ubraniach.
Przedrostki.
Nie każdy pewnie je kojarzy, więc przedstawię w skrócie problem. Większość przeglądarek internetowych nowej ery, a właściwie to silników renderujących, wprowadziło swoje własne przedrostki przed nieoficjalnymi implementacjami właściwości CSS3. Wyglądają one mniej więcej tak:
-moz-border-radius -webkit-box-shadow -o-transform
Generalnie nie byłbym taki zły gdyby nie fakt, że wróciliśmy do sytuacji sprzed kilku lat, gdy dana strona wyświetla się poprawnie jedynie na jednej słusznej przeglądarce i nie dlatego, że jest źle napisana, lub dlatego, że moja przeglądarka nie obsługuje danego znacznika. Tylko dlatego, że ktoś uznał, że jedyną słuszną przeglądarką jest Mozilla Firefox i przed wszystkie właściwości specyficzne dla CSS3 wstawił –moz- lejąc kompletnie na pozostałe. I nie wkurz się tu.
Najgorsze jest jednak to, że wśród poważnych webdeveloperów trend ten nabiera w siłę. Wraz z pojawianiem się w nowszych wersjach FF’a i Chroma coraz to nowszych implementacji kolejnych właściwości kaskadowych arkuszy stylów coraz bardziej rozmijamy się ze standaryzacją.
Ale wytłumaczmy sobie parę rzeczy.
Nie mam nic przeciwko przedrostkom, wbrew pozorom to dobra rzecz. Możemy dzięki nim zniwelować parę niedogodności i wyświetlić nowszym przeglądarkom ładniejszą stronę (starszym zostawiając kanciaste divy ;) ). Daje nam to też możliwość naprawienia specyficznych dla innych przeglądarek błędów.
Co jest więc problemem? Jak zawsze, ten element między klawiatura a krzesłem – ludź!
Buszując po necie oglądam, czytam, testuje nowe technologie i liczne pomysły. To jak niektórzy wykorzystują CSS3 oraz HTML5 jest naprawdę niesamowite… dopóki robią to poprawnie. Często zdarza się, iż twórcy tak pomysłowych stronek i tutoriali zapominają, że inne przeglądarki korzystają póki co z innego przedrostka i w praktyce przykład działa (np. border-radius) to użytkownik Opery go nie zobaczy, bo „twórca” wpisał tylko –moz-border-radius. I jak tu takiego domorosłego samozwańczego web developera nie zamordować, no jak, się pytam? Pozostaje czekać aż wszystkie przeglądarki oficjalnie zaimplementują nowego, „trzeciego styla” ale i wtedy trzeba będzie poczekać aż niektórzy się opamiętaj i pousuwają przedrostki ze swoich plików.
A póki co morał na koniec jest prosty: Jeśli stosujesz przedrostki, to na litość boską stosuj wszystkie! Będziesz miał trochę więcej pisania, ale usłyszysz na pewno mniej obelg skierowanych w swoim kierunku. ;D Czego każdemu życzę.
Zdjęcia wykorzystalem bezprawnie, bla bla bla, tylko w celach ilustracyjnych, nie do nich praw, bla bla bla. Komiksowa grafika nalęzy do O'Maleya. Dziekuje.