Narodziny sieci — historia rozwoju sieci Web
Od jednego dokumentu na komputerze w CERN do żywych aplikacji działających w każdej kieszeni
Wstęp
Jako deweloper internetowy pracujesz z technologiami, które są młodsze niż wielu twoich kolegów. Internet, jak go znamy, zaczął się w końcu lat 1980., a jednak zawód przeszedł kilka kompletnych transformacji. Zrozumienie tej historii to nie nostalgia — wyjaśnia, dlaczego HTML, CSS i JavaScript wyglądają tak, jak wyglądają, i dlaczego je oddziela.
Propozycja na komputerze w CERN
W marcu 1989 roku Tim Berners-Lee, pracujący w ośrodku badawczym CERN w Szwajcarii, napisał notatkę zatytułowaną «Zarządzanie informacją: propozycja». Problem, który chciał rozwiązać, był ziemski: naukowcy mieli dokumenty rozproszone na wielu maszynach i nie mogli łatwo odwoływać się do pracy każdego. Jego rozwiązaniem była hipertekst — tekst z linkami, którymi można było klikać — położony na internecie, który już istniał. W 1990 roku zbudował trzy rzeczy, które wciąż są fundamentem: język opisywania stron (HTML), adres ich znalezienia (URL) i sposób ich pobrania (HTTP). Pierwsza strona internetowa poszła do sieci pod koniec 1990, a w 1991 zapraszał publicznie innych, aby dołączyli.
Tak wyglądała wczesna sieć
Pierwsze strony internetowe były dokumentami statycznymi: czysty tekst, nagłówki i linki, bez kolorów ani układu warte omówienia. Przeglądarka pobrała plik HTML i wyświetliła go takim, jaki był. Nie było CSS do stylizacji i nie było JavaScript do interakcji. Gdyby ktoś chciał zmienić coś, zmienił dokument i wrzucił go ponownie. Brzmi prymitywnie, ale to właśnie prostota sprawdziła, że sieć rozprzestrzeniała się tak szybko — wszyscy mogli nauczyć się pisać stronę w prostym edytorze tekstu.
CSS oddziela wygląd od zawartości
W miarę jak strony stawały się piękniejsze, zaczęto mieszać wygląd do HTML-a za pomocą kodów koloru i czcionki bezpośrednio w treści. Szybko stało się to bałaganem i niemożliwe do utrzymania. Rozwiązanie przyszło w 1994 r., gdy Håkon Wium Lie zaproponował CSS (Cascading Style Sheets): osobny język tylko do wyglądu. Wprowadził to jeden z najważniejszych zwyczajów zawodu — rozdzielenie struktury (HTML) od stylu (CSS) — aby można było zmienić wygląd strony bez dotykania treści. To rozdzielenie jest nadal dobrą praktyką kodowania dzisiaj.
JavaScript i wojny przeglądarek
Sieć wciąż brakowało życia: strona nie mogła reagować na użytkownika bez przetworzenia wszystko od nowa. W 1995 Brendan Eich w Netscape został poproszony o stworzenie małego języka programowania dla przeglądarki. Zbudował pierwszą wersję zaledwie w ciągu około dziesięciu dni; najpierw się zwał Mocha, potem LiveScript, i przy oficjalnym wydaniu na koniec 1995 roku stał się JavaScript. Teraz strona mogła reagować na kliknięcia, walidować formularze i zmieniać się, gdy użytkownik z niego korzystał.
Ale przyszły trudne czasy: wojny przeglądarek. Netscape i Internet Explorer Microsoftu walczyły o rynek i każdy obsługiwał HTML, CSS i JavaScript po swojemu. Strona, która działała w jednej przeglądarce, mogła być uszkodzona w drugiej, a deweloperzy marnowali ogromne ilości czasu, aby uzyskać to samo działanie w wielu miejscach. Aby uzyskać spokój, JavaScript został złożony do standardyzacji, a stał się standardem ECMA-262 w 1997 r. — ważny krok w kierunku tego, aby język zachowywał się identycznie wszędzie.
Od stron statycznych do żywych aplikacji
Następna zmiana była taka, że strona mogła pobierać nowe dane bez przeładowania całej strony. Technika — często zwana AJAX — umożliwiła budowanie sieci, która czuła się jak program zamiast dokumentu: mapy, które się przewijają, skrzynki odbiorcze, które się samodzielnie aktualizują, formularze, które odpowiadają natychmiast. Web zmienił się z wyświetlania stron na uruchamianie aplikacji. Jednocześnie standardy HTML i CSS otrzymały duży impuls, więc przeglądarki stopniowo zachowywały się bardziej podobnie i mogły więcej bez programów pomocniczych.
Frameworki, JavaScript na serwerze i nowoczesna sieć
W miarę jak aplikacje internetowe rosły, pojawiły się biblioteki i frameworki, które przejmowały ciężkie podnoszenie od dewelopera i dawały wspólne sposoby budowania interfejsów użytkownika. JavaScript również wyszedł z przeglądarki: z serwerowym JavaScriptem mogliście nagle używać tego samego języka na froncie i backu. Mobilny zmienił wszystko znowu — ponieważ użytkownicy pochodzili z małych ekranów, projekt responsywny i dostępność stały się dyscypliną podstawową, a nie luksusem. Zawód dzisiaj mówi tyle o narzędziach, kontroli wersji, bezpieczeństwa, wydajności i dostępności, co o pisaniu trzech języków rdzenia.
Oś czasu — wielkie przesunięcie w rozwoju sieci
| Okres | Co się stało |
|---|---|
| 1989 | Tim Berners-Lee proponuje World Wide Web w notatce na CERN |
| 1990 | HTML, URL i HTTP są budowane; pierwsza strona internetowa trafia w powietrze |
| Początek lat 1990. | Sieć jest otwarta dla publiczności; strony są statycznymi dokumentami |
| 1994 | Håkon Wium Lie proponuje CSS — wygląd oddzielony od zawartości |
| 1995 | Brendan Eich tworzy JavaScript w Netscape; strony stają się interaktywne |
| Druga połowa lat 90-tych XX wieku | Wojny przeglądarkowe sprawiają, że kompatybilność to koszmar |
| 1997 | JavaScript standaryzuje się jako ECMA-262 |
| 2000'erne | AJAX pozwala stronom pobierać dane bez przeładowania; powstają aplikacje internetowe |
| 2010'erne | Frameworki, JavaScript na serwerze i mobilnie sprawiają, że responsywny design jest standardem |
| Dziś | Dojrzałe rzemiosło z narzędziami, standardami, bezpieczeństwem, wydajnością i dostępnością w centrum |
Co historia uczy dewelopera sieci
Tworzenie stron internetowych przeszło od jednego dokumentu na jednym komputerze do bycia silnikiem za prawie wszystkim, co robimy online. Tempo zmian jest cechą charakterystyczną zawodu: narzędzia i frameworki przychodzą i odchodzą, ale podstawowe idee, które zostały położone na początku — oddziel treść, wygląd i zachowanie, buduj solidnie i pozwól stronie pracować dla wszystkich — przetrwały całą drogę. Gdy uczysz się zawodu dzisiaj, uczysz się zarówno stałych fundamentów, jak i przyzwyczajenia bycia na bieżąco, i historia nauczyła nas, że oba są konieczne.
“Sieć Web rozpoczęła się jako sposób na udostępnianie dokumentów badaczy. To, że stało się czymś innym, wynika z tego, że fundacja była wystarczająco prosta, aby wszyscy mogli budować dalej.”
— Opinia ekspercka na temat pochodzenia Internetu