Programmering

10 grunde til, at browseren bliver det universelle operativsystem

For en bazillion år siden i internettiden (aka 1995) så Brendan Eich, Marc Andreessen og resten af ​​Netscape på World Wide Web og så en tyndt tagget verden af ​​statiske dokumenter - en beregningsørken, hvor en programmørs frø ikke kunne finde noget køb.

De havde en anden vision: pixels inde i browserens rektangel lige så levende som enhver brugergrænseflade. De ønskede at tilføje lidt Turing-komplet beregningsevne, så programmører kunne få siderne til at hoppe. JavaScript var svaret.

[Hvor meget ved du om lingua franca på nettet? Find ud af det i JavaScript IQ test. | Arbejd smartere, ikke hårdere - download Developers 'Survival Guide fra for alle de tip og trends, som programmører har brug for at vide. | Hold dig opdateret med de seneste udviklernyheder med 's Developer World-nyhedsbrev. ]

I begyndelsen stirrede macho C-programmører på deres oprettelse og lo. De spøgte om JavaScript som et legetøj til grundskolebørn for at dukke op advarselsbokse. Eich så dog en måde for programmører at hente information fra hele internettet. Snart kom det i form af XMLHttpRequest.

Tretten år senere, og omkring otte år siden hele spillet blev omdøbt til "AJAX", bliver det engang babysprog for kiddies hurtigt det dominerende sprog for næsten alt. Kombinationen af ​​HTML, CSS og JavaScript styrer servere, desktops og laptops. Det er i det væsentlige standardplatformen, det nye operativsystem.

Teknisk set tilbyder browseren ikke det, vi forventer af det traditionelle operativsystem. Purister vil klage: Bruger browserteamet nogen tid til at bekymre sig om det knasrede virvar af enhedsdrivere? Holder browseren filsystemet rent og ukorrupt? Jonglerer browseren med flere tråde med forskellige prioriteter og hjælper dem med at dele de samme processorkerner på en måde, der kan betragtes som retfærdig? OS-fyrene tager et kig på Chrome og griner, fordi den browser bare peger og deler sig i en anden proces for hver webside, så OS-laget gør arbejdet.

På trods af disse meget legitime pletter fra OS-genier er browseren det dominerende lag, den ene nexus til software, det ene tavle, hvor al magt ligger. Fra operativsystemet har det brug for et rektangel for at tegne websiden, lidt lagerplads og et TCP / IP-feed. Det gør alt andet på en platformoverskridende måde, der, når alt tages i betragtning, er relativt fri for fejl og andre problemer.

Til gengæld aflaster browseren operativsystemet for at gøre meget undtagen at levere de få informationsfeeds. En pc-bruger forventer at være i stand til at indsætte en hvilken som helst gammel enhed og få den til at fungere med enhver gammel samling af enheder - en meget sjælden begivenhed. En browserbruger ønsker et felt til at skrive en URL og en måde at sende klik til JavaScript-laget. Opbygning af en browser, der kun er browser, bliver stadig nemmere. Heck, Mozilla, en meget lille gruppe mennesker, viste sig Firefox OS med en lille brøkdel af ingeniørerne, der arbejder hos Apple, Google eller BlackBerry.

Og programmørerne følger brugerne til browseren for at levere funktionalitet i det væsentligste sted, som brugerne forventer at finde den i disse dage. Her er 10 grunde til, at browseren nu er konge.

Browser som ultimativ OS årsag nr. 1: Fremkomsten af ​​store, rige webapplikationer

Et eller andet sted langs linjen blev websiden til en komplet applikation. Den bedste måde at føle dette på er at prøve at starte noget som Gmail med en ren cache og en smertefuld langsom internetforbindelse. Programmet er stort nok til, at det tager for lang tid at downloade alle bits og stykker JavaScript. Der kan være tæt på 100 filer i den gennemsnitlige download. Google anerkender omhyggeligt, at Gmail måske er lidt for stort til disse lejligheder, så det tilbyder en grundlæggende HTML-version, der er meget mindre.

Gmail er et eksempel på de tusinder af store programmer, der regelmæssigt kører i vores browsere. Mange lad os gøre hovedparten af ​​opgaver, når de er overladt til oprindelige applikationer. Der er integrerede udviklingsmiljøer (Codio, Cloud 9 og mere), billedredigeringspakker (blandt andre AIE) og masser af HTML5-spil (se nedenfor). Browseren er ikke begrænset til statiske dokumenter og udfyldning af formularer.

For længe siden ville folk pege på standardapps til at læse mail eller redigere fotos og sige: "Kan din browser gøre det?" Nu er svaret ja.

Browser som ultimativ OS-årsag nr. 2: Nem udvidelse via plug-ins

