Hoe een app te maken

Er zijn verschillende manieren om een ​​mobiele applicatie te maken. Wil je weten wat de beste manier is? Het hangt er van af. Met welke technologieën heb je ervaring? Op welke platforms richt u zich? Hoeveel tijd wilt u besteden aan het bouwen van uw applicatie??

Na de introductie van de iPhone en zijn softwareontwikkelingskit maakte de mobiele ruimte een revolutie door. Tegenwoordig zijn er miljoenen mobiele applicaties, talloze platforms en tientallen frameworks en tools om mobiele applicaties te maken.

Hoe bepaal je wat goed voor je is? Het beantwoorden van die vraag staat in dit artikel centraal. Ik bespreek de soorten mobiele applicaties die je in het wild tegenkomt, de voordelen van native en hybride applicaties, en ik som enkele van de meer populaire platforms op.

Toepassingstypen

Mobiele applicaties kunnen worden onderverdeeld in drie brede categorieën:

  • web applicaties
  • hybride toepassingen
  • native applicaties

Elk van deze typen heeft zijn voor- en nadelen. Als je me zou vragen welk type het beste bij je past, zou mijn antwoord zijn dat het echt afhangt van wat je precies probeert te doen. Om mijn antwoord te rechtvaardigen, moet ik u eerst vertellen over elk type toepassing. Laten we beginnen met webapplicaties.

Web applicaties

U bent misschien al bekend met webapplicaties. In tegenstelling tot andere apps, is een webtoepassing niet iets dat u ergens kunt downloaden, het is eenvoudig beschikbaar op elk apparaat dat webpagina's kan laden (of een webbrowser heeft). Een webapplicatie is niets meer dan een website, acteren en zich gedragen als een applicatie. Vóór de introductie van de iOS SDK waren webapplicaties bijvoorbeeld de enige optie voor ontwikkelaars die applicaties wilden maken voor de originele iPhone.

Webtoepassingen hebben een aantal duidelijke voordelen, waarvan de belangrijkste de ontwikkelingstijd is. Omdat een webtoepassing een website is, wordt deze eenmaal gebouwd en is deze toegankelijk op elk platform waarop een webbrowser wordt uitgevoerd. Voor sommige bedrijven is dit een zeer aantrekkelijke oplossing, omdat native development, die we in een oogwenk bespreken, kostbaar en tijdrovend kan zijn. Je zou kunnen zeggen dat webapplicaties per definitie platformonafhankelijk zijn.

Een ander belangrijk voordeel is de leercurve voor het ontwikkelen van webapplicaties. Om een ​​webtoepassing te ontwikkelen, vertrouwt u op webtechnologieën waarmee u mogelijk al ervaring hebt, zoals HTML, CSS en JavaScript. Als u dat doet, bent u binnen een mum van tijd online en kunt u geen eigen SDK's gebruiken.

Zijn er nadelen??

Zoals met alle soorten toepassingen, zijn er enkele nadelen van webontwikkeling. De twee belangrijkste nadelen zijn prestaties en toegang tot apparaatmogelijkheden. Als u van plan bent een game te ontwikkelen, dan is een webtoepassing niet uw beste optie. Het is mogelijk, maar de prestaties zullen niet geweldig zijn. Websites en webapps hebben beperkte toegang tot de mogelijkheden van het apparaat, zoals de camera, locatieservices, enz. Dit is in de loop der jaren aanzienlijk verbeterd, maar het is niet vergelijkbaar met de oorspronkelijke applicaties.

Als u de ontwikkelings- en onderhoudskosten van uw mobiele applicatie wilt beperken en prestaties niet het belangrijkste aspect zijn, dan is een webapplicatie zeker de moeite waard om te overwegen.

Als u wilt weten waar webapps over gaan en hoe u aan de slag kunt gaan, bekijk dan eens wat van onze andere inhoud op Envato Tuts +:

Hybride toepassingen

Hybride applicaties waren en zijn nog steeds ongelooflijk populair. Ze combineren enkele van de beste dingen van beide werelden, dat wil zeggen web en native. De technologieën die worden gebruikt om hybride toepassingen te maken, zijn identiek aan die voor het maken van webtoepassingen, HTML, CSS en JavaScript. De reden ligt voor de hand als u begrijpt hoe hybride toepassingen werken.

