Programování

10 důvodů, proč se prohlížeč stává univerzálním operačním systémem

Před několika lety v internetovém čase (aka 1995) se Brendan Eich, Marc Andreessen a zbytek Netscape podívali na World Wide Web a viděli řídce označený svět statických dokumentů - výpočetní poušť, kde programátorské semeno nemohlo najít žádné nákup.

Měli jinou vizi: pixely uvnitř obdélníku prohlížeče byly živé jako jakékoli uživatelské rozhraní. Chtěli přidat trochu Turingova úplnou vypočítatelnost, aby programátoři mohli stránky přeskočit. Odpovědí byl JavaScript.

[Kolik toho víte o lingua franca z webu? Zjistěte v testu IQ JavaScriptu. | Pracujte chytřeji, ne tvrději - stáhněte si Průvodce pro přežití vývojářů od, kde najdete všechny tipy a trendy, které programátoři potřebují vědět. | Zůstaňte v kontaktu s nejnovějšími novinkami pro vývojáře pomocí bulletinu Developer World. ]

Na začátku macho C programátoři hleděli na jejich vytvoření a smáli se. Vtipkovali o JavaScriptu jako o hračce pro děti ze základních škol, aby vyskočily výstražné schránky. Eich však viděl způsob, jak programátoři mohli získávat informace z celého webu. Brzy to přišlo ve formě XMLHttpRequest.

O třináct let později a asi osm let od doby, kdy byla celá hra přejmenována na „AJAX“, se kdysi dětský jazyk pro děti rychle stává dominantním jazykem téměř pro všechno. Kombinace HTML, CSS a JavaScriptu podporuje servery, stolní počítače a notebooky. Je to v podstatě standardní platforma, nový operační systém.

Technicky prohlížeč nenabízí to, co jsme od tradičního OS očekávali. Puristé si stěžují: Tráví tým prohlížečů nějaký čas starosti s drsnou spleťou ovladačů zařízení? Udržuje prohlížeč systém souborů čistý a nepoškozený? Žongluje prohlížeč s více vlákny různých priorit a pomáhá jim sdílet stejná jádra procesoru způsobem, který lze považovat za spravedlivý? Kluci z OS se na Chrome jednou podívají a smějí se, protože tento prohlížeč jen propíchne, rozdělí se na každou webovou stránku do jiného procesu a nechá vrstvu OS dělat práci.

Navzdory těmto velmi oprávněným námitkám géniů z OS je prohlížeč dominantní vrstvou, tou, která je spojením softwaru, jedinou ústřednou, kde leží veškerá moc. Z operačního systému potřebuje obdélník k vykreslení webové stránky, trochu úložného prostoru a kanál TCP / IP. Dělá vše ostatní cross-platformovým způsobem, který je, když se vezme v úvahu, relativně bez chyb a dalších problémů.

Na oplátku prohlížeč zbavuje operační systém toho, že dělá mnoho, s výjimkou poskytování těchto několika informačních kanálů. Uživatel počítače očekává, že bude moci vložit jakékoli staré zařízení a nechat jej pracovat s jakoukoli starou sbírkou zařízení - velmi vzácný výskyt. Uživatel prohlížeče chce, aby pole pro zadání adresy URL a způsob odesílání kliknutí do vrstvy JavaScriptu. Vytváření zařízení pouze pro prohlížeč je stále snazší. Heck, Mozilla, velmi malá skupina lidí, se ukázala jako Firefox OS s malým zlomkem inženýrů pracujících v Apple, Google nebo BlackBerry.

A programátoři sledují uživatele v prohlížeči, aby poskytovali funkce na hlavním místě, které uživatelé očekávají, že v dnešní době najdou. Tady je 10 důvodů, proč je nyní prohlížeč králem.

Prohlížeč jako hlavní důvod OS č. 1: Vzestup obrovských a bohatých webových aplikací