Alle de store browsere har deres egen plug-in-arkitektur. Hvis du vil gøre noget klogt med browseren, er plug-in-laget klar til at tage din kode. Du skriver noget kode i JavaScript, og browseren tilføjer det som en funktion. Du kan tilføje nye rutiner til oprydning af layoutet eller snappe visse værdifulde oplysninger som citater til dit papir. Plug-in-laget til browserne åbner indersiden for at rode, og det gør det på en renere og sikrere måde end det, der kan opnås med traditionelle operativsystemer.

Browser som ultimativ OS-årsag nr. 3: Dens open source-fundament

Der er mange forskellige betydninger indlæst i sætningen "open source", og browseren illustrerer en af ​​de mest indflydelsesrige. Internets sprog har altid været lette at forstå - i det mindste sammenlignet med oprindelige binære koder - og da de tidlige udviklere inkluderede muligheden "visningskilde", gjorde de det let for programmører at lære af hinanden.

Åbenhed tilskynder til innovation, og dette er en af ​​de største grunde til, at vi har set browserlaget svulme op med så mange smarte tilføjelser. Opbygning af software til browser-laget er lettere, hvilket tilskynder til mere arbejde der skal udføres der. Innovationens tempo er blændende, fordi gode ideer emuleres og forbedres hurtigt. Alle kan lære af alles andres arbejde og derefter lære alle til gengæld. Denne funktion alene har skabt så mange programmører, at det skal betragtes som en national skat af de udvalg i Washington, der altid kæmper for at skabe flere STEM-studerende.

Browser som ultimativ OS-årsag nr. 4: Metaprogrammering

Åbenhed betyder ikke kun kildekoden er tilgængelig for andre til at kopiere, revidere og udvide - det gælder også dataene i browseren lige nu. Nogle softwarepakker som Greasemonkey gør det muligt at skrive software, der kører oven på softwaren, der kører på en webside. Greasemonkey kan nå lige ind på websidekoden og ændre størrelsen på et element, ændre en variabel eller omskrive selve teksten. Det er som open source-kodning i realtid.

Der har været forsøg på at tilbyde denne type funktion til klassiske operativsystemer, men script-systemerne har aldrig haft adgang svarende til Greasemonkey's i browseren. Selv de mest sofistikerede scriptværktøjer, som AppleScript, får kun adgang til koden via en API. Purister kan ikke lide, at nogen skider sig med deres variabler, men de har ikke så meget sjov. Dette er grunden til, at nogle af de klogeste værktøjer er tilgængelige i browserne.

Browser som ultimativ OS årsag nr. 5: Multiplatform enkelhed og mutabilitet

Mobilenheder leveres med browsere. Køleskabe leveres med browsere. Kan mobile køleskabe med browsere være langt bagefter? Hvorfor ikke? Alle vil sætte HTML, JavaScript og CSS til ansvar for et rektangel på deres maskiner, fordi det er let at tilpasse. Er din skærm kort og bred, eller er den høj og tynd? Det betyder ikke noget, fordi HTML flyder ind i det rum, det er givet. Den CSS-drevne layoutmotor finder ud af det.

Der vil være nogle, der helt korrekt påpeger, at ikke hver webside ser godt ud på ulige formede skærme. Nogle websteder ligner en bil, der rammer dem, når de vises på en høj, tynd mobilskærm. Elementerne er spredt overalt, og intet står i kø. Noget gik galt med flydestilene.

Disse problemer falmer, da webdesignere lærer, hvordan man planlægger for det bredere udvalg af browserbaserede muligheder, der vises. De lærer at være fleksible og elegante, så indholdet let kan flyde, uanset hvilken enhed det vises på.

Browser som ultimativ OS-årsag nr. 6: Et rent abstraktionslag

Internets open source-fond tilskynder til hurtig udvikling af bedste praksis for design. Der er stadig nogle hjørner af den tekniske verden - siger Apple - hvor et par designere insisterer på, at alt gøres på deres måde ved hjælp af deres oprindelige ramme. Men for al Apples succes med at bruge Vader-grade kontrol, kan det ikke slå internettet. Hver innovation skabt til iOS efterlignes hurtigt og rulles ind i de store rammer, der dominerer HTML5-verdenen.

Browserens demokratiske populisme lader de bedste ideer boble op, når alle konstant eksperimenterer. Dette skyldes for en stor del HTML og CSS, som har udviklet sig til et klart abstraktionslag, der adskiller bekymringer, hvilket gør samarbejdet lettere for alle. Designere og programmører kan målrette mod deres specifikke lag og, hvor det er muligt, bringe foruddefinerede biblioteker og rammer ind for at udnytte arbejdet fra andre designere og programmører i deres egen kode.

Browser som ultimativ OS-årsag nr. 7: Bedre delingsmodeller til biblioteker

Biblioteker har altid været en af ​​de største kilder til hovedpine for programmører. Den ene applikation på computeren vil bruge version 3.4.666 af et bibliotek, og den anden ønsker version 3.4.667, men operativsystemet kan kun finde den forkerte. Når ting ikke stemmer overens, kalder nogle det "bitrot", og andre kalder det "versioneringsfejl." Uanset hvad taber alle.

Browserverdenen tilbyder en bedre måde at distribuere biblioteker på. Mange websider linker til et par centrale kopier af populære biblioteker som jQuery eller Dojo. I stedet for at bruge deres egen version, der hostes på hjemmesiden, linker de til en central version, der tilbydes af et af webinfrastrukturfirmaerne som Yahoo. Disse er mere tilbøjelige til at blive fanget af cachen, hvilket sparer den næste webside tid til download af denne version af biblioteket.

Disse centraliserede versioner er pænt nummererede. Hvis to websider bruger version 1.9.1 af jQuery, udfører cachen sit job. Hvis man skifter til en nyere version, fungerer begge. Cachen sparer muligvis ikke meget tid, før de begynder at bruge den samme version igen, men kontakten fungerer uden problemer.

Tilgangen er ikke perfekt. Hvis de centrale kopier er beskadiget eller inficeret med malware, kan hvert websted, der bruger dem, blive bragt i fare. Men hvornår skete dette sidste gang? At skifte til en lokal version af bibliotekerne, den enkleste løsning, ville ikke være svært.

Browser som ultimativ OS årsag nr. 8: Fertil, konkurrencedygtig markedsplads

Der var engang kun Netscape. Derefter dominerede Internet Explorer. Nu ser det ud til, at alle har en browser, der konkurrerer. Chrome, Firefox, IE, Safari og Opera er kun begyndelsen. Der er snesevis af andre mindre browsere med deres egne hengivne. Den mobile platform har endnu mere.

Alle konkurrerer om øjendeling. Den bedste vinder, men kun indtil næste opgraderingscyklus. Derefter begynder konkurrencen igen.

Denne kamp opdrætter kvalitet. De bedste browsere med de mest nyttige funktioner blomstrer, mens de afslappede hacks forsvinder. Dette sker ikke altid i verden, men når det sker, er det godt for forbrugerne. Når det er godt for forbrugerne, viser det styrken i browserlaget.

Browser som ultimativ OS årsag nr. 9: SVG, lærred, vektorgrafik, gode brugergrænseflader

De tidlige websider kan have været lidt kedelige, men det var før kloge programmerere fandt ud af, hvordan man animerede CSS-egenskaberne for en DIV eller et SPAN. Nu kan rektangler og ordene indeni vende, dreje, dreje, falme, blinke og endda - omkomme tanken - bare sidde der.

Hvis det ikke er nok, er de bedste nye browsere tæt integreret med grafikkort og tilbyder næsten alle funktioner til JavaScript-programmøren. Mens spildesignere stadig har brug for indbygget kode for at fjerne nogle ekstreme tricks, der skubber grafikkort til at smelte ned, er næsten alle deres softwarefunktioner tilgængelige i en eller anden form for JavaScript-programmøren. Animeret SVG, lærredsobjektet og noget video kan næsten gøre alt. Der er endda et 3D-lag kaldet WebGL, der håndterer tredimensionel gengivelse. Browseren vil aldrig være i stand til at konkurrere med konsoller eller indfødte spil, men det vil gøre et godt stykke arbejde, når grafikken ikke er for kompliceret. Det er mere end nok til gode spil.

Alt dette betyder, at opbygning af en brugergrænseflade til en webside nu er meget enklere end at oprette en til en grundlæggende app. Designere kan arbejde med HTML, JavaScript og CSS, tre nemme sprog, der er meget enklere end Java, C ++ eller Objective-C, der bruges til native apps. Igen tiltrækker lettere kodning flere programmører, der opretter mere kode og får platformen til at dominere.

Browser som ultimativ OS-årsag nr. 10: Node.js

Måske findes det ultimative bevis for, at browseren har succes som platform, i Node.js, server-rammen, der gør det muligt for browserprogrammerere, der er gennemsyret af JavaScript og lukninger, at skrive instruktioner til serveren uden at lære PHP eller Java.

Pakken tilbyder spektakulær ydeevne for nogle job ved blot at smide den gevindmodel, der er almindelig i tidligere generationer, til side. I stedet vedtager den tilbagekaldsfunktionen, en af ​​idiomerne ved browserprogrammering, for at jonglere arbejdsbelastningen. I de rigtige hænder kan programmører undgå farerne og producere en ren mekanisme, der renser informationen fra serveren hurtigt og effektivt.

Dette er lidt af en sejr for JavaScript-verdenen, fordi mange hånede over de komplicerede lukninger og tilbagekald ved browserprogrammering og betragter dem som indviklede og overdrevent indlejrede. Men nu, hvor resultaterne er hurtige, accepterer folk mere. Hastighed og sparsommelighed har en måde at vinde over konvertitter.