Webové programování je programování , které umožňuje editaci z internetových stránek . Umožňuje vytváření aplikací určených k nasazení na internetu nebo v intranetu . Tyto webové aplikace se skládají z webových stránek, které mohou mít různé formy, například:
Pro uživatele Internetu , který používá URL , odpovídající webové stránky, ať už statické nebo dynamické, se skládá z „straně klienta“ kód ( HTML , CSS , JavaScript , atd), který je interpretován jeho prohlížeče ( Google Chrome , Firefox ,. ..) vytvářející uživatelské rozhraní . Tento kód, který je vrácen webovým serverem , může nebo nemusí být generován výpočtem na straně serveru prostřednictvím konkrétních programovacích jazyků, které mohou vyžadovat databáze , API atd.
Existují různé technologie a různé jazyky, které umožňují vytvářet webové stránky prostřednictvím webových serverů , které lze proto klasifikovat podle dvou principů: programovací jazyky na straně klienta nebo na straně serveru . Rozlišuje se oddělování jazyků „na straně serveru“, jejichž kód je spuštěn na webovém serveru před příjezdem do prohlížeče uživatele, od jazyků „na straně klienta“, jejichž provedení nevyžaduje výpočet na webu. ale pouze po stažení stránky, interpretace prohlížečem uživatele.
Když návštěvník požádá o stránku zadáním adresy nebo adresy URL , odešle webový server zpět obsah požadované stránky, nejčastěji v HTML , Javascript nebo XML .
Je to pak webový prohlížeč, který interpretuje vrácený obsah, pomocí či nikoli zásuvných modulů, které interpretují určité objekty.
Programování „na straně klienta“ (nebo vývoj webových aplikací na frontě ) spočívá v produkci kódu (HTML, CSS , Javascript, ...), který bude interpretován webovým prohlížečem (nebo oknem pro desktopový software nebo mobilní aplikace) a bude vytvořit vizuální vykreslení: uživatelské rozhraní ( UI ) a některé jeho prvky umožní navigaci, odkazy s jinými stránkami ( UX ).
Jakákoli webová stránka obsahuje základ jazyka HTML nebo XHTML . Jedná se o značkovací jazyk, který v zásadě definuje strukturu webové stránky (nadpisy, tabulky, odstavce, seznamy atd.).
Zpočátku se jedná o jazyk, který umožňuje vytváření hypertextových odkazů , konkrétně odkazů z jednoho dokumentu do druhého nebo z jednoho místa v dokumentu na jiné místo ve stejném dokumentu ( identifikátor fragmentu ).
Tento jazyk zpočátku definoval pouze strukturu stránky, ale velmi rychle byly přidány majáky (nebo tagy ), které se staraly o specifikaci charakteristik webové stránky (hierarchie obsahu, atributy dané tagům atd.).
Od verze 4 je HTML doprovázeno CSS, což jsou styly, které se starají o formátování a animaci stránky.
XHTML je vývoj HTML založený na XML .
Vkládání objektů do HTMLAby byla webová stránka v HTML dynamičtější, je možné vložit objekty například pomocí značek <object>, <img>, <applet> nebo <script>.
ObrázkyPrvním typem objektu jsou obrázky, které jsou integrovány do webové stránky. Obrázky jsou obecně statické, kromě animovaných gifů .
Přenosnost Pokud se omezíme na standardní formáty souborů pro web (.gif, .jpg nebo. Jpeg a. Png ), jsou obrázky nepochybně jedním z nejvíce multiplatformních objektů na webu: většina webových prohlížečů může obrázky zobrazovat. Nastavení Digitální obrázky se stávají velmi „běžným veřejným“ médiem a lze je snadno implementovat na web pomocí značky img. MultimédiaIntegrace multimediálních dokumentů ( zvukových nebo obrazových ).
Nastavení Po vytvoření zvukového nebo video souboru lze umístění na stránce HTML provést v HTML5 pomocí značek <audio> nebo <video>. Výkon Multimediální soubory jsou často těžké a jejich stahování proto trvá dlouho. Mohou snížit výkon (dobu načítání) webové stránky. Existují však technologie, které umožňují přehrávání streamování . Do začátku roku 2010Flash animace
Flash (od společnosti Adobe Systems - Macromedia ) je program, který umožňuje vytvářet animace v relativně lehkém proprietárním vektorovém formátu . Program vygeneruje soubor s příponou .fla, který je pracovním souborem a který bude „zkompilován“ do souboru s příponou .swf. Swift je další program, který generuje soubory SWF mimo sféru Macromedia .
Na webovou stránku lze jako součást stránky integrovat Flash animaci (soubor s příponou .swf) (reklama, nabídka, ...) nebo může být celá stránka ve formátu Flash, ale vždy bude existovat kostra HTML .
Flash umožňuje vytvářet kvalitní animace, umožňuje určitou interakci s uživatelem díky programovacímu jazyku ActionScript (odvozenému od ECMAScript jako JavaScript ). Nejnovější verze Flash také umožňují propojení s databází.
Adobe Flash Player bude oficiálně ukončen v prosince 2020, jakož i jeho podpora ve webových prohlížečích.
Applet Java (applet)
Je také možné vytvářet malé programy s rozhraním v programovacím jazyce, jako je Java . Tyto malé programy se nazývají applety nebo applety . Jsou zcela autonomní, ale možná konfigurovatelné a lze je integrovat do webové stránky. Stahují se s webovou stránkou a provádí je klientský počítač.
Tento kód je nezávislý na platformě díky virtuálnímu stroji Java .
ActiveX
ActiveX je řešení pro vytváření aplikací vyvinuté společností Microsoft . Pracovní principy jsou velmi podobné tomu, jak fungují applety. Viz také Komponentní objektový model
Omezení HTMLWebová stránka vytvořená v HTML je zcela statická a nabízí malou možnost interakce s návštěvníkem. Každá stránka musí být vytvořena předem a musí být ručně aktualizována.
HTML je multiplatformní. Všechny webové prohlížeče rozpoznávají základní jazyk HTML, pouze určité značky nebo atributy jsou specifické pro určité prohlížeče. CSS, i když jsou standardizovány W3C , nejsou vždy různými webovými prohlížeči rozpoznány stejným způsobem.
NastaveníVýhodou HTML je snadné nastavení a nevyžaduje velmi pokročilé technické dovednosti. Jeho stránky jsou velmi lehké a rychlé zpracování serverem.
XML ( eXtended Markup Language )Značkovací jazyk XML mohou být také základem pro webové stránky. Soubor XML bude obsahovat obsah webové stránky.
Tento soubor lze propojit se souborem XSL (XML Style Sheets), který naformátuje data v souboru XML.
Webová stránka většinou nebude založena na nativním souboru XML, ale bude dynamicky generována jedním z níže uvedených webových programovacích jazyků.
CSS (kaskádové šablony stylů) je programovací jazyk pro formátování webové stránky. HTML a CSS se doplňují.
Programování na straně klienta používá skriptovací jazyky. Na rozdíl od programovacích jazyků na straně serveru nejsou tyto jazyky kompilovány. Jsou interpretovány webovým prohlížečem návštěvníka.
Skriptové jazyky se používají zpočátku v případě ověření formuláře (povinná pole, malé výpočty, ...) a při vytváření animací v prohlížeči uživatele (rozbalovací nabídky, obnovení obsahu bez opětovného načtení stránky, …). Dnes však umožňují mnohem více, například vytváření videoher (API Canvas), vytváření zvukových prostředí (API Web Audio), komunikaci v reálném čase (API RTC) atd.
Od poloviny roku 2010 se programování skriptů stalo velmi běžným pro vývoj kompletních webových aplikací s příchodem softwarových platforem a open-source frameworků založených na JavaScriptu , dobře zdokumentovaných a široce doporučovaných vývojářskou komunitou, jako je Node.js program , ale také rámce a knihovny Vue.js (nezávislé), ReactJS (Facebook) nebo AngularJS (Google).
Existuje historicky několik skriptovacích jazyků:
Když návštěvník požaduje (nebo požaduje ) načtení adresy URL ve svém prohlížeči, provede se volání (nejčastěji prostřednictvím protokolu HTTP nebo HTTPS ) na webovém serveru, který je hostitelem odpovídající stránky. Webový server poté identifikuje skripty (napsané v jazyce „na straně serveru“) odpovídající této adrese URL a požádá o jejich provedení. Provedení bude mít za následek obsah HTML, který bude poté odeslán jako odpověď návštěvníkovi a bude čitelný jeho prohlížečem.
Programování „na straně serveru“ proto spočívá ve výrobě kódu, jehož provádění, výpočet a obnova externích dat ( databáze , API atd.) Bude mít za následek obsah, který bude odeslán klientovi. Tento obsah může být kódem „na straně klienta“.
Je možné nastavit webový server pomocí programu Node.js a vystavit adresy URL, zejména prostřednictvím Express.js , kódovému projektu vyvinutému v Javascriptu.
PHPPHP ( PHP: Hypertext Preprocessor ) je skriptovací jazyk interpretovaný na straně serveru. Kód PHP čte server a interpretuje jej tak, aby při každé žádosti o stránku vytvořil stránku HTML (nebo jiné typy souborů, jako jsou obrázky nebo dokumenty PDF). Tento jazyk byl původně vytvořen jako součást softwaru Open Source . Mnoho vývojářů poté využilo výhody Open Source k vývoji mnoha modulů připravených k použití, které bylo možné libovolně konfigurovat.
Moduly serverů PHP jsou implementovány na serverech Apache a Unix, ale PHP lze implementovat na jiných platformách prostřednictvím CGI.
Syntaxe je relativně jednoduchý, ze základny C .
Pozoruhodné rámce: Symfony , Laravel
KrajtaDjango : Široce používaný open-source framework pro vytváření a nasazení aplikace na straně serveru v Pythonu .
RubínRuby on Rails : Široce používaný open-source framework pro vytváření a nasazení aplikace na straně serveru v Ruby .
JávaJe možné vyvinout web „na straně serveru“ v C ++, zejména s rámci jako Wt nebo CppCMS.
Microsoft TechnologiesColdFusion je technologie dynamického vytváření stránek vyvinutá společností Macromedia . Stránky aplikace jsou webové stránky obsahující programovací pokyny psané pomocí vlastního jazyka CFML ( ColdFusion Markup Language ). CFML je jednoduchý jazyk založený na značkách, jejichž syntaxe je podobná syntaxi HTML, ale interpretována serverem.
Každý z těchto jazyků, aby bylo možné vytvářet stránky, jejichž obsah a data jsou vytvářeny dynamicky podle použití uživatelů nebo jiných externích parametrů, může volat na jednu nebo více databází .
Existuje mnoho druhů: dBase, filePro, Firebird / InterBase, FrontBase, IBM DB2, Cloudscape, Informix, Ingres, EDBC, Enterprise Access, Mssql, MySQL , PostgreSQL , SQLite, SQLite3, SQLSRV, Sybase.
Ajax ( asynchronní JavaScript a XML ) je technologie se svými výhodami a nevýhodami, která kombinuje několik prvků:
Tato technologie umožňuje provádět asynchronní požadavek HTTP (paralelně) z klienta na webový server (provést akci, aktualizovat informace atd.). Server vrátí požadovaný prostředek, který může obsahovat informace nebo kód pro aktualizaci stránky HTML.