Někde v linii se webová stránka změnila na plnou aplikaci. Nejlepší způsob, jak to pocítit, je pokusit se spustit něco jako Gmail s čistou mezipamětí a bolestivě pomalým připojením k internetu. Program je dostatečně velký na to, aby stahování všech kousků JavaScriptu trvalo příliš dlouho. V průměrném stahování může být téměř 100 souborů. Google si vědomě uvědomuje, že Gmail může být pro tyto příležitosti příliš velký, a proto nabízí základní verzi HTML, která je mnohem menší.

Gmail je jedním z příkladů tisíců velkých programů, které pravidelně běží v našich prohlížečích. Mnozí nám dovolí udělat lví podíl úkolů, jakmile budou ponechány nativním aplikacím. K dispozici jsou integrovaná vývojová prostředí (Codio, Cloud 9 a další), balíčky pro úpravy obrázků (mimo jiné AIE) a spousta her HTML5 (viz níže). Prohlížeč se neomezuje pouze na statické dokumenty a vyplňování formulářů.

Kdysi dávno lidé poukazovali na standardní aplikace pro čtení pošty nebo úpravy fotografií a říkali: „Může to váš prohlížeč udělat?“ Nyní je odpověď ano.

Prohlížeč jako hlavní důvod OS č. 2: Snadná rozšiřitelnost pomocí zásuvných modulů

Všechny hlavní prohlížeče mají vlastní architekturu zásuvných modulů. Pokud chcete s prohlížečem udělat něco chytrého, vrstva modulu plug-in je připravena přijmout váš kód. Napíšete nějaký kód v JavaScriptu a prohlížeč ho přidá jako funkci. Můžete přidat nové rutiny pro vyčištění rozložení nebo unést určité cenné informace, jako jsou citace vašeho příspěvku. Vrstva zásuvných modulů pro prohlížeče otevírá vnitřek manipulaci, a to čistším a bezpečnějším způsobem, než jakého lze dosáhnout u tradičních operačních systémů.

Prohlížeč jako konečný důvod OS č. 3: Jeho open source základ

Do fráze „open source“ je načteno mnoho různých významů a prohlížeč ilustruje jeden z nejvlivnějších. Jazyky webu byly vždy snadno srozumitelné - přinejmenším ve srovnání s nativními binárními kódy - a když první vývojáři zahrnuli možnost „zobrazit zdroj“, usnadnili programátorům vzájemné učení.

Otevřenost podporuje inovace a to je jeden z největších důvodů, proč jsme viděli, jak se vrstva prohlížeče zvětšuje tolika chytrými doplňky. Vytváření softwaru pro vrstvu prohlížeče je snazší, což podporuje další práci. Tempo inovací je oslepující, protože dobré nápady se rychle emulují a zlepšují. Každý se může učit z práce všech ostatních a pak každého na oplátku učit. Tato funkce sama o sobě vytvořila tolik programátorů, že by ji měly považovat za národní poklad ty výbory ve Washingtonu, které vždy bojují za vytvoření více studentů STEM.

Prohlížeč jako hlavní důvod OS č. 4: Metaprogramování

Otevřenost neznamená pouze to, že zdrojový kód je k dispozici ostatním ke kopírování, revizi a rozšíření - platí také pro data v prohlížeči právě teď. Některé softwarové balíčky, jako je Greasemonkey, umožňují psát software, který běží nad softwarem běžícím na webové stránce. Greasemonkey může zasáhnout přímo do kódu webové stránky a změnit velikost prvku, změnit proměnnou nebo přepsat samotný text. Je to jako open source kódování v reálném čase.

Vyskytly se pokusy nabídnout tento druh funkce klasickým operačním systémům, ale skriptovací systémy nikdy neměly v prohlížeči podobný přístup jako Greasemonkey. I ty nejsofistikovanější skriptovací nástroje, jako je AppleScript, přistupují ke kódu pouze prostřednictvím rozhraní API. Puristům se nemusí líbit, když si někdo pohrává s jejich proměnnými, ale nebaví se tolik. Proto jsou v prohlížečích k dispozici některé z nejchytřejších nástrojů.