Een hybride toepassing is een webtoepassing die wordt uitgevoerd in een webweergave van een native toepassing. Anders gezegd, een hybride applicatie gebruikt een native applicatie als container om het er uit te laten zien als een native applicatie. Dit betekent dat een hybride toepassing voor de gebruiker er uit ziet en inheems aanvoelt, min of meer. De gebruiker kan het downloaden van de mobiele winkel van het platform en het toepassingspictogram verschijnt op hun startscherm.

Alle nadelen? Omdat hybride toepassingen afhankelijk zijn van webtechnologieën en worden weergegeven in een webweergave, hebben hybride toepassingen last van de meeste van dezelfde problemen die webtoepassingen doen. De prestaties zijn niet vergelijkbaar met die van native applicaties. Dit gaat echter beter, elk jaar worden de prestaties beter en beter. Het is indrukwekkend hoe de JavaScript-prestaties het afgelopen decennium zijn verbeterd.

De meest populaire oplossing voor het ontwikkelen van hybride applicaties is Apache Cordova, kortweg Cordova. Toen Adobe PhoneGap een paar jaar geleden verwierf, openden ze de meeste codebasis en was Cordova geboren. PhoneGap bestaat nog steeds en is de commerciële neef van Cordova.

Om de ontwikkeling te versnellen, gebruiken ontwikkelaars Cordova vaak in combinatie met andere frameworks, zoals Ionic en Onsen UI.

Voor meer informatie over hybride toepassingen, raad ik aan een aantal van de handleidingen te bekijken die we over Cordova hebben gepubliceerd:

Native applicaties

Kiezen voor native ontwikkeling is kiezen voor prestaties en betrouwbaarheid. Waarom schrikt native development zoveel ontwikkelaars af? Laten we het iOS-platform als voorbeeld nemen. Als u een native iOS-applicatie wilt bouwen, moet u een nieuwe taal leren, Objective-C of Swift. Je moet ook bekend raken met Xcode, Apple's IDE (Integrated Development Environment). Een native applicatie duurt meestal langer om te bouwen, simpelweg omdat je zo dicht bij het metaal werkt. Objectief-C en JavaScript zijn twee heel verschillende talen.

Wat krijg je terug? Prestaties zijn waarschijnlijk het meest aantrekkelijke voordeel van native applicaties. Native applicaties voelen pittig aan en, vooral voor games, kunnen ze optimaal profiteren van de bronnen van het apparaat en besturingssysteem. Elke functie en mogelijkheid van het apparaat dat wordt weergegeven via de API's van de SDK is toegankelijk voor de ontwikkelaar. Dit is een ander belangrijk voordeel dat native heeft ten opzichte van hybride en web.

Er zijn een aantal hybride benaderingen die de native applicatie-ontwikkeling toegankelijk maken voor meer ontwikkelaars. De oplossing is eenvoudig, schrijf code in de taal van uw keuze en compileer deze naar een native applicatie. De meest populaire oplossingen op het moment van schrijven zijn Xamarin en React Native.

Met Xamarin kunnen ontwikkelaars native applicaties voor iOS, Android en Windows Phone met behulp van C # schrijven. De Xamarin-tools maken gebruik van het open source-project van Mono. React Native heeft zijn roots op Facebook en stelt ontwikkelaars in staat om native applicaties te schrijven met behulp van JavaScript.

Envato Tuts + bestrijkt een breed scala aan platforms, waaronder iOS, Android, Xamarin en React Native. Bekijk deze tutorials om ze te leren kennen:

Native of hybride

Wat is de beste oplossing? Inheemse? Of hybride? Of een webapplicatie? Er is geen antwoord. Het hangt van verschillende factoren af. Als u een ontwikkelaar bent, is het antwoord minder gecompliceerd. Met welke technologieën bent u al bekend? Wilt u zich concentreren op één platform of toepassingen maken voor meerdere platforms??

Het wordt een ware uitdaging om op de hoogte te blijven van iOS, Android en Windows Phone. Sommige ontwikkelaars schrijven native applicaties voor meerdere platforms, maar het is een uitdaging en als je het kunt doen, raad ik het zeker aan. De mobiele ruimte evolueert in een snel tempo, en als je kiest voor native development, dan dat moeten wees je doel, om heel, heel vertrouwd te raken met het platform dat je target.

Dit is een van de redenen waarom veel ontwikkelaars een hybride oplossing kiezen. Als u een ervaren webontwikkelaar bent, bent u binnen de kortste keren weer online. Apache Cordova, in combinatie met Ionic of Onsen UI, kan de ontwikkeling aanzienlijk versnellen.

Webapps zijn zeker iets om in gedachten te houden. Ze zijn echter een andere categorie. Door een webtoepassing te maken, is het niet de bedoeling om een ​​toepassing in een van de mobiele winkels te hebben. Veel bedrijven hebben dit pad enkele jaren geleden gekozen. Tegenwoordig, als het budget en de middelen beschikbaar zijn, zijn native en hybride benaderingen populairder.


Vraag jezelf

Als u wilt beslissen welke aanpak u wilt volgen bij het ontwikkelen van uw mobiele app, moet u uzelf deze vragen stellen. Zoals ik eerder al zei, het kiezen van het type

Is de prestatie kritisch?

Als dat zo is, is native de beste optie. Je kunt ook naar Unreal Engine kijken als je van plan bent een game te ontwikkelen. In tegenstelling tot Unity brengen ze u slechts 5% van de inkomsten in rekening in plaats van een maandelijks bedrag.

Toen we de native applicaties bespraken, zagen we dat ze de apparaatmogelijkheden konden gebruiken, en een goed voorbeeld hiervan is hoe Apple de grafische prestaties naar het volgende niveau tilt met behulp van Metal door ontwikkelaars bijna volledige toegang te geven tot de GPU op het apparaat.

Als u niet bekend bent met Metal, hier is wat Apple te zeggen heeft over:

Metal 2 biedt vrijwel directe toegang tot de grafische verwerkingseenheid (GPU), waardoor u de grafische mogelijkheden en het rekenvermogen van uw apps op iOS, macOS en tvOS kunt maximaliseren.

Als de prestaties er nu niet toe doen, kun je op basis van de volgende vragen vrij kiezen voor platformonafhankelijke of hybride apps, afhankelijk van wat je nodig hebt. Maar goed, als je over de middelen beschikt om native apps te maken, is dat altijd de beste optie in het algemeen.

Is platformonafhankelijke ondersteuning belangrijk?

Als dat niet het geval is, moet u de inheemse route overwegen. Native apps, zoals hierboven vermeld, zijn absoluut de beste manier om te gaan voor een solide gebruikerservaring en de best mogelijke prestaties. 

Als cross-platformondersteuning van vitaal belang is en u geen native apps voor al uw platforms kunt krijgen, is een hybride native of hybride webaanpak uw beste keuze. 

Bekijk Xamarin of React Native als prestaties en apparaatmogelijkheden even belangrijk zijn. Mijn persoonlijke favoriet is echter Ionisch omdat het een groot deel van de functies op het apparaat biedt, terwijl er toch een voldoende grote paraplu is om de meeste ontwikkelingen te dekken

Is dit je volgende grote ding?

Als het uw doel is om een ​​mobiele ontwikkelaar te worden, zou mijn suggestie zijn om een ​​native-benadering te kiezen. Dit is echter heel persoonlijk. Ik ben een iOS-ontwikkelaar en ik vind het leuk op deze manier; Ik denk dat Apple het gebied voor mobiele ontwikkeling verstoort, en het geeft je heel wat hulpmiddelen als ontwikkelaar. Door me te concentreren op één platform, in mijn geval iOS, tvOS, watchOS en macOS, heb ik de tijd om zeer vertrouwd te raken met het platform. Dit is een belangrijk aspect van mobiele ontwikkeling als u boeiende applicaties en een geweldige gebruikerservaring wilt creëren.

Als je een achtergrond hebt in webontwikkeling, dan is native nog steeds een optie. Als u echter snel iets uit de deur wilt halen, is een hybride of web-app de snelste oplossing.


Conclusie

Als je een duidelijk antwoord verwachtte, dan heb ik je misschien teleurgesteld. Als je nog niet besloten hebt, dan stel ik voor om een ​​aantal van de opties die ik heb genoemd eens te proberen. Speel rond met Cordova of leer Swift kennen en zie hoe je het leuk vindt. Neem niet het gemakkelijkste of snelste pad naar uw doel. Zorg ervoor dat je ook van de reis geniet, want daar is het plezier.

Als u al weet welke aanpak voor u het beste is, kunt u de ontwikkeling van uw volgende applicatie versnellen met een aantal van deze iOS- en Android-sjablonen. Bekijk ze op Envato Market: