piątek, 16 listopada 2007

Dlaczego NIE warto stosować się do standardów sieciowych?

Jak stosowanie się do standardów sieciowych może wpłynąć na naszą witrynę? Wśród internautów kwestia ta budzi niemałe kontrowersje. Postaram się przedstawić podstawowe korzyści płynące z niestosowania się do niektórych zaleceń standaryzacyjnych.

Co to jest standaryzacja?
Traktując najogólniej tą kwestię jest to zbiór reguł opisujących składnię języka html i ujednolicających go poprzez narzucanie programiście określonych zasad podczas kodowania. Stosując się do nich powinniśmy mieć, teoretycznie, gwarancję poprawności wyświetlania naszej strony pod wszelkimi przeglądarkami. Rzeczywistość niestety weryfikuje te założenia i zmusza programistę do wysiłku podczas projektowania strony. Nasuwa się więc oczywiste pytanie – czy warto się do tych standardów stosować?

Jak działają giganci?
Projektując strony warto brać przykład z innych, obserwować trendy na rynku i stosowane technologie, tricki. Po przeanalizowaniu chociażby witryny http://www.google.pl spostrzeżemy, że nie waliduje się ona poprawnie. Mało tego – ilość błędów jest dość wysoka. Podobnie sytuacja wygląda z kolejnym gigantem rynku, Microsoftem. Ich główna witryna także usłana jest błędami z punktu widzenia standardów W3C (XHTML 1.0, XHTML 1.1, HTML 4.0, HTML 4.1, itp.). Jest klika aspektów takiego działania i takie rezultaty nie są przypadkowe – są to celowe działania programistów mające na celu, paradoksalnie, poprawić działanie tych serwisów.

Co można zyskać?
Umiejętne pomijanie niektórych standardów może przynieść webmasterowi wymierne korzyści. Pewien trick stosuje Google – programiści nie zamykają wielu tagów html. Pomysł ten wydaje się z początku absurdalny. Ma jednak uzasadnienie w praktyce – pomijanie niektórych znaczników zamykających, przy tak ogromnym serwisie jakim jest Google i przy takiej ilości linii kodu a co za tym idzie znaczników, w istotny sposób wpływa na zmniejszenie uploadu (ilości wysyłanych danych) serwera. Naddatek danych jakie serwer musi zapewnić milionom użytkowników liczy się w terabajtach, dlatego ograniczanie ruchu w tej kwestii jest bardzo istotne.

Z punktu widzenia programisty wymogi narzucane przez różne standardy sieciowe mogą często być uciążliwe, a nawet rozpraszać i odciągnąć od faktycznego problemu programistę. Oczywistym jest, że każdy koder posiada swój własny, niepowtarzalny styl programowania i do czasu aż napisana przez niego strona poprawnie działa i wyświetla się bez problemu w różnych przeglądarkach, standaryzacja może zejść na drugi plan. Oszczędności w nakładzie pracy i czasu osiągnięte w ten sposób w przypadku niektórych projektów mogą okazać się kluczowe – odchudzenie kodu może wyjść stronie tylko na dobre.

Brak walidacji nie oznacza utraty przejrzystości
Spotkałem się z teorią, że ustandaryzowany kod jest prostszy do zrozumienia. Według mnie jest to kwestia indywidualnych preferencji i zależy tylko od danego programisty, czy styl narzucany przez standardy jest dla niego przejrzysty czy też nie. Jedyną kwestią, jaką trzeba mieć na uwadze, jest poprawne wyświetlanie w podstawowych przeglądarkach i jest to aspekt bezdyskusyjny – nie możemy pozwolić na to, aby nasz sposób kodowania wpływał negatywnie na jakość strony.

Optymalizacja pod Internet Explorer
Praktyka mówi, że to właśnie z tą przeglądarką programiści mają największe problemy. Dzieje się tak dlatego, że jest ona zbudowana na relatywnie przestarzałym silniku, który, w tym momencie, odbiega już od nowoczesnych przeglądarek – Mozilla Firefox oraz Opera. O ile radzą sobie one z większością stron napisanych z mniejszą dbałością o standaryzację, to prawdopodobnie napotkamy problemy z poprawnym wyświetleniem strony pod IE. Wiąże się to z szeregiem różnych czynników, których poprawne zrozumienie wymaga dużego doświadczenia, dlatego każdy webmaster powinien poświęcić osobną uwagę na zoptymalizowanie strony pod IE. Nawet poprawna standaryzacja strony nie gwarantuje właściwego działania pod przeglądarka Microsoftu.
Niestety ta zależność często działa w obie strony, co powoduje że strony spod IE potrafią przysporzyć problemów podczas wyświetlania w nowszych przeglądarkach. Zapewne sytuacja może ulec zmianie po wprowadzeniu nowego silnika IE, jednak ciężko przewidzieć w którą stronę zwrócą się koderzy z Microsoftu.

Podsumowując, kwestia stosowania się do standardów nie jest taka oczywista. Programista kodujący zgodnie ze standardami nie jest w stanie zapewnić stronie poprawności wśród wszystkich przeglądarek. Często warto się skupić na optymalizacji aby witryna działała sprawniej, nawet kosztem braku zgodności ze standardami.

Brak komentarzy: