Programowania WWW jest oprogramowaniem , które umożliwia edycję stron internetowych . Pozwala na tworzenie aplikacji przeznaczonych do wdrożenia w Internecie lub Intranecie . Te aplikacje internetowe składają się ze stron internetowych, które mogą przybierać różne formy, takie jak:
Dla użytkownika Internetu , który korzysta z URL , odpowiedniej strony internetowej, dynamiczne lub statyczne, składa się z „po stronie klienta” kodu ( HTML , CSS , JavaScript , itp), który jest interpretowany przez jego przeglądarce ( Google Chrome , Firefox ,. ..) tworzenie interfejsu użytkownika . Ten kod, który jest zwracany przez serwer sieciowy , może, ale nie musi, zostać wygenerowany przez obliczenia „po stronie serwera” za pośrednictwem określonych języków programowania, które mogą wywoływać bazy danych , interfejsy API itp.
Istnieją różne technologie i różne języki umożliwiające budowanie stron internetowych za pośrednictwem serwerów WWW , które można zatem sklasyfikować według dwóch zasad: języki programowania po stronie klienta lub po stronie serwera . To rozróżnienie ma na celu oddzielenie języków „po stronie serwera”, których kod jest wykonywany na serwerze sieciowym przed dotarciem do przeglądarki użytkownika, od języków „po stronie klienta”, których wykonanie nie wymaga obliczeń w sieci. Serwer sieciowy, ale , dopiero po pobraniu strony, interpretacja przez przeglądarkę użytkownika.
Kiedy odwiedzający żąda strony, wpisując adres lub URL , serwer sieciowy odsyła treść żądanej strony, najczęściej w formacie HTML , Javascript lub XML .
Wtedy to przeglądarka internetowa interpretuje zwróconą treść, niezależnie od tego, czy używa wtyczek, które interpretują określone obiekty.
Programowanie „po stronie klienta” (lub tworzenie stron internetowych typu front-end ) polega na tworzeniu kodu (HTML, CSS , Javascript, ...), który będzie interpretowany przez przeglądarkę internetową (lub okno, w przypadku oprogramowania komputerowego lub aplikacji mobilnych) oraz stworzy wizualizację: interfejs użytkownika ( UI ) i pewne elementy, które umożliwią nawigację, linki, z innymi stronami ( UX ).
Każda strona internetowa zawiera podstawy języka HTML lub XHTML . Jest to język znaczników, który zasadniczo definiuje strukturę strony internetowej (tytuły, tabele, akapity, listy itp.).
Początkowo jest to język umożliwiający tworzenie hiperłączy , czyli odnośników z jednego dokumentu do drugiego lub z jednego miejsca w dokumencie do innego miejsca w tym samym dokumencie ( identyfikator fragmentu ).
Język ten początkowo tylko definiował strukturę strony, ale bardzo szybko dodano beacony (lub tagi ) , które zadbały o określenie cech strony internetowej (hierarchia treści, atrybuty nadawane tagom itp.).
Od wersji 4 HTMLowi towarzyszy CSS, czyli style zajmujące się formatowaniem i animacją strony.
XHTML to ewolucja języka HTML opartego na XML .
Wstawianie obiektów w HTMLAby strona internetowa była bardziej dynamiczna w HTML, możliwe jest wstawianie obiektów, na przykład przy użyciu tagów <object>, <img>, <applet> lub <script>.
KinoPierwszym typem obiektów są obrazy, które są zintegrowane ze stroną internetową. Obrazy są zazwyczaj statyczne, z wyjątkiem animowanych gifów .
Ruchliwość O ile ograniczamy się do standardowych formatów plików internetowych (.gif, .jpg lub .Jpeg i. Png ), obrazy są niewątpliwie jednymi z najbardziej multiplatformowych obiektów w sieci: większość przeglądarek internetowych może wyświetlać obrazy. Konfigurowanie Obrazy cyfrowe stają się bardzo „ogólnodostępnym” medium i można je dość łatwo wdrożyć w witrynie internetowej za pomocą tagu img. MultimediaIntegracja dokumentów multimedialnych ( dźwięk lub wideo ).
Konfigurowanie Po utworzeniu pliku dźwiękowego lub wideo umieszczenie na stronie HTML można wykonać w HTML5 za pomocą tagów <audio> lub <video>. Występ Pliki multimedialne są często ciężkie i dlatego ich pobieranie zajmuje dużo czasu. Mogą zmniejszyć wydajność (czas ładowania) strony internetowej. Istnieją jednak technologie umożliwiające odtwarzanie strumieniowe . Do początku 2010 rokuAnimacja Flash
Flash (firmy Adobe Systems - Macromedia ) to program umożliwiający tworzenie animacji w stosunkowo lekkim, zastrzeżonym formacie wektorowym . Program generuje plik z rozszerzeniem .fla, który jest plikiem roboczym i który zostanie „wkompilowany” do pliku z rozszerzeniem .swf. Swift to kolejny program, który generuje pliki swf poza sferą Macromedii .
Na stronie internetowej animację Flash (plik z rozszerzeniem .swf) można zintegrować jako część strony (reklama, menu, ...) lub całą stronę można we flashu, ale zawsze będzie istniał szkielet HTML .
Flash pozwala na tworzenie wysokiej jakości animacji, pozwala na pewną interakcję z użytkownikiem dzięki językowi programowania ActionScript (pochodzącemu z ECMAScript jak JavaScript ). Najnowsze wersje Flasha pozwalają także na połączenie z bazą danych.
Adobe Flash Player zostanie oficjalnie wycofany za grudzień 2020, a także obsługę w przeglądarkach internetowych.
Aplet Java (aplet)
Możliwe jest również tworzenie małych programów z interfejsem w języku programowania, takim jak Java . Te małe programy nazywane są apletami lub apletami . Są całkowicie autonomiczne, ale możliwe do skonfigurowania i mogą być zintegrowane ze stroną internetową. Są one pobierane wraz ze stroną internetową i wykonywane przez komputer kliencki.
Kod jest niezależny od platformy dzięki wirtualnej maszynie Java .
ActiveX
ActiveX to rozwiązanie do tworzenia aplikacji opracowane przez firmę Microsoft . Zasady działania są bardzo podobne do działania apletów. Zobacz także Component Object Model
Ograniczenia HTMLStrona internetowa utworzona w HTML jest całkowicie statyczna i oferuje niewielkie możliwości interakcji z odwiedzającym. Każda strona musi być wcześniej utworzona i musi być aktualizowana ręcznie.
HTML działa na wielu platformach. Wszystkie przeglądarki internetowe rozpoznają podstawowy język HTML, tylko niektóre tagi lub atrybuty są specyficzne dla niektórych przeglądarek. CSS, nawet jeśli są standaryzowane przez W3C , nie zawsze są rozpoznawane w ten sam sposób przez różne przeglądarki internetowe.
KonfigurowanieHTML ma tę zaletę, że jest łatwy w konfiguracji i nie wymaga bardzo zaawansowanych umiejętności technicznych. Jego strony są bardzo lekkie i szybko przetwarzane przez serwer.
XML ( rozszerzony język znaczników )Język znaczników XML może być również podstawą do strony internetowej. Plik XML będzie zawierał zawartość strony internetowej.
Ten plik można połączyć z plikiem XSL (XML Style Sheets), który sformatuje dane w pliku XML.
W większości przypadków strona internetowa nie będzie oparta na natywnym pliku XML, ale będzie dynamicznie generowana przez jeden z poniższych języków programowania.
CSS (kaskadowe arkusze stylów) to język programowania służący do formatowania strony internetowej. HTML i CSS uzupełniają się.
Programowanie po stronie klienta wykorzystuje języki skryptowe. W przeciwieństwie do języków programowania po stronie serwera, języki te nie są kompilowane. Są interpretowane przez przeglądarkę internetową odwiedzającego.
Języki skryptowe wykorzystywane są początkowo przy walidacji formularzy (pola obowiązkowe, drobne obliczenia, ...) oraz przy tworzeniu animacji w przeglądarce użytkownika (rozwijane menu, odświeżanie treści bez przeładowywania strony, …). Dziś jednak pozwalają zrobić znacznie więcej, jak tworzenie gier wideo (API Canvas), tworzenie środowisk dźwiękowych (API Web Audio), komunikację w czasie rzeczywistym (API RTC) itp.
Od połowy 2010 roku programowanie skryptowe stało się bardzo popularne w tworzeniu kompletnych aplikacji internetowych wraz z pojawieniem się platform oprogramowania i struktur open-source opartych na JavaScript , dobrze udokumentowanych i szeroko zalecanych przez społeczność programistów, takich jak Node.js program , ale także frameworki i biblioteki Vue.js (niezależne), ReactJS (Facebook) czy AngularJS (Google).
Historycznie istnieje kilka języków skryptowych:
Kiedy odwiedzający żąda (lub żąda ) załadowania adresu URL w swojej przeglądarce, wywołanie (najczęściej przez HTTP lub HTTPS ) jest wykonywane na serwerze sieciowym, na którym znajduje się odpowiednia witryna. Następnie serwer sieciowy zidentyfikuje skrypty (napisane w języku „po stronie serwera”) odpowiadające temu adresowi URL i zażąda ich wykonania. Wykonanie spowoduje wówczas, że treść HTML zostanie wysłana w odpowiedzi do gościa, czytelna dla jego przeglądarki.
Programowanie „po stronie serwera” polega więc na wytworzeniu kodu, którego wykonanie, obliczenie i odzyskanie danych zewnętrznych ( bazy danych , API itp.) Będzie skutkować treścią, która zostanie przesłana do klienta. Ta zawartość może być kodem „po stronie klienta”.
Możliwe jest skonfigurowanie serwera WWW za pomocą programu Node.js , ujawniającego adresy URL, zwłaszcza za pośrednictwem Express.js , do projektu kodu opracowanego w Javascript.
PHPPHP ( PHP: Hypertext Preprocessor ) to język skryptowy interpretowany po stronie serwera. Kod PHP jest odczytywany przez serwer i interpretowany w celu utworzenia strony HTML (lub innych typów plików, takich jak obrazy lub dokumenty PDF) za każdym razem, gdy strona jest żądana. Ten język został pierwotnie utworzony jako część oprogramowania Open Source . Wielu programistów skorzystało następnie z Open Source, aby opracować wiele gotowych do użycia modułów, które można dowolnie konfigurować.
Moduły serwerowe PHP są zaimplementowane na serwerach Apache i Unix, ale PHP można zaimplementować na innych platformach za pośrednictwem CGI.
Składnia jest stosunkowo proste, z podstawy C .
Wybitne frameworki: Symfony , Laravel
PytonDjango : szeroko stosowana platforma open source do tworzenia i wdrażania aplikacji po stronie serwera w języku Python .
RubinRuby on Rails : szeroko stosowana platforma open source do tworzenia i wdrażania aplikacji po stronie serwera w języku Ruby .
JawaMożliwe jest stworzenie serwisu WWW „po stronie serwera” w C ++, w szczególności przy użyciu na przykład frameworków takich jak Wt lub CppCMS.
Microsoft TechnologiesColdFusion to technologia dynamicznego tworzenia stron opracowana przez firmę Macromedia . Strony aplikacji to strony internetowe zawierające instrukcje programowania napisane przy użyciu zastrzeżonego języka CFML ( ColdFusion Markup Language ). CFML to prosty język oparty na tagach, których składnia jest podobna do HTML, ale jest interpretowana przez serwer.
Każdy z tych języków, aby umożliwić budowanie stron, których zawartość i dane są konstruowane dynamicznie zgodnie z wykorzystaniem użytkowników lub innymi parametrami zewnętrznymi, może odwoływać się do jednej lub kilku baz danych .
Istnieje wiele rodzajów: dBase, filePro, Firebird / InterBase, FrontBase, IBM DB2, Cloudscape, Informix, Ingres, EDBC, Enterprise Access, Mssql, MySQL , PostgreSQL , SQLite, SQLite3, SQLSRV, Sybase.
Ajax ( Asynchronous JavaScript And XML ) to technologia ze swoimi zaletami i wadami, która łączy w sobie kilka elementów:
Technologia ta umożliwia realizację asynchronicznego żądania HTTP (równolegle) od klienta do serwera WWW (wykonanie akcji, aktualizacja informacji itp.). Serwer zwraca żądany zasób, który może zawierać informacje lub kod do aktualizacji strony HTML.