Prohlížeč jako konečný důvod OS č. 5: Multiplatformní jednoduchost a proměnlivost

Mobilní zařízení jsou dodávána s prohlížeči. Chladničky jsou vybaveny prohlížeči. Mohou být mobilní chladničky s prohlížeči pozadu? Proč ne? Každý chce na svých strojích dát HTML, JavaScript a CSS na starosti obdélník, protože je snadné se přizpůsobit. Je vaše obrazovka krátká a široká nebo je vysoká a tenká? Nezáleží na tom, protože HTML proudí do prostoru, který je dán. Rozváděcí modul poháněný CSS na to přijde.

Existují lidé, kteří zcela správně poukazují na to, že ne každá webová stránka vypadá dobře na lichých obrazovkách. Některé webové stránky vypadají, jako by je zasáhlo auto, když se dívají na vysokou, tenkou mobilní obrazovku. Prvky jsou rozptýleny všude a nic se neshoduje. Se styly float se něco pokazilo.

Tyto problémy slábnou, když se weboví designéři učí, jak plánovat dopředu na širší škálu příležitostí založených na prohlížeči, které se objevují. Učí se být flexibilní a elegantní, aby obsah mohl snadno proudit bez ohledu na zařízení, na kterém se objeví.

Prohlížeč jako konečný důvod OS č. 6: Čistá abstrakční vrstva

Open source základna webu podporuje rychlý vývoj osvědčených postupů pro design. Stále existují některé oblasti technologického světa - řekněme Apple - kde několik designérů trvá na tom, aby vše bylo provedeno jejich způsobem pomocí jejich nativního rámce. Ale přes veškerý úspěch společnosti Apple, který má kontrolu nad Vaderovou úrovní, nemůže web porazit. Každá inovace vytvořená pro iOS je rychle napodobena a zavedena do hlavních rámců, které dominují světu HTML5.

Demokratický populismus prohlížeče umožňuje, aby ty nejlepší nápady probublávaly, jak každý neustále experimentuje. To je z velké části způsobeno HTML a CSS, které se vyvinuly do jasné abstrakční vrstvy, která odděluje obavy a usnadňuje spolupráci všem. Návrháři a programátoři mohou cílit na svou konkrétní vrstvu a pokud je to možné, přinést předem navržené knihovny a rámce, aby využili práci ostatních návrhářů a programátorů v jejich vlastním kódu.

Prohlížeč jako konečný důvod OS č. 7: Lepší modely sdílení knihoven

Knihovny byly vždy jedním z největších zdrojů bolesti hlavy pro programátory. Jedna aplikace v počítači chce používat knihovnu verze 3.4.666 a druhá chce verzi 3.4.667, ale operační systém může najít pouze nesprávnou. Když se věci neshodují, někteří to nazývají „bitrot“ a jiní „chyby verzí“. Ať tak či onak, každý prohraje.

Svět prohlížečů nabízí lepší způsob distribuce knihoven. Mnoho webových stránek odkazuje na několik centralizovaných kopií populárních knihoven, jako je jQuery nebo Dojo. Místo použití své vlastní verze hostované na webu odkazují na centrální verzi nabízenou jednou ze společností poskytujících webovou infrastrukturu, jako je Yahoo. Je pravděpodobnější, že je zachytí mezipaměť, čímž se ušetří další webové stránce čas stažení této verze knihovny.

Tyto centralizované verze jsou úhledně očíslovány. Pokud dvě webové stránky používají verzi 1.9.1 jQuery, pak mezipaměť udělá svou práci. Pokud jeden přepne na novější verzi, budou fungovat oba. Mezipaměť nemusí ušetřit mnoho času, dokud nezačnou znovu používat stejnou verzi, ale přepínač funguje bez problémů.

Přístup není dokonalý. Pokud jsou centrální kopie poškozeny nebo infikovány malwarem, může být ohrožen každý web, který je používá. Ale kdy se to stalo naposledy? Přechod na místní verzi knihoven, nejjednodušší oprava, by nebyl těžký.

