Ohjelmointi

10 syytä, miksi selaimesta on tulossa yleinen käyttöjärjestelmä

Brittan Eich, Marc Andreessen ja muu Netscape tarkastelivat maailmanlaajuisesti Internet-aikaa (eli 1995) vuosien ajan sitten Internetissä ja näkivät harvaan merkittyjen staattisten dokumenttien maailman - laskennallisen aavikon, josta ohjelmoijan siemen ei löytänyt mitään ostaa.

Heillä oli erilainen visio: pikselit selaimen suorakulmion sisällä ovat yhtä eläviä kuin mikä tahansa käyttöliittymä. He halusivat lisätä hieman Turingin täydellistä laskettavuutta, jotta ohjelmoijat voisivat saada sivut hyppäämään. JavaScript oli vastaus.

[Paljonko tiedät lingua francasta Webissä? Ota selvää JavaScript IQ -testistä. | Työskentele älykkäämmin, ei kovemmin - lataa kehittäjien selviytymisopas kaikista vinkeistä ja trendeistä, jotka ohjelmoijien on tiedettävä. | Pysy ajan tasalla uusimmista kehittäjäuutisista Developer World -uutiskirjeellä. ]

Alussa macho C -ohjelmoijat katselivat heidän luomustaan ​​ja nauroivat. He vitsailivat JavaScriptiä leluina peruskoulun lapsille ponnahdusikkunoiden avaamiseen. Eich kuitenkin näki ohjelmoijille tavan hankkia tietoja verkosta. Pian se tuli XMLHttpRequest-muodossa.

Kolmetoista vuotta myöhemmin, ja noin kahdeksan vuotta siitä, kun koko peli muutettiin "AJAX" -merkiksi, lapsille suunnatusta lapsenkielestä on nopeasti tulossa hallitseva kieli melkein kaikelle. HTML: n, CSS: n ja JavaScriptin yhdistelmä käyttää palvelimia, työpöytiä ja kannettavia tietokoneita. Se on pohjimmiltaan vakioalusta, uusi käyttöjärjestelmä.

Teknisesti selain ei tarjoa sitä, mitä olemme odottaneet perinteiseltä käyttöjärjestelmältä. Puristit valittavat: viettääkö selainryhmä aikaa huolta laiteajurien tavallisesta sotkeudesta? Pitääkö selain tiedostojärjestelmän puhtaana ja ehjänä? Jongliko selain useita eri prioriteettilankoja ja auttaako heitä jakamaan samat prosessorin ytimet tavalla, jota voidaan pitää oikeudenmukaisena? Käyttöjärjestelmäkaverit katsovat yhtä Chromea ja nauravat, koska selain vain lyö, jakamalla itsensä eri prosessiksi jokaiselle verkkosivulle, jolloin käyttöjärjestelmäkerros voi tehdä työn.

Näistä käyttöjärjestelmän neroiden hyvin oikeutetuista valituksista huolimatta selain on hallitseva taso, yksi yhteys ohjelmistoihin, yksi kytkentätaulu, jossa kaikki teho on. Se tarvitsee käyttöjärjestelmästä suorakulmion Web-sivun piirtämiseen, vähän tallennustilaa ja TCP / IP-syötteen. Se tekee kaiken muun alustojen välisellä tavalla, joka on, kun kaikki otetaan huomioon, suhteellisen vapaa virheistä ja muista ongelmista.

Vastineeksi selain vapauttaa käyttöjärjestelmän paljon tekemättä lukuun ottamatta näiden muutaman tietosyötteen toimittamista. PC-käyttäjä odottaa pystyvänsä asentamaan minkä tahansa vanhan laitteen ja saamaan sen toimimaan minkä tahansa vanhan laitekokoelman kanssa - hyvin harvinainen. Selaimen käyttäjä haluaa laatikon, jolla kirjoitetaan URL-osoite ja tapa lähettää napsautuksia JavaScript-tasolle. Vain selainta käyttävän laitteen rakentaminen on entistä helpompaa. Heck, Mozilla, hyvin pieni joukko ihmisiä, osoittautui Firefox-käyttöjärjestelmäksi pienellä osalla Applen, Googlen tai BlackBerryn insinöörejä.

Ja ohjelmoijat seuraavat käyttäjiä selaimeen toimittamaan toimintoja pääasemassa, jonka käyttäjien odotetaan löytävän sen näinä päivinä. Tässä on 10 syytä, miksi selain on nyt kuningas.

Selain käyttöjärjestelmän perimmäisenä syynä nro 1: Suurten, rikkaiden verkkosovellusten lisääntyminen

Jossain linjassa Web-sivu muuttui täydelliseksi sovellukseksi. Paras tapa tuntea tämä on yrittää käynnistää jotain Gmailia puhtaalla välimuistilla ja tuskallisen hitaalla Internet-yhteydellä. Ohjelma on tarpeeksi suuri, jotta kaikkien JavaScriptien palojen lataaminen kestää liian kauan. Keskimääräisessä latauksessa voi olla lähes 100 tiedostoa. Google tunnistaa harkitusti, että Gmail voi olla hieman liian suuri näihin tilanteisiin, joten se tarjoaa HTML-perusversiota, joka on paljon pienempi.

Gmail on yksi esimerkki tuhansista suurista ohjelmista, jotka toimivat säännöllisesti selaimissamme. Monet antavat meidän tehdä leijonanosan tehtävistä, jotka kerran jätettiin natiivisovelluksille. Siellä on integroituja kehitysympäristöjä (Codio, Cloud 9 ja muut), kuvankäsittelypaketteja (mm. AIE) ja runsaasti HTML5-pelejä (katso alla). Selain ei rajoitu staattisiin asiakirjoihin ja lomakkeiden täyttämiseen.

Kauan sitten ihmiset osoittivat vakiosovelluksia postin lukemiseen tai valokuvien muokkaamiseen ja sanoivat: "Voiko selaimesi tehdä sen?" Nyt vastaus on kyllä.

Selain käyttöjärjestelmän perimmäisenä syynä nro 2: Helppo laajentaa laajennusten avulla

Kaikilla suurimmilla selaimilla on oma laajennusarkkitehtuurinsa. Jos haluat tehdä jotain fiksua selaimen kanssa, laajennustaso on valmis ottamaan koodisi. Kirjoitat koodin JavaScriptiin ja selain lisää sen ominaisuudeksi. Voit lisätä uusia rutiineja asettelun puhdistamiseksi tai piilottaa tiettyjä arvokkaita tietoja, kuten viittauksia paperillesi. Selainten laajennuskerros avaa sisäpuolta hölmöille, ja se tekee sen puhtaammalla, turvallisemmalla tavalla kuin voidaan saavuttaa perinteisillä käyttöjärjestelmillä.

Selain käyttöjärjestelmän perimmäisenä syynä nro 3: Sen avoimen lähdekoodin perusta

Lausekkeeseen "avoin lähdekoodi" on ladattu monia erilaisia ​​merkityksiä, ja selain kuvaa yhtä vaikutusvaltaisimmista. Verkon kielet ovat aina olleet helposti ymmärrettäviä - ainakin alkuperäisiin binaarikoodeihin verrattuna - ja kun varhaiset kehittäjät sisälsivät vaihtoehdon "näytä lähde", niiden avulla ohjelmoijien oli helppo oppia toisiltaan.

Avoimuus kannustaa innovaatioihin, ja tämä on yksi suurimmista syistä, joiden vuoksi olemme nähneet selainkerroksen paisuvan niin monella fiksulla lisäyksellä. Ohjelmistojen rakentaminen selainkerrokselle on helpompaa, mikä kannustaa tekemään enemmän työtä siellä. Innovaatiotahti on sokea, koska hyviä ideoita jäljitellään ja parannetaan nopeasti. Jokainen voi oppia kaikkien muiden työstä ja opettaa sitten kaikkia vastineeksi. Pelkästään tämä ominaisuus on luonut niin monta ohjelmoijaa, että niiden Washingtonin komiteoiden, jotka ovat aina kampanjoineet luomaan lisää STEM-opiskelijoita, sen tulisi pitää kansallista aartetta.

Selain käyttöjärjestelmän perimmäisenä syynä nro 4: Metaprogrammointi

Avoimuus ei tarkoita vain sitä, että lähdekoodi on muiden kopioitavissa, tarkistettavissa ja laajennettavissa - se koskee myös selaimen tietoja juuri nyt. Jotkut ohjelmistopaketit, kuten Greasemonkey, mahdollistavat ohjelmiston kirjoittamisen, joka toimii verkkosivulla olevan ohjelmiston päällä. Greasemonkey voi päästä suoraan verkkosivun koodiin ja muuttaa elementin kokoa, muuttaa muuttujaa tai kirjoittaa itse tekstin uudelleen. Se on kuin avoimen lähdekoodin reaaliaikainen koodaus.

Tällaista ominaisuutta on yritetty tarjota klassisille käyttöjärjestelmille, mutta komentosarjojärjestelmillä ei ole koskaan ollut pääsyä muistuttamaan selaimen Greasemonkeyn. Jopa kehittyneimmät komentosarjatyökalut, kuten AppleScript, käyttävät koodia vain API: n kautta. Puristit eivät ehkä pidä siitä, että joku sekaantuu muuttujiensa kanssa, mutta heillä ei ole niin hauskaa. Siksi jotkut älykkäimmistä työkaluista ovat käytettävissä selaimissa.

