Sadržaj:
Jesi li čuo? HTML5 aplikacije promijenit će sve, vjerojatno sljedeće godine. Barem tako neko vrijeme govori jedna strana rasprave o HTML5 u odnosu na izvorne aplikacije. To je poruka koja se svakog trenutka našla u središtu pozornosti i tako će biti zauvijek. Ili barem dok se to zapravo ne dogodi i sve su najbolje aplikacije HTML5 aplikacije. Nije neobično vidjeti kako programeri imaju takve rasprave i zagovornici svake strane koji objašnjavaju kako je njihova verzija bolja verzija, ali kada stvari nadiđu raspravu o programerima i uđu u mainstream gdje ih vi i ja čujemo, oni nas mogu ošamutiti. Da li bi nas zaista trebalo zanimati što čujemo?
U ovom slučaju da. Iako je utopija u kojoj je svaka aplikacija napisana u HTML5 i svaki korisnik ima isto iskustvo još uvijek dobar način da se to ikad dogodi, HTML5 u hibridnom obliku već je prilično velika stvar. Trebali bismo znati i razumjeti sve što je prilično velika stvar.
Što je HTML5 aplikacija?
Prvi put kada je većina ljudi čula da se spominje HTML5 bilo je kad nam je Steve Jobs rekao da će to biti budućnost interneta, a Flash neće. Njegova je izjava djelomično postala istinita jer je Apple blokirao pristup bilo kojoj vrsti Flash playera na iOS-u, ali nije bilo vizionara bilo koje vrste da zna da to dolazi jer HTML5 radi puno više za to nego što je Flash ikad učinio. I upravo se to događa da je budućnost Weba također prilično dobar način kodiranja aplikacija.
HTML označava HyperText Markup Language, a mi smo u 5. reviziji standarda. Ali kad čujete izraz HTML5 app, bilo da to znači web app ili aplikaciju koju možete instalirati na telefon, zaista se suočavate s tri vrste koda.
- HTML pruža okvir u kojem programeri mogu staviti svoj kod i aplikacija ga može pretvoriti u nešto sa čim možemo vidjeti i komunicirati.
- CSS pruža način izgleda kako će izgledati pojedinačni bitovi koda nakon što su prikazani i prikazani na našem zaslonu.
- JavaScript je ono što ga čini interaktivnim i moći "raditi" bilo što.
Ono što HTML5 čini izvrsnim jest to što sve razumije jedna aplikacija koju programer programera ne treba održavati i sve radi na bilo kojem uređaju sa zaslonom koji ima svoju verziju te aplikacije. Govorimo o web pregledniku, ali ne i samoj aplikaciji web preglednika. Komponenta web preglednika koji može uzeti ovaj kôd i pretvoriti ga u nešto što možemo koristiti u pokretu je prilično prenosiv i dio je mnogih aplikacija koje već koristite kao web pregled.
Jednom je Mozilla inženjer rekao: "Kôd jednom pobjeći bilo gdje ne znači pobjeći. Optimizacija je ključ." Pametni momci, oni Mozilla inženjeri.
To znači da programer može napisati svoj kôd i fino ga prilagoditi, a zatim ga rasporediti na sve strane. To je puno drugačije od pisanja zasebnog koda za Android, iOS, macOS, Windows i HTML za webOS i BlackBerry 10. Programer može napisati kôd u bilo kojem razvojnom okruženju koje odaberu, bilo da je to Notepad ili nešto složeno poput Visual Studio ili Adobe Dreamweaver, uklanjanje pogrešaka i fino podešavanje u bilo kojem pregledniku koji odaberu, a i dalje radi svugdje.
To uključuje i vaš telefon. Svi smo vidjeli da se HTML5 aplikacije koriste kao web stranica. Mjesta poput Twittera ili mobilne verzije Gmaila odlični su primjeri HTML5 na djelu. No, budući da HTML5 može prikazati komponenta web pregleda, ubacivanje prozora unutar osnovnog okvira aplikacije za stvaranje aplikacije koju stvarno instalirate na telefon je jednostavno i brzo. Postoje čak i alati treće strane koji za vas rade sav posao, poput Apache Cordova. To pomaže novim programerima da donose svoje ideje svima, kao i iskusnim programerima koji sada imaju vremena smisliti stvari koje još nismo vidjeli. HTML5 ugrađen u nativnu aplikaciju može pokrenuti kôd i koristiti sredstva koja dobiva s interneta, ali programer ih također može instalirati lokalno i usmjeriti kôd za iskrene matične aplikacije izvan mreže.
Ali nije sve sjajno u vezi s HTML5.
Stvarnost HTML5 aplikacija
Evo gdje stvari mogu postati zbunjujuće. Kad pomislimo na web stranicu, često zaboravljamo da web stranica šalje svoj kod samo na mehanizam za preglednik i to čini naš uređaj. To znači da su stvari poput geolokacije, audio i video chat u stvarnom vremenu, 3D ubrzana grafika i mnogo više ne samo da su programeri mogući nego su jednostavni za implementaciju pomoću HTML5. To je zato što je tijelo za standarde reklo: "Hej, svi moramo ovo raditi na određeni način, a programer može od nas tražiti da to učinimo na ovaj način."
To je cilj, svejedno. Stvarnost može biti malo drugačija, a mi samo trebamo pogledati reprodukciju videa za sjajan primjer zašto. Svaki preglednik koji želite koristiti podržava HTML5: Chrome, Opera, Internet Explorer, Edge, Firefox i Safari su HTML5 preglednici i podržavaju reprodukciju videa nakon što programer upiše samo nekoliko riječi koje upućuju na video. Bilo koja vrsta prijenosne komponente web prikaza koju imaju ove aplikacije napravit će istu stvar jer koriste isti mehanizam za prikaz.
Kad ne provodite pravila, oni postaju prijedlozi; one koje nitko ne želi slijediti.
No, ne podržavaju svi videozapise istog tipa jer je HTML5 cross-platformski, otvoren i nije vlasnički pa ih niko ne prisiljava da podržavaju sve formate. Ogg Theora popularan je video format koji podržava svaki preglednik, osim Internet Explorera, koji je zadani preglednik na većini računala. H.264 je još popularniji, ali nije otvoren ili besplatan za upotrebu pa ga Firefox ne podržava. VP8 i WebM su slobodni za upotrebu i otvaranje, a svaki ih pretraživač podržava, ali Internet Explorer i Safari zahtijevaju da korisnik preuzme i instalira podršku. Tehnički gledano, HTML5 podržava reprodukciju HD videozapisa i programeru je vrlo lako implementirati ga. U stvarnom svijetu podržana je samo prava vrsta videozapisa.
YouTube reproducira sve videozapise s HTML5 jer Google ima novac za konverziju videozapisa koje prenesete.
HTML5 ovisi i o hardveru koji se koristi i koliko je programer stručan u pisanju koda. Odabirom pogrešne JavaScript biblioteke može se postići isti rezultat, ali također može doći do propuštanja memorije i rukovanja s DOM manipulacijom (Document Object Model - kreira se kada se učitava stranica ili aplikacija i uključuje svaki element na stranici ili u aplikaciji kao zasebni "dokument") loše može HTML5 aplikacija frustrirajuće usporiti čak i na najboljem hardveru. Na telefonima koji nisu toliko sposobni korisnici brzo deinstaliraju vašu aplikaciju.
To nije jedino pitanje. Kada sastavite HTML5 aplikaciju koja izvlači sve s interneta, morate se nositi s vremenom učitavanja. To dodaje korisničku brzinu veze na popis stvari zbog kojih se aplikacija može polako pokretati, zajedno s fizičkim mogućnostima hardvera (mnogi telefoni koriste procesore koji nisu baš brzi) i optimizacijom koda. Ako će trebati jedna sekunda da vaš kôd prikažete na korisničkom uređaju i 10 sekundi da ga preuzmete s interneta, imat ćete puno nezadovoljnih korisnika.
Aplikacija Facebook primjer je onoga što nije u redu s HTML5-om, kao što je Instagram primjer onoga što je ispravno.
Dostupan je odličan primjer ovog pristupa, i njegov gotovo svi mi smo bili nezadovoljni bez obzira na to koji tip telefona koristimo: aplikaciju Facebook. Aplikacija Facebook u osnovi je web prikaz ugrađen u okvir koji drži gumbe i pomaže u upravljanju vjerodajnicama vašeg računa ili pritiskom na poruke na način koji operativni sustav odobrava. Sve stvari koje se događaju unutar aplikacije napravljene su s HTML5-om, a to je jednostavno previše za obradu nakon što faktor dohvaćate sve njegove podatke s interneta. Razvojni programeri stalno dodaju sve više na Facebook, korisnici objavljuju velike datoteke hostirane na mjesta izvan Facebooka, a milijuni i milijuni ljudi napadaju Facebookove servere odjednom, 24/7. Zbog toga se aplikacije polako osvježavaju, vrlo su gladne snage i predmet je mnogo pritužbi.
Facebook mobilna web stranica također je napisana u HTML5, ali osmišljena je da bude razumljiva na resursima jer je za mobilnu upotrebu. Zbog toga se brže učitava sadržaj koji želite vidjeti, čak i ako vam se sav taj sadržaj ne prikazuje kao lijep kao što je prikaz u cijelom prikazu. To je i razlog zašto mobilna web stranica i Facebook „lite“ aplikacije na koje se referira djeluju toliko bolje nego službena aplikacija Facebooka. I to nije samo problem Facebooka - postoji dosta aplikacija koje bi podržavale sve njihove značajke korištenjem HTML5-a, ali su jednako složene (lijepa riječ za naduvane jer su već neko vrijeme i stalno se mijenjaju) kao što su Facebook i postupio bi na isti način.
Želim li vidjeti više HTML5 aplikacija ili ne?
Da! Ali nisu sve aplikacije.
HTML5 je stvarno dobar u mnogim stvarima i odličan je način da programer iskoristi svoje vrijeme za razmišljanje o kreativnim idejama, umjesto da se ukorijeni kroz referentni priručnik Objective-C ili C ++. Ali ponekad, kruta struktura jezika za razvoj koja prisiljava razvojnog programera da radi na određeni način je ono što omogućuje da krajnji rezultat bolje funkcionira na našim telefonima.
Aplikacije za HTML5 mogu biti noćna mora kao što to vidimo iz aplikacije Facebook ili mogu biti prilično fantastične kao što vidimo s mobilnog web mjesta Gmail. Ili Uber. Ili na Instagramu. Ili bilo koju od stotina HTML5 aplikacija koje koristimo svakodnevno. To nije stvar zbog koje bismo trebali brinuti, ali potpuno je stvar za razvojne programere koji beskrajno raspravljaju. I sada dok oni raspravljaju i pokušavaju vas uvjeriti što je bolje, pomalo znate zašto govore stvari koje govore.
Možda ćemo zaraditi proviziju za kupovinu pomoću naših veza. Saznajte više.