Blog IT, Blog Marketing

Kiedy tworzenie stron stało się tak skomplikowane

Kiedy tworzenie stron stało się tak skomplikowane

Marcin Sarna , 26.07.2021 r.

Coraz więcej technologii i wymagań, coraz mniej czasu.

Zastanawiałeś się kiedyś jak trudne jest dla webmastera tworzenie witryn WWW obecnie i jak się to ma do porównania z tym, co mieliśmy w przeszłości, którą z wielu z nas przecież pamięta?

Co ważne, nie chodzi tylko o JavaScript, to nie jest nawet takie trudne. Właściwie JS jest dość prostym językiem. Rzuć jednak okiem na całą resztę: CSS, bundlery, frameworki, node czy npm… jak doszło do tej sytuacji? Zbadajmy to na osi czasu rozwoju sieci.

Początek lat 90: narodził się Internet

  • Standardowy stos technologiczny: początki HTML (który był niezwykle prosty), hosting (dziwny wynalazek tamtych czasów)
  • Opcjonalne technologie z rodzaju cutting-edge: kompresja obrazu (kluczowa w tym momencie, a nawet znacznie później, choć niewiele osób ją opanowało)
  • Dlaczego to musiało się zmienić: wczesny HTML został stworzony do wymiany artykułów naukowych, a nie dla komercyjnych stron internetowych, które zaczęły się pojawiać. Prywatne strony internetowe naciskały na pewną interaktywność, wskazując kierunek, w którym sieć będzie miała swój pierwszy komercyjny boom.

Późne lata 90: pierwsze strony internetowe oparte na serwerze

  • Standardowy stos technologiczny: ten sam HTML (dodanie CSS zajęło dużo czasu), osadzanie skryptów CGI/Perl (głównie liczniki lub obsługa formularzy), hosting
  • Opcjonalne technologie z rodzaju cutting-edge: PHP, hosting, JS (wtedy bardzo słaby i drugorzędny język skryptowy), Flash, kompresja obrazu, skrypty CGI/Perl, aplety Java
  • Dlaczego to musiało się zmienić: komercyjne serwisy „usługowe” zaczęły generować mnóstwo pieniędzy i generować wiele wymagań, którym skrypty CGI/Perl nie były w stanie sprostać (np. dynamiczna zawartość strony). Ponadto HTML miał wiele ograniczeń dotyczących budowania układów i dobrego zarządzania interaktywnością.

html

Inżynier Java 15000 - 20000 PLN

Warszawa
Aplikuj

Frontend Developer - React

Praca zdalna
Aplikuj

Key Account Manager

Warszawa
Aplikuj

Junior HelpDesk

Zabrze
Aplikuj

Claim Invoice Agent

Katowice
Aplikuj

Wczesne lata 2000: Pełna przepustowość stron renderowanych przez serwer server

  • Standardowy stos technologiczny: HTML, PHP, Flash, trochę CSS i trochę JS dla jakiejś „magii”, hosting
  • Opcjonalne technologie z rodzaju cutting-edge: zaawansowany wczesny JS, zaawansowany CSS, koncepcje SEO (głównie metatagi HTML), skrypty Flash (ActionScript), oczyszczanie danych, aplety Java, kompresja obrazów
  • Dlaczego to musiało się zmienić: pomimo dynamicznej zawartości, interaktywność po stronie klienta w sieci nadal pozostawiała wiele do życzenia. JS był zbyt trudny dla złożonych aplikacji ze względu na duże różnice między przeglądarkami (z czym JQuery bardzo dobrze sobie później poradził) a Flash był po prostu zbyt wolny do tego (a potem dodatkowo - jak się okazało – niebezpieczny).

Do tego czasu nie istniało wyraźne rozróżnienie między backendem a frontendem i większość osób pracujących „w webie” zawodowo mogła robić obie te rzeczy. Od tego momentu to rozróżnienie zaczęło być wyraźniejsze.

Późne lata 2000: JQuery królem

  • Standardowy stos technologiczny: semantyczny HTML (w tym momencie ważny dla Google), CSS, JS z AJAX i JQuery (i znajomość niektórych dziwactw Internet Explorera), Flash, wersjonowanie (SVN lub Git)
  • Opcjonalne technologie z rodzaju cutting-edge: JQuery UI, SEO (teraz to w zasadzie odrębna dziedzina wiedzy), skrypty Flash, CDN, hosting, kompresja obrazu, znajomość większości dziwactw Internet Explorera ;-)
  • Dlaczego to musiało się zmienić: sieć szła w kierunku aplikacji jednostronicowych i chociaż JQuery na to pozwala, to sprawia też, że tworzenie jest bardzo pracochłonnym procesem, trudnym zwłaszcza w przypadku większych projektów.

Początek lat 2010: SPA i Angular

  • Standardowy stos technologiczny: semantyczny HTML, CSS, JS, Angular.js v1, CDN, GIT, CI/CD, Jasmine/Mocha
  • Opcjonalne technologie z rodzaju cutting-edge: Ember, Knockout.js, Babel.js i nowe funkcje JS, Node.js, NPM, bash (tak, tak), Bootstrap, Underscore.js, Bower.js
  • Dlaczego to musiało się zmienić: Angular.js v1 okazał się zbyt wolny. Ponadto wskutek małej popularności pakietów utrzymanie większego projektu internetowego ciągle było trudnym zadaniem.

Późne lata 2010 (do teraz): React przejmuje koronę

  • Standardowy stos technologiczny: semantyczny HTML, CSS z SASS, JS z nowszą składnią (ECMAScript201X), React (lub Vue.js/Angular.js), Redux (lub VueX), NPM, Webpack (podstawowy), GIT, CI /CD, Enzyme (wcześniej) i React Testing Library (obecnie).
  • Opcjonalne technologie z rodzaju cutting-edge: TypeScript (prawie staje się standardem), CSS-in-JS, Tailwind, Bootstrap, Node.js, zaawansowany Webpack lub inne bundlery (Parcel, Rollup, Snowpack), nowe funkcje Babel.js i JS, Cypress/Puppeteer lub inne narzędzia testowe E2E, Next.js.

Wyliczanka spora, prawda? „Takie czasy”, że obecnie webmasterzy sięgają nawet po Pythona.

Najnowsze oferty pracy:

Polecane wpisy na blogu IT:

Szukasz pracownika IT?

Dostarczymy Ci najlepszych specjalistów z branży IT. Wyślij zapytanie

Wyrażam zgodę TeamQuest Sp. z o.o. na przetwarzanie moich danych osobowych w celu marketingu produktów i usług własnych TeamQuest, w tym na kontaktowanie się ze mną w formie połączenia telefonicznego lub środkami elektronicznymi.
Administratorem podanych przez Ciebie danych osobowych jest TeamQuest Sp. z o.o., z siedzibą w Warszawie (00-814), ul. Miedziana 3a/21, zwana dalej „Administratorem".
Jeśli masz jakiekolwiek pytania odnośnie przetwarzania przez nas Twoich danych, skontaktuj się z naszym Inspektorem Ochrony Danych (IOD). Do Twojej dyspozycji jest pod adresem e-mail: office@teamquest.pl.
W jakim celu i na jakiej podstawie będziemy wykorzystywać Twoje dane? Dowiedz się więcej