Selain käyttöjärjestelmän perimmäisenä syynä nro 5: Monitasoinen yksinkertaisuus ja muutettavuus

Mobiililaitteissa on selaimet. Jääkaapissa on selaimet. Voivatko mobiilijääkaapit selaimilla olla kaukana? Miksi ei? Kaikki haluavat laittaa HTML-koodin, JavaScriptin ja CSS: n koneidensa suorakulmioon, koska se on helppo mukauttaa. Onko näyttösi lyhyt ja leveä vai onko se pitkä ja ohut? Sillä ei ole merkitystä, koska HTML virtaa annettuun tilaan. CSS-pohjainen layout-moottori selvittää sen.

Jotkut huomauttavat aivan oikein, että kaikki verkkosivut eivät näytä hyvältä parittoman muotoisilla näytöillä. Jotkut verkkosivustot näyttävät siltä, ​​että auto osui niihin, kun niitä katsottiin pitkällä, ohuella mobiilinäytöllä. Elementit ovat hajallaan kaikkialla, eikä mikään ole rivissä. Jokin meni pieleen kelluketyyleissä.

Nämä ongelmat ovat hiipumassa, kun verkkosuunnittelijat oppivat suunnittelemaan eteenpäin laajemmalle selainpohjaisille mahdollisuuksille. He oppivat olemaan joustavia ja tyylikkäitä, jotta sisältö voi virrata helposti riippumatta laitteesta, jolla se näkyy.

Selain käyttöjärjestelmän perimmäisenä syynä nro 6: Puhdas abstraktiokerros

Verkon avoimen lähdekoodin säätiö kannustaa suunnittelun parhaiden käytäntöjen nopeaa kehittymistä. Teknologiamaailmassa on vielä joitain kulmia - sanokaamme Apple -, jossa harvat suunnittelijat vaativat, että kaikki tehdään omalla tavallaan käyttäen omaa kehystään. Mutta kaikesta Applen menestyksestä Vader-luokan hallinnan käyttämisessä se ei voi voittaa verkkoa. Jokainen iOS: lle luotu innovaatio jäljitellään nopeasti ja siirretään tärkeimpiin kehyksiin, jotka hallitsevat HTML5-maailmaa.

Selaimen demokraattinen populismi antaa parhaiden ideoiden kuplia, kun kaikki kokeilevat jatkuvasti. Tämä johtuu suurelta osin HTML: stä ja CSS: stä, joista on kehittynyt selkeä abstraktiokerros, joka erottaa huolenaiheet, mikä helpottaa yhteistyötä kaikille. Suunnittelijat ja ohjelmoijat voivat kohdistaa tietyn kerroksensa ja tuoda mahdollisuuksien mukaan ennalta suunniteltuja kirjastoja ja kehyksiä muiden suunnittelijoiden ja ohjelmoijien työn hyödyntämiseksi omassa koodissaan.

Selain käyttöjärjestelmän perimmäisenä syynä nro 7: Kirjastojen paremmat jakamismallit

Kirjastot ovat aina olleet yksi ohjelmoijien suurimmista päänsärkyjen lähteistä. Yksi tietokoneen sovellus haluaa käyttää kirjaston versiota 3.4.666 ja toinen haluaa versiota 3.4.667, mutta käyttöjärjestelmä voi löytää vain väärän. Kun asiat eivät kohdistu, jotkut kutsuvat sitä "bitrotiksi" ja toiset kutsuvat "versiovirheiksi". Joko niin, kaikki menettävät.

Selainmaailma tarjoaa paremman tavan kirjastojen jakeluun. Monet verkkosivut linkittävät muutamiin keskitettyihin kopioihin suosituista kirjastoista, kuten jQuery tai Dojo. Sen sijaan, että käyttäisivät omaa verkkosivustonsa isännöimää versiota, he linkittävät keskitettyyn versioon, jonka tarjoaa yksi verkkoinfrastruktuuriyrityksistä, kuten Yahoo. Välimuisti tarttuu näihin todennäköisemmin, mikä säästää seuraavalle verkkosivulle tämän kirjaston version lataamisen ajan.

Nämä keskitetyt versiot on siististi numeroitu. Jos kahdella verkkosivulla käytetään jQueryn versiota 1.9.1, välimuisti tekee tehtävänsä. Jos vaihdetaan uudempaan versioon, molemmat toimivat. Välimuisti ei välttämättä säästä paljon aikaa, ennen kuin he alkavat käyttää samaa versiota uudelleen, mutta kytkin toimii ongelmitta.

Lähestymistapa ei ole täydellinen. Jos keskeiset kopiot ovat vioittuneet tai haittaohjelmien tartuttamat, jokainen niitä käyttävä verkkosivusto voi vaarantua. Mutta milloin viimeksi näin tapahtui? Yksinkertaisin korjaus, vaihtaminen kirjastojen paikalliseen versioon, ei olisi vaikeaa.

Selain käyttöjärjestelmän perimmäisenä syynä nro 8: Hedelmällinen, kilpailukykyinen markkinapaikka

Olipa kerran vain Netscape. Sitten Internet Explorer hallitsi. Nyt näyttää siltä, ​​että kaikilla on selain, joka kilpailee. Chrome, Firefox, IE, Safari ja Opera ovat vasta alkua. On olemassa kymmeniä muita pienempiä selaimia, joilla on omat harrastuksensa. Mobiilialustalla on vielä enemmän.

Kaikki he kilpailevat silmäosuudesta. Paras voittaa, mutta vain seuraavaan päivitysjaksoon saakka. Sitten kilpailu alkaa uudelleen.

Tämä taistelu tuottaa laatua. Parhaat selaimet, joilla on hyödyllisimmät ominaisuudet, kukoistavat, kun rento hakkerointi katoaa. Tätä ei aina tapahdu maailmassa, mutta kun se tapahtuu, se on hyvä kuluttajille. Kun se on hyvä kuluttajille, se osoittaa selainkerroksen voiman.

Selain käyttöjärjestelmän perimmäisenä syynä nro 9: SVG, kangas, vektorigrafiikka, upeat käyttöliittymät

Varhaiset verkkosivut ovat saattaneet olla hiukan tylsiä, mutta se oli ennen kuin älykkäät ohjelmoijat keksivät kuinka animoida DIV: n tai SPAN: n CSS-ominaisuudet. Nyt suorakulmiot ja sisällä olevat sanat voivat kääntyä, pyöriä, kääntyä, haalistua, vilkkua ja jopa - tuhota ajatuksen - vain istua siellä.

Jos se ei riitä, parhaat uudet selaimet on integroitu tiukasti näytönohjaimiin ja tarjoavat melkein kaikki ominaisuudet JavaScript-ohjelmoijalle. Vaikka pelisuunnittelijat tarvitsevat vielä alkuperäiskoodia vetääkseen joitain äärimmäisiä temppuja, jotka työntävät näytönohjaimia sulamaan, melkein jokainen heidän ohjelmisto-ominaisuuksistaan ​​on jossakin muodossa tai muussa muodossa JavaScript-ohjelmoijalle. Animoitu SVG, kangasobjekti ja jotkut videot voivat tehdä melkein mitä tahansa. Siellä on jopa 3D-kerros nimeltä WebGL, joka käsittelee kolmiulotteista hahmonnusta. Selain ei koskaan pysty kilpailemaan konsolien tai natiivipelien kanssa, mutta se tekee hyvää työtä, kun grafiikka ei ole liian monimutkainen. Se on enemmän kuin tarpeeksi hienoille peleille.

Kaikki tämä tarkoittaa, että verkkosivun käyttöliittymän rakentaminen on nyt paljon yksinkertaisempaa kuin sellaisen luominen perussovellukselle. Suunnittelijat voivat työskennellä HTML: n, JavaScriptin ja CSS: n, kolmen helpon kielen kanssa, jotka ovat paljon yksinkertaisempia kuin natiivisovelluksissa käytetty Java, C ++ tai Objective-C. Jälleen kerran helpompi koodaus houkuttelee enemmän ohjelmoijia, jotka luovat enemmän koodia ja saavat alustan hallitsemaan.

Selain käyttöjärjestelmän perimmäisenä syynä nro 10: Node.js

Ehkä lopullinen todiste selaimen menestyksestä alustana löytyy Node.js: stä, palvelinpuolen kehyksestä, jonka avulla JavaScriptiin ja sulkemiin upotetut selainohjelmoijat voivat kirjoittaa ohjeita palvelimelle ilman PHP: n tai Java: n oppimista.

Paketti tarjoaa upean suorituskyvyn joillekin töille yksinkertaisesti heittämällä sivuun aikaisemmissa sukupolvissa yleisen kierteitetyn mallin. Sen sijaan se hyväksyy takaisinkutsutoiminnon, joka on yksi selaimen ohjelmoinnin idioomeista, jongleeraamaan työmäärää. Oikeissa käsissä ohjelmoijat voivat ohittaa vaarat ja tuottaa puhtaan mekanismin, joka kerää tietoja palvelimelta nopeasti ja tehokkaasti.

Tämä on hieman voitto JavaScripti-maailmalle, koska monet hymyilivät selaimen ohjelmoinnin monimutkaisista sulkemisista ja takaisinkutsuista pitämällä niitä sekaisin ja liian sisäkkäisinä. Silti nyt, kun tulokset ovat nopeita, ihmiset ovat hyväksyvämpiä. Nopeudella ja säästävyydellä on tapa voittaa käännynnäisiä.

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