Prohlížeč jako hlavní důvod OS č. 8: Plodné a konkurenceschopné tržiště

Kdysi tu byla jen Netscape. Pak dominoval Internet Explorer. Nyní se zdá, že každý má prohlížeč, který soutěží. Chrome, Firefox, IE, Safari a Opera jsou jen začátek. Existují desítky dalších menších prohlížečů s vlastními oddanými. Mobilní platforma má ještě více.

Všichni soutěží o podíl očí. Nejlepší vyhrává, ale pouze do dalšího cyklu upgradu. Pak soutěž začíná znovu.

Tato bitva plodí kvalitu. Nejlepší prohlížeče s nejužitečnějšími funkcemi vzkvétají, zatímco příležitostné hacky zmizí. Ve světě se to ne vždy děje, ale když se to stane, je to skvělé pro spotřebitele. Když je to dobré pro spotřebitele, ukazuje to sílu vrstvy prohlížeče.

Prohlížeč jako hlavní důvod OS č. 9: SVG, plátno, vektorová grafika, skvělé uživatelské rozhraní

Rané webové stránky mohly být mírně nudné, ale to bylo předtím, než chytří programátoři přišli na to, jak animovat vlastnosti CSS DIV nebo SPAN. Nyní obdélníky a slova uvnitř mohou otáčet, otáčet se, otáčet se, mizet, mrkat a dokonce - zabíjet myšlenku - jen tam sedět.

Pokud to nestačí, nejlepší nové prohlížeče jsou úzce integrovány s grafickými kartami a programátorům JavaScriptu nabízejí téměř všechny funkce. I když herní designéři stále potřebují nativní kód, aby stáhli některé extrémní triky, které tlačí grafické karty k roztavení, téměř každá z jejich softwarových funkcí je v nějaké formě k dispozici programátorovi JavaScriptu. Animovaný SVG, objekt plátna a některá videa dokážou téměř cokoli. Existuje dokonce i 3D vrstva zvaná WebGL, která zpracovává trojrozměrné vykreslování. Prohlížeč nikdy nebude schopen konkurovat konzolím nebo nativním hrám, ale udělá dobrou práci, když grafika nebude příliš komplikovaná. To je více než dost pro skvělé hry.

To vše znamená, že vytváření uživatelského rozhraní pro webovou stránku je nyní mnohem jednodušší než vytváření rozhraní pro základní aplikaci. Návrháři mohou pracovat s HTML, JavaScriptem a CSS, třemi jednoduchými jazyky, které jsou mnohem jednodušší než Java, C ++ nebo Objective-C používané pro nativní aplikace. Snadnější programování opět přitahuje více programátorů, kteří vytvářejí více kódu a díky nim dominuje platforma.

Prohlížeč jako konečný důvod OS č. 10: Node.js

Snad konečný důkaz úspěchu prohlížeče jako platformy lze najít v Node.js, architektuře na straně serveru, která umožňuje programátorům prohlížeče ponořeným do JavaScriptu a uzávěry psát pokyny pro server bez učení PHP nebo Java.

Balíček nabízí úžasný výkon pro některé úlohy jednoduše tím, že odhodí závitový model běžný v minulých generacích. Místo toho přijímá funkci zpětného volání, jeden z idiomů programování prohlížeče, aby si s prací poradil. Ve správných rukou mohou programátoři obejít nebezpečí a vytvořit čistý mechanismus, který rychle a efektivně uloží informace ze serveru.

Pro svět JavaScriptu je to trochu vítězství, protože mnozí se ušklíbli nad komplikovaným zavíráním a zpětnými voláními programování prohlížeče a prohlíželi si je jako spletité a příliš vnořené. Přesto, když jsou výsledky rychlé, lidé přijímají více. Rychlost a šetrnost mají způsob, jak zvítězit nad konvertity.

$config[zx-auto] not found$config[zx-overlay] not found