Logo nl.androidermagazine.com
Logo nl.androidermagazine.com

Wat is een html5-app en wil ik er een?

Inhoudsopgave:

Anonim

Heb je gehoord? HTML5-apps gaan alles veranderen, waarschijnlijk volgend jaar. Tenminste, dat is wat een kant van het debat over HTML5 versus native apps al een tijdje zegt. Het is een boodschap die zo nu en dan in de schijnwerpers komt en het zal voor altijd zo blijven. Of op zijn minst totdat het daadwerkelijk gebeurt en alle beste apps HTML5-apps zijn. Het is niet ongebruikelijk om te zien dat ontwikkelaars dit soort debatten en voorstanders van elke partij hebben die uitleggen hoe hun versie de betere versie is, maar wanneer dingen verder gaan dan een bespreking van een ontwikkelaar en in de mainstream waar u en ik ze horen, kunnen ze ons gevoelloos maken. Moeten we echt schelen wat we horen?

In dit geval wel. Hoewel de utopie waar elke app in HTML5 is geschreven en elke gebruiker dezelfde ervaring heeft, nog steeds een goede manier is om het ooit te doen, is HTML5 in een hybride vorm al een behoorlijk probleem. We moeten alles weten en begrijpen dat een behoorlijk groot probleem is.

Wat is een HTML5-app?

De eerste keer dat de meeste mensen HTML5 hoorden noemen, was toen Steve Jobs ons vertelde dat het de toekomst van het web zou zijn en Flash niet. Zijn verklaring werd gedeeltelijk waargemaakt omdat Apple de toegang tot elke soort Flash-speler op iOS blokkeerde, maar er was geen visionair voor nodig om te weten dat dit eraan kwam, omdat HTML5 er veel meer voor doet dan Flash ooit deed. En het is gewoon zo dat de toekomst van het web ook een redelijk goede manier is om applicaties te coderen.

HTML staat voor HyperText Markup Language en we zijn aan de 5e herziening van de standaard. Maar als je de term HTML5-app hoort, of dat nu een web-app is of een app die je op je telefoon kunt installeren, heb je echt te maken met drie soorten code.

  • HTML biedt een raamwerk waar ontwikkelaars hun code kunnen plaatsen en een toepassing kan het veranderen in iets dat we kunnen zien en waarmee we kunnen communiceren.
  • CSS biedt een manier om op te maken hoe afzonderlijke stukjes code eruit zullen zien zodra ze worden weergegeven en weergegeven op ons scherm.
  • JavaScript is wat het allemaal interactief maakt en alles kan "doen".

Wat HTML5 geweldig maakt, is dat alles wordt begrepen door één applicatie die een app-ontwikkelaar niet hoeft te onderhouden en het werkt allemaal op elk apparaat met een scherm met een eigen versie van die app. We hebben het over een webbrowser, maar niet over de webbrowser-app zelf. Het onderdeel van een webbrowser dat al deze code kan omzetten in iets dat we direct kunnen gebruiken, is redelijk draagbaar en maakt deel uit van veel apps die u al als webweergave gebruikt.

Een technicus van Mozilla zei ooit: "Code die ooit ergens wordt uitgevoerd, betekent niet weglopen. Optimalisatie is de sleutel." Slimme jongens, die ingenieurs van Mozilla.

Wat dit betekent is dat een ontwikkelaar zijn of haar code kan schrijven en afstemmen en vervolgens overal kan implementeren. Dat is heel wat anders dan het schrijven van afzonderlijke code voor Android, iOS, macOS, Windows en HTML voor webOS en BlackBerry 10. Een ontwikkelaar kan code schrijven met elke ontwikkelomgeving die hij kiest, of dat nu Kladblok is of iets complexs zoals Visual Studio of Adobe Dreamweaver, foutopsporing en fijnafstemming in elke browser die ze kiezen, en het werkt nog steeds gewoon overal.

Dat geldt ook voor je telefoon. We hebben allemaal gezien dat HTML5-apps als een webpagina worden gebruikt. Plaatsen zoals Twitter of de mobiele versie van Gmail zijn uitstekende voorbeelden van HTML5 op het werk. Maar omdat HTML5 kan worden weergegeven door een webweergavecomponent, is het eenvoudig en snel om een ​​venster in een eenvoudig app-frame te plaatsen om een ​​app te maken die u daadwerkelijk op uw telefoon installeert. Er zijn zelfs tools van derden die al het werk voor je doen, zoals Apache Cordova. Dit helpt nieuwe ontwikkelaars om hun ideeën aan iedereen te brengen, evenals doorgewinterde ontwikkelaars die nu tijd hebben om dingen te verzinnen die we nog niet eerder hebben gezien. HTML5 ingebed in een native app kan de code uitvoeren en middelen gebruiken die het van internet krijgt, maar een ontwikkelaar kan deze ook lokaal installeren en de code daarheen verwijzen voor eerlijke native native apps.

Maar niet alles is geweldig aan HTML5.

De realiteit van HTML5-apps

Hier kunnen dingen verwarrend worden. Wanneer we aan een webpagina denken, vergeten we vaak dat een webpagina alleen zijn code naar een browser-engine verzendt en het is ons apparaat dat het werk doet. Dat betekent dat dingen als geolocatie, realtime audio- en videochat, 3D-versnelde grafische afbeeldingen en nog veel meer niet alleen mogelijk zijn, maar ook eenvoudig zijn voor een ontwikkelaar om HTML5 te implementeren. Dat komt omdat een normalisatie-instelling heeft gezegd: "Hé jongens, we moeten dit bepaalde dingen allemaal op deze specifieke manier doen, en een ontwikkelaar kan ons vragen het zo te doen."

Dat is toch het doel. De realiteit kan een beetje anders zijn en we hoeven alleen maar naar het afspelen van video's te kijken voor een goed voorbeeld van waarom. Elke browser die u wilt gebruiken, ondersteunt HTML5: Chrome, Opera, Internet Explorer, Edge, Firefox en Safari zijn HTML5-browsers en ondersteunen het afspelen van video zodra een ontwikkelaar in slechts een paar woorden typt die naar een video wijzen. Elk type draagbare webweergavecomponent die deze apps hebben, zal hetzelfde doen omdat ze dezelfde rendering-engine gebruiken.

Wanneer u geen regels toepast, worden het suggesties; degenen die niemand wil volgen.

Maar ze ondersteunen niet allemaal hetzelfde type video omdat HTML5 platformoverschrijdend, open en niet proprietary is, dus niemand dwingt hen om alle formaten te ondersteunen. Ogg Theora is een populair videoformaat dat elke browser ondersteunt, behalve Internet Explorer, dat op veel computers de standaardbrowser is. H.264 is nog populairder, maar het is niet open of gratis te gebruiken, dus Firefox ondersteunt het niet. VP8 en WebM zijn gratis te gebruiken en te openen en elke browser-engine ondersteunt ze, maar Internet Explorer en Safari vereisen dat de gebruiker ondersteuning ophaalt en installeert. Technisch gezien ondersteunt HTML5 het afspelen van HD-video en is het voor een ontwikkelaar super eenvoudig om het te implementeren. In de echte wereld wordt alleen het juiste type video ondersteund.

YouTube speelt alle video af met HTML5 omdat Google het geld heeft om de video's die je uploadt te converteren.

HTML5 hangt ook af van de gebruikte hardware en hoe bekwaam de ontwikkelaar is als het gaat om het schrijven van de code. Het kiezen van de verkeerde JavaScript-bibliotheek kan nog steeds hetzelfde resultaat opleveren, maar het kan ook leiden tot geheugenlekken en het hanteren van DOM-manipulatie (Document Object Model - gemaakt wanneer een pagina of app wordt geladen en bevat elk element op de pagina of in de app als een afzonderlijk 'document') kan een HTML5-app frustrerend traag maken, zelfs op de beste hardware. Op telefoons die niet zo geschikt zijn, leidt dit er snel toe dat gebruikers uw app verwijderen.

Dat is niet het enige probleem. Wanneer je een HTML5-app bouwt die alles van internet haalt, heb je te maken met laadtijden. Dat voegt de verbindingssnelheid van een gebruiker toe aan de lijst met dingen die ervoor kunnen zorgen dat uw app langzaam draait, samen met de fysieke mogelijkheden van de hardware (veel telefoons gebruiken processoren die niet bepaald snel zijn) en code-optimalisatie. Als het een seconde duurt om uw code op een gebruikersapparaat weer te geven en 10 seconden om deze van internet op te halen, krijgt u veel ongelukkige gebruikers.

De Facebook-app is een voorbeeld van wat er mis is met HTML5, net zoals de Instagram een ​​voorbeeld is van wat goed is.

Er is een uitstekend voorbeeld hiervan beschikbaar en bijna iedereen is ongelukkig met wat voor soort telefoon we gebruiken: de Facebook-app. De Facebook-app is eigenlijk een webweergave ingebed in een frame dat de knoppen bevat en helpt bij het beheren van uw accountreferenties of pushberichten op een manier die het besturingssysteem goedkeurt. Alle dingen die binnen de app gebeuren, worden gedaan met HTML5, en het is gewoon te veel om ermee om te gaan zodra je factor bij het ophalen van al zijn gegevens van internet. Ontwikkelaars blijven steeds meer toevoegen aan Facebook, gebruikers posten grote bestanden gehost op plaatsen buiten Facebook, en er zijn miljoenen en miljoenen mensen die Facebook-servers allemaal tegelijk, 24/7 raken. Dat zorgt ervoor dat de apps traag worden vernieuwd, erg hongerig zijn en het onderwerp van veel klachten zijn.

De mobiele website van Facebook is ook geschreven in HTML5, maar het is ontworpen om op bronnen te steunen omdat het voor mobiel gebruik is. Dat maakt het sneller om de inhoud te laden die je wilt zien, zelfs als al die inhoud niet zo mooi wordt weergegeven als in de volledige weergave. Het is ook de reden waarom de mobiele site en Facebook "lite" -apps die ernaar verwijzen zoveel beter werken dan de officiële app van Facebook. En dit is niet alleen een Facebook-probleem - er zijn tal van apps die al hun functies zouden ondersteunen met HTML5, maar die net zo complex zijn (een mooi woord voor een opgeblazen gevoel omdat ze al een tijdje bestaan ​​en constant veranderen) als Facebook en zou hetzelfde doen.

Dus wil ik meer HTML5-apps zien of niet?

Ja! Maar niet alle apps.

HTML5 is echt goed in veel dingen en is een geweldige manier voor een ontwikkelaar om zijn of haar tijd te gebruiken om creatieve ideeën te bedenken in plaats van door een referentiehandleiding voor Objective-C of C ++ te bladeren. Maar soms is de eindstructuur van ontwikkeltalen die een ontwikkelaar dwingt om dingen op een bepaalde manier te doen, waardoor het eindresultaat beter werkt op onze telefoons.

HTML5-apps kunnen een nachtmerrie zijn zoals we zien in de Facebook-app of ze kunnen behoorlijk geweldig zijn zoals we zien op de mobiele Gmail-site. Of Uber. Of Instagram. Of een van de honderden HTML5-apps die we elke dag gebruiken. Dat is niet iets waar we ons zorgen over moeten maken, maar het is absoluut iets waar ontwikkelaars eindeloos over kunnen debatteren. En nu terwijl ze debatteren en proberen je te overtuigen wat beter is, weet je een beetje over waarom ze de dingen zeggen die ze zeggen.

We kunnen via onze links een commissie verdienen voor aankopen. Kom meer te weten.