Programmering

10 grunner til at nettleseren blir det universelle operativsystemet

For en bazillion år siden på internettiden (aka 1995) så Brendan Eich, Marc Andreessen og resten av Netscape på World Wide Web og så en tynt merket verden av statiske dokumenter - en beregningsørken der en programmerers frø ikke kunne finne noe Kjøp.

De hadde en annen visjon: piksler inne i nettleserrektangelet så levende som ethvert brukergrensesnitt. De ønsket å legge til litt Turing-komplett beregningsevne slik at programmerere kunne få sidene til å hoppe. JavaScript var svaret.

[Hvor mye vet du om lingua franca på nettet? Finn ut i JavaScript IQ-testen. | Arbeid smartere, ikke vanskeligere - last ned utviklerens overlevelsesguide for alle tips og trender som programmerere trenger å vite. | Hold deg oppdatert på de siste utviklernyhetene med 's Developer World-nyhetsbrev. ]

I begynnelsen så macho C-programmerere på skapelsen og lo. De spøkte med JavaScript som et leketøy for barneskoler for å dukke opp varslingsbokser. Eich så imidlertid en måte for programmerere å hente inn informasjon fra hele nettet. Snart kom det i form av XMLHttpRequest.

Tretten år senere, og omtrent åtte år siden hele spillet ble omdøpt til "AJAX", blir det en gang babyspråket for kiddies raskt det dominerende språket for omtrent alt. Kombinasjonen av HTML, CSS og JavaScript driver servere, stasjonære og bærbare datamaskiner. Det er i hovedsak standardplattformen, det nye operativsystemet.

Teknisk sett tilbyr ikke nettleseren det vi har forventet fra det tradisjonelle operativsystemet. Purister vil klage: Bruker nettleserteamet noe tid på å bekymre seg for det knuste virvaret av enhetsdrivere? Holder nettleseren filsystemet rent og ukorrupt? Sjonglerer nettleseren med flere tråder med forskjellige prioriteringer, og hjelper dem med å dele de samme prosessorkjernene på en måte som kan betraktes som rettferdig? OS-gutta tar en titt på Chrome og ler fordi nettleseren bare peker, og deler seg i en annen prosess for hver webside, og lar OS-laget gjøre jobben.

Til tross for disse veldig legitime plaggene fra OS-genier, er nettleseren det dominerende laget, den ene forbindelsen for programvare, det ene sentralen der all kraft ligger. Det trenger fra operativsystemet et rektangel for å tegne websiden, litt lagringsplass og en TCP / IP-feed. Det gjør alt annet på en plattformform som er, når alt er vurdert, relativt fri for feil og andre problemer.

Til gjengjeld avlaster nettleseren operativsystemet for å gjøre mye, bortsett fra å levere de få informasjonsstrømmene. En PC-bruker forventer å kunne sette inn hvilken som helst gammel enhet og få den til å fungere med en hvilken som helst gammel samling enheter - en veldig sjelden forekomst. En nettleserbruker vil ha en rute for å skrive inn en URL og en måte å sende klikk til JavaScript-laget. Å bygge en nettleser-enhet blir stadig enklere. Heck, Mozilla, en veldig liten gruppe mennesker, viste seg Firefox OS med en liten brøkdel av ingeniørene som jobbet hos Apple, Google eller BlackBerry.

Og programmererne følger brukerne til nettleseren for å levere funksjonalitet hovedsakelig brukerne forventer å finne den i disse dager. Her er 10 grunner til at nettleseren nå er konge.

Nettleser som ultimate OS årsak nr. 1: Fremveksten av store, rike webapplikasjoner

Et sted langs linjen ble nettsiden til en full applikasjon. Den beste måten å føle dette på er å prøve å starte noe som Gmail med en ren cache og en smertefull treg internettforbindelse. Programmet er stort nok til at det tar for lang tid å laste ned alle biter av JavaScript. Det kan være nær 100 filer i gjennomsnittlig nedlasting. Google anerkjenner omtenksomt at Gmail kan være litt for stort for disse anledninger, så det tilbyr en grunnleggende HTML-versjon som er mye mindre.

Gmail er et eksempel på tusenvis av store programmer som kjøres regelmessig i nettleserne våre. Mange lar oss gjøre størstedelen av oppgavene som en gang er overlatt til opprinnelige applikasjoner. Det er integrerte utviklingsmiljøer (Codio, Cloud 9 og mer), bilderedigeringspakker (AIE, blant andre), og mange HTML5-spill (se nedenfor). Nettleseren er ikke begrenset til statiske dokumenter og utfylling av skjemaer.

For lenge siden ville folk peke på standardappene for å lese e-post eller redigere bilder og si: "Kan nettleseren din gjøre det?" Nå er svaret ja.

Nettleser som ultimate OS årsak nr. 2: Enkel utvidbarhet via plugin-moduler

Alle de store nettleserne har sin egen plugin-arkitektur. Hvis du vil gjøre noe smart med nettleseren, er plugin-laget klar til å ta koden din. Du skriver litt kode i JavaScript, og nettleseren legger den til som en funksjon. Du kan legge til nye rutiner for å rydde opp i layoutet eller fange viss verdifull informasjon som sitater for papiret ditt. Plug-in-laget for nettleserne åpner innsiden for å fikle, og det gjør det på en renere, tryggere måte enn det som kan oppnås med tradisjonelle operativsystemer.

Nettleser som den ultimate OS-årsak nr. 3: Dens open source-fundament

Det er mange forskjellige betydninger lastet inn i uttrykket "åpen kildekode", og nettleseren illustrerer en av de mest innflytelsesrike. Nettets språk har alltid vært enkle å forstå - i det minste sammenlignet med opprinnelige binære koder - og da de tidlige utviklerne inkluderte alternativet "visningskilde", gjorde de det enkelt for programmerere å lære av hverandre.

Åpenhet oppmuntrer til innovasjon, og dette er en av de største grunnene til at vi har sett nettleserlaget svulme med så mange smarte tillegg. Det er lettere å bygge programvare for nettleserlaget, og oppmuntre til mer arbeid å gjøre der. Innovasjonstempoet er blendende fordi gode ideer emuleres og forbedres raskt. Alle kan lære av alle andres arbeid, og deretter lære alle tilbake. Denne funksjonen alene har skapt så mange programmerere at den skal betraktes som en nasjonal skatt av komiteene i Washington som alltid kjemper for å skape flere STEM-studenter.

Nettleser som ultimate OS årsak nr. 4: Metaprogrammering

Åpenhet betyr ikke bare at kildekoden er tilgjengelig for andre å kopiere, revidere og utvide - den gjelder også dataene i nettleseren akkurat nå. Noen programvarepakker som Greasemonkey gjør det mulig å skrive programvare som kjører på toppen av programvaren som kjører på en webside. Greasemonkey kan nå rett inn på websidekoden og endre størrelse på et element, endre en variabel eller omskrive selve teksten. Det er som åpen kildekode i sanntid.

Det har vært forsøk på å tilby denne typen funksjoner til klassiske operativsystemer, men skriptsystemene har aldri hatt tilgang som ligner på Greasemonkey i nettleseren. Selv de mest sofistikerte skriptverktøyene, som AppleScript, får bare tilgang til koden via et API. Purister liker kanskje ikke noen som roter med variablene sine, men de har ikke så mye moro. Dette er grunnen til at noen av de smarteste verktøyene er tilgjengelige i nettleserne.

Nettleser som ultimate OS-årsak nr. 5: Multiplatform enkelhet og mutabilitet

Mobilenheter leveres med nettlesere. Kjøleskap leveres med nettlesere. Kan mobile kjøleskap med nettlesere ligge langt bak? Hvorfor ikke? Alle vil sette HTML, JavaScript og CSS til å lede et rektangel på maskinene sine fordi det er enkelt å tilpasse. Er skjermen kort og bred eller er den høy og tynn? Det har ikke noe å si fordi HTML strømmer ut i plassen den er gitt. Den CSS-drevne layoutmotoren finner ut av det.

Det vil være noen som påpeker, ganske riktig, at ikke alle websider ser bra ut på oddeformede skjermer. Noen nettsteder ser ut som en bil traff dem når de blir sett på en høy, tynn mobilskjerm. Elementene er spredt overalt, og ingenting stiller seg opp. Noe gikk galt med flottørstilene.

Disse problemene forsvinner etter hvert som webdesignere lærer hvordan man kan planlegge for det bredere spekteret av nettleserbaserte muligheter som dukker opp. De lærer å være fleksible og elegante, slik at innholdet kan flyte lett, uavhengig av hvilken enhet det vises på.

Nettleser som ultimate OS årsak nr. 6: Et rent abstraksjonslag

Nettets open source foundation oppfordrer til rask utvikling av beste praksis for design. Det er fortsatt noen hjørner av teknologiverden - for eksempel Apple - der noen få designere insisterer på at alt skal gjøres på sin måte ved hjelp av deres opprinnelige rammeverk. Men for all Apples suksess med å bruke Vader-grade-kontroll, kan det ikke slå nettet. Hver innovasjon laget for iOS blir raskt imitert og rullet inn i de store rammene som dominerer HTML5-verdenen.

Nettleserens demokratiske populisme lar de beste ideene boble opp når alle kontinuerlig eksperimenterer. Dette skyldes i stor grad HTML og CSS, som har utviklet seg til et klart abstraksjonslag som skiller bekymringer, noe som gjør samarbeid enklere for alle. Designere og programmerere kan målrette mot deres spesifikke lag og, der det er mulig, få inn forhåndsdesignede biblioteker og rammer for å utnytte arbeidet til andre designere og programmerere i sin egen kode.

Nettleser som ultimate OS-grunn nr. 7: Bedre delingsmodeller for biblioteker

Biblioteker har alltid vært en av de største kildene til hodepine for programmerere. Ett program på datamaskinen vil bruke versjon 3.4.666 av et bibliotek, og det andre vil ha versjon 3.4.667, men operativsystemet kan bare finne feil. Når ting ikke stemmer overens, noen kaller det "bitrot" og andre kaller det "versjonsfeil." Uansett taper alle.

Nettleserverdenen tilbyr en bedre måte å distribuere biblioteker på. Mange websider lenker til noen få sentraliserte eksemplarer av populære biblioteker som jQuery eller Dojo. I stedet for å bruke sin egen versjon som er vert for nettstedet, lenker de til en sentral versjon som tilbys av et av webinfrastrukturfirmaene som Yahoo. Disse er mer sannsynlig å bli fanget av hurtigbufferen, og sparer dermed den neste websiden tiden for nedlasting av denne versjonen av biblioteket.

Disse sentraliserte versjonene er pent nummererte. Hvis to websider bruker versjon 1.9.1 av jQuery, vil hurtigbufferen gjøre jobben sin. Hvis man bytter til en nyere versjon, vil begge fungere. Cachen sparer kanskje ikke mye tid før de begynner å bruke samme versjon igjen, men bryteren fungerer uten problemer.

Tilnærmingen er ikke perfekt. Hvis de sentrale kopiene er ødelagt eller infisert med skadelig programvare, kan hvert nettsted som bruker dem bli satt i fare. Men når skjedde sist? Å bytte til en lokal versjon av bibliotekene, den enkleste løsningen, ville ikke være vanskelig.

Nettleser som ultimate OS-årsak nr. 8: Fruktbar, konkurransedyktig markedsplass

Det var en gang bare Netscape. Da dominerte Internet Explorer. Nå virker det som om alle har en nettleser som konkurrerer. Chrome, Firefox, IE, Safari og Opera er bare begynnelsen. Det er dusinvis av andre mindre nettlesere med egne tilhengere. Den mobile plattformen har enda mer.

Alle konkurrerer om øyedeling. Den beste vinner, men bare til neste oppgraderingssyklus. Så begynner konkurransen igjen.

Denne kampen avler kvalitet. De beste nettleserne med de mest nyttige funksjonene blomstrer mens de uformelle hackene forsvinner. Dette skjer ikke alltid i verden, men når det skjer er det flott for forbrukerne. Når det er bra for forbrukerne, viser det kraften til nettleserlaget.

Nettleser som ultimate OS årsak nr. 9: SVG, lerret, vektorgrafikk, flotte brukergrensesnitt

De tidlige nettsidene kan ha vært litt kjedelige, men det var før smarte programmerere fant ut hvordan man kunne animere CSS-egenskapene til en DIV eller et SPAN. Nå kan rektangler og ordene innenfor vende, spinne, snu, blekne, blinke og til og med - tilintetgjøre tanken - bare sitte der.

Hvis det ikke er nok, er de beste nye nettleserne tett integrert med skjermkort og tilbyr nesten alle funksjoner til JavaScript-programmereren. Mens spilldesignere fremdeles trenger innfødt kode for å hente ut noen ekstreme triks som presser skjermkortene til å smelte, er nesten alle programvarefunksjonene tilgjengelige i en eller annen form for JavaScript-programmereren. Animert SVG, lerretobjektet og litt video kan gjøre nesten hva som helst. Det er til og med et 3D-lag kalt WebGL som håndterer tredimensjonal gjengivelse. Nettleseren vil aldri kunne konkurrere med konsollene eller originale spill, men det vil gjøre en god jobb når grafikken ikke er for komplisert. Det er mer enn nok for flotte spill.

Alt dette betyr at det å bygge et brukergrensesnitt for en webside nå er mye enklere enn å lage et for en grunnleggende app. Designere kan jobbe med HTML, JavaScript og CSS, tre enkle språk som er mye enklere enn Java, C ++ eller Objective-C som brukes til innfødte apper. Nok en gang tiltrekker enklere koding flere programmerere som lager mer kode og får plattformen til å dominere.

Nettleser som ultimate OS årsak nr. 10: Node.js

Kanskje det ultimate beviset på suksessen til nettleseren som en plattform kan bli funnet i Node.js, server-rammeverket som gjør det mulig for nettleserprogrammerere gjennomsyret av JavaScript og nedleggelser å skrive instruksjoner for serveren uten å lære PHP eller Java.

Pakken gir spektakulær ytelse for noen jobber ganske enkelt ved å kaste den gjengede modellen som er vanlig i tidligere generasjoner. I stedet vedtar den tilbakeringingsfunksjonen, en av idiomene til nettleserprogrammering, for å sjonglere arbeidsmengden. I de rette hendene kan programmerere omgå farene og produsere en ren mekanisme som renser opp informasjonen fra serveren raskt og effektivt.

Dette er litt av en seier for JavaScript-verdenen fordi mange hånet over de kompliserte nedleggelsene og tilbakeringingene ved nettleserprogrammering, og så på dem som kronglete og altfor nestede. Nå som resultatene er raske, blir folk mer aksepterende. Hastighet og sparsommelighet har en måte å vinne over konvertitter.

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