Statyczne czy dynamiczne strony internetowe
Czy statyczne strony internetowe to relikt przeszłości?
W 1991 roku w instytucie CERN powstał projekt World Wide Web. Tim Berners-Lee stworzył pierwszą stronę internetową jako wewnętrzny projekt instytutu, służący zbieraniu i wymianie informacji pomiędzy naukowcami.
Pierwsza strona nadal dostępna na serwerach CERN trochę jako żywy pomnik to Hypertext czyli tekst z hyperlinkami do kolejnych stron z tekstem.
Hypertext opisany HyperText Markup Language, czyli HTML’em był typowo statyczny. Powoli pojawiły się obrazki, kolorki (CSS) i coraz to więcej treści.
Statyczny tekst to za mało. Potentat ówczesnego czasu rynku przeglądarek internetowych, Netscape, poszukiwał metod zwiększenia interaktywności dostępnej dla odbiorców. Netscape postawił kilka wymagań co do języka, który mógłby być dodany do HTML’a. W odpowiedzi na wymagania i potrzeby Brendan Eich stworzył język, dodający interaktywności do hypertekstu, znany jako JavaScript.
Statyczne strony to właśnie te trzy elementy. HTML, CSS, JavaScript.
Statyczne strony prezentują użytkownikowi treść, która zapisana jest na serwerze. Każdy użytkownik widzi dokładnie tą samą treść.
Strony dynamiczne natomiast są generowane przez Web Aplikacje, czyli aplikacje w architekturze klient-serwer. Przeglądarka wysyła żądanie (request), w odpowiedzi, na które serwer generuje stronę gotową do wyświetlenia i wysyła ją do przeglądarki. Aplikacja może generować różne strony w zależności od ustawień, zmiennych, logiki, wymagań… Każdy użytkownik może widzieć zawartość skonstruowaną specyficznie dla niego.
Przywykliśmy do dużych aplikacji webowych np. email, facebook i tysiące innych, serwujących zawartość dostosowaną do użytkownika. Spersonalizowana zawartość, dostęp do danych specyficznych dla danego użytkownika jak banki, rachunki. Zawartość wymagająca zaawansowanych algorytmów, przetwarzania dużej ilości danych, lub przechowywania dużej ilości danych np sklepy internetowe. Dużo tego.
Ale jest też dużo miejsc gdzie liczy się treść.
Jak blogi. Stąd coraz większą popularnością cieszy się np: GitHub Pages.
I w taki właśnie sposób wracamy do korzeni. Liczy się treść, liczy się zawartość. Niewielka interaktywność jest wybaczalna, liczy się prostota i szybkość tworzenia treści.
Ale jest jeszcze drugi kierunek dla statycznych stron - więcej przetwarzania po stronie klienta, po stronie przeglądarki. Takie przemieszczenie odpowiedzialności dzieje się już od dawna dzięki JavaScript.
Teraz wchodzimy w nowy etap dzięki WebAssembly, ale to temat sam w sobie :)
Przywykliśmy do dużych aplikacji webowych np. email, facebook i tysiące innych, serwujących zawartość dostosowaną do użytkownika. Spersonalizowana zawartość, dostęp do danych specyficznych dla danego użytkownika jak banki, rachunki. Zawartość wymagająca zaawansowanych algorytmów, przetwarzania dużej ilości danych, lub przechowywania dużej ilości danych np sklepy internetowe. Dużo tego.
Ale jest też dużo miejsc gdzie liczy się treść.
Jak blogi. Stąd coraz większą popularnością cieszy się np: GitHub Pages.
I w taki właśnie sposób wracamy do korzeni. Liczy się treść, liczy się zawartość. Niewielka interaktywność jest wybaczalna, liczy się prostota i szybkość tworzenia treści.
Ale jest jeszcze drugi kierunek dla statycznych stron - więcej przetwarzania po stronie klienta, po stronie przeglądarki. Takie przemieszczenie odpowiedzialności dzieje się już od dawna dzięki JavaScript.
Teraz wchodzimy w nowy etap dzięki WebAssembly, ale to temat sam w sobie :)
Małe porównanie statyczne <==> dynamiczne
Statyczne
|
Dynamiczne
|
HTML + CSS + JS
|
Język używany na serwerze np. C#, Node
|
Przechowywane na serwerze,
NIE generowane na serwerze
|
Serwer zwraca dynamicznie
wygenerowaną stronę HTML |
Zawartość strony MOŻE się zmieniać dzięki JavaScrip
|
Serwer nie ingeruje w wygenerowaną stronę,
Serwer odpowiada na kolejne żądania
Zawartość strony może zmieniać się dalej po stronie przeglądarki dzięki JavaScrip
|
Statyczne strony mogą się zmieniać,
jednak każda zmiana następuje po stronie przeglądarki, po stronie klienta i użytkownika.
Strony statyczne nie są pregenerowane
w trakcie developmentu |
Dynamiczne strony również są HTMLem,
Jednak HTML jest generowany dynamicznie
przy każdym żądaniu do serwera
|
Renderowanie strony odbywa się w przeglądarce po stronie klienta
Duża interaktywność strony,
Ściąganie danych może być czasochłonne
|
Generowanie strony odbywa się na serwerze i może być skomplikowane
|
Statyczny serwer, który tylko udostępnia dane będzie wystarczający
Łatwy deployment i utrzymanie zawartości
|
Serwer może być bardziej skomplikowany
i może być bardziej kosztowny
Duże skomplikowanie procesów wytwórczych ;)
|
Komentarze
Prześlij komentarz