Software bouwen voor mobiele apparaten
De definitie van de ontwikkeling van mobiele apps kan breed zijn en alle processen die betrokken zijn bij het maken en vrijgeven van een mobiele app omvatten of juist specifiek, waarbij wordt verwezen naar de codering en implementatie van de app. In dit artikel worden beide definities van de ontwikkeling van mobiele apps behandeld en wordt met name aandacht besteed aan het definiëren van de ontwikkeling van mobiele apps voor mensen die beslissingen nemen over of verantwoordelijk zijn voor de manier waarop de software zelf wordt gebouwd.
Om de ontwikkeling van mobiele apps te definiëren, moeten we beginnen met het definiëren van het woord 'mobiel'. Het verwijst in dit geval naar draagbare elektronische apparaten zoals smartphones, tablets, laptops, slimme horloges, e-readers en draagbare gameconsoles. Met apps bedoelen we niet alleen de software die systeemeigen is voor deze apparaten, maar ook de algemene besturingssystemen, platforms en talen die door deze apparaten worden ondersteund. Zoals je zult zien zijn er veel verschillende manieren om de ontwikkeling van mobiele apps te benaderen en moeten er veel beslissingen worden genomen.
Het ontwikkelingsproces voor mobiele toepassingen
Bij het maken en uitbrengen van mobiele apps wordt het proces vaak opgevat in een reeks stappen of fasen. Bij deze fasen van het ontwikkelingsproces voor een mobiele app zijn veel verschillende mensen en disciplines binnen een organisatie betrokken, zoals bedrijven, marketing, ontwerp en techniek. De fasen van het ontwikkelingsproces voor mobiele apps zijn:
- Strategie
- Planning
- Ontwerpen
- Ontwikkeling
- Testen
- Release
Hoe lang duurt het om een mobiele app te maken?
Organisaties besteden drie tot negen maanden, of langer als dat nodig is, aan het ontwikkelen van mobiele toepassingen. Het bereik en de functies van een app zijn allemaal van invloed op de tijdlijn van het ontwikkelingsproces voor mobiele apps.
Strategie
Het ontwikkelingsproces voor mobiele toepassingen begint met de vraag waarom een mobiele app een goede oplossing zou kunnen zijn voor een probleem of benadering van een kans, om vervolgens te beslissen wat er gebouwd gaat worden en hoe. In de strategiefase stellen organisaties de doelstellingen en succesmetingen van de app vast, analyseren ze de markt en de concurrentie, onderzoeken ze de behoeften van hun klanten en bepalen ze welke gebruikers en use cases de app zal vervullen. In de strategiefase kunnen organisaties ook gaan verkennen welke ontwikkelplatforms voor mobiele apps het beste werken voor hun doelen en vereisten. In deze fase gaan organisaties ook nadenken over de marketing rond de release van de app.
Planning
In de planningsfase maken organisaties afspraken over vier belangrijke details van het ontwikkelingsproces voor mobiele apps: de teams, tools, technologieën en tijdlijnen. Ze hebben nu een idee van welk type mobiele app ze willen bouwen, wie de app gaat bouwen en welk platform of platforms ze gaan gebruiken. Tijdens deze fase stellen organisaties een productroadmap op: ze bepalen welke functies in welke volgorde en wanneer worden gebouwd, stellen mijlpalen vast en ontwerpen een projectplan waarmee ze de beoogde releasedatum kunnen halen. Voor het bepalen van die datum en het realiseren van de release is het van essentieel belang om te weten welke middelen en expertise beschikbaar zijn, alsook het begrijpen hoe de voor het proces gekozen technologie moet worden geïmplementeerd.
Ontwerpen
Het uiterlijk, de kenmerken en de functie van de mobiele app beginnen vorm te krijgen tijdens de ontwerpfase. In deze fase van het ontwikkelingsproces van de mobiele app brengen teams de gebruikerservaring in kaart en creëren ze de gebruikersinterfaces en de toestanden van de app op verschillende betrouwbaarheidsniveaus. Het concept kan worden getest met mockups van een laag betrouwbaarheidsniveau of door in een vroeg stadium feedback van klanten te verzamelen. Ontwikkelaars en technici kunnen in deze fase helpen bij het maken van prototypes of advies geven over UX- en UI-beslissingen. Ze houden de teams op de hoogte van de vereisten en technische specificaties van de platforms waarvoor de organisatie heeft gekozen. Op deze manier hebben organisaties, wanneer ze overgaan tot het testen op volledige betrouwbaarheid, een app ontworpen die echt gebouwd kan worden.
Ontwikkeling
Het woord ontwikkeling in deze context verwijst soms naar de volledige levenscyclus van softwareontwikkeling die betrokken is bij het maken en vrijgeven van een mobiele app. Maar meestal verwijst ontwikkeling naar deze softwareontwikkelingsfase van de ontwikkeling van mobiele apps. Deze fase wordt later in het artikel uitgebreider gedefinieerd. Op dit moment kan deze fase het best worden omschreven als de stap waarin teams de technische architectuur en technologische stapeling vaststellen, inclusief de frontend, backend en API's, mijlpalen voor ontwikkeling bepalen, de ontwikkelingslevenscyclus voor de app bepalen en de app coderen.
Testen
Testen is een belangrijke fase van het ontwikkelingsproces voor mobiele apps. Zonder testen kunnen organisaties er niet zeker van zijn dat hun app veilig is, deze werkt op de manier die gebruikers nodig hebben en verwachten, en functioneert waar ze deze implementeren. Tijdens deze fase leveren teams kwaliteitscontrole door testcases te maken om de bruikbaarheid, prestaties, stabiliteit en beveiliging van de app te beoordelen op alle apparaten waarop de app worden uitgevoerd. Organisaties zullen vaak stress-tests uitvoeren om er zeker van te zijn dat de architectuur van de app kan schalen om aan een plotselinge grote vraag te voldoen.
Release
De laatste fase in het ontwikkelingsproces voor mobiele apps is de release. Zodra de app is geïmplementeerd, biedt de organisatie ondersteuning aan klanten die deze gebruiken en doorlopende bewaking en onderhoud om ervoor te zorgen dat de app beschikbaar is en naar behoren presteert. Marketingcampagnes en -bewegingen om de ingebruikname van de app te stimuleren, vallen vaak samen met deze fase. Als de organisatie besluit om verbeteringen of wijzigingen aan te brengen in de app die buiten het bereik van de ontwikkelingslevenscyclus vallen, kan de organisatie besluiten om het ontwikkelingsproces voor mobiele apps opnieuw te starten.
Softwareontwikkeling in het ontwikkelingsproces voor mobiele apps
Deze eerste taak van de ontwikkelingsfase bestaat uit het vaststellen van de technische architectuur van de mobiele app. Technische architectuur wordt vaak verward met de technische stack, die de frontend, backend en API's omvat. Technische architectuur zijn de regels en patronen die de ontwikkeling van de mobiele app sturen.
Technische architectuur
De technische architectuur bestaat vaak uit drie lagen:
Presentatielaag
Dit is de laag van de app die de klant ziet en waarmee hij of zij werkt. De presentatielaag bevat de gebruikersinterface en alle elementen van de app waaruit de gebruikerservaring bestaat.
Zakelijke laag
De logica die werkstromen, gegevensuitwisseling en bewerkingen beheert, bevindt zich in de bedrijfslaag. Belangrijke aspecten van de mobiele app, zoals beveiliging, opslaan in caches, logboekregistratie en uitzonderingsafhandeling, worden in deze laag verwerkt.
Gegevenslaag
De gegevenslaag ondersteunt de vereisten van de app zelf, door gegevenshulpprogramma's, gegevenstoegangscomponenten en helpers of service agents te leveren. Het is ook de laag die gegevens valideert en onderhoudt en gegevenstransacties ondersteunt.
Technologiestack
Op dezelfde manier bestaat de technologiestack of de tech-stack, zoals vermeld, ook uit drie onderdelen. Deze onderdelen vertegenwoordigen echter specifieke keuzes die worden gebruikt voor het bouwen en ondersteunen van de app in plaats van richtlijnen voor het maken ervan.
Front-end
De hulpprogramma's en talen die worden gebruikt om de front-end van de mobiele app te coderen, hangen nauw samen met de presentatielaag en zijn sterk afhankelijk van de apparaten waarop de app wordt geïmplementeerd. Er zijn veel opties en de meeste mobiele apparaten hebben specifieke talen die systeemeigen zijn.
Back-end
De back-end is het deel van de app dat de database en andere vergelijkbare objecten bevat die zich op een server bevinden en de functies van de mobiele app ondersteunen. Teams zijn minder afhankelijk van de apparaten bij het kiezen van mobiele back-endtechnologieën en kunnen vaak vooraf gebouwde back-endoplossingenvinden.
API
Voor de communicatie tussen de backend en de frontend maakt de app gebruik van de API, waarmee de app ook kan integreren en communiceren met andere apps en services.
Voordat teams echter hun technische stack kunnen kiezen, of hun technische architectuur kunnen bepalen, moeten ze eerst bepalen welk type mobiele app ze willen bouwen.
Typen mobiele apps
Als het gaat om het ontwikkelen van apps voor mobiele apparaten, hebben organisaties verschillende typen mobiele apps waaruit ze kunnen kiezen. In dit geval verwijst het type mobiele app niet naar wat de gebruikers van de app mogen doen, maar hoe de app wordt gebouwd.
Systeemeigen apps
Apps die specifiek zijn voor een bepaald apparaat of platform, zoals Android of iOS, worden systeemeigen apps genoemd. Deze apps worden rechtstreeks uitgevoerd op het besturingssysteem van het apparaat, gebruiken de talen en frameworks die het platform biedt en worden geïmplementeerd via de store of marketplace die specifiek is voor het besturingssysteem. Systeemeigen apps hebben doorgaans volledige toegang tot alle functies en hardware van de apparaten waarop ze worden uitgevoerd.
Platformoverschrijdende apps
Teams kunnen hun app coderen in de talen en frameworks van hun keuze en de code vervolgens compileren voor elk besturingssysteem waarop de app moet worden uitgevoerd met behulp van platforms zoals Xamarin. Met platformoverschrijdende apps, zoals deze worden genoemd, kunnen teams veel verschillende apparaten gebruiken en een groot deel van de code opnieuw gebruiken, hoewel het overbruggen van de code meer werk vereist dan het ontwikkelen voor slechts één platform.
Progressive web-apps
Net als webtoepassingen worden progressieve webtoepassingen uitgevoerd in mobiele browsers en worden ze doorgaans gebouwd met behulp van JavaScript, CSS en HTML5. Wat web-apps progressief maakt, is hun mogelijkheid om pushmeldingen, betere aanraakbewegingen en hardware-interactie te bieden met behulp van geavanceerde browsermogelijkheden. Er zijn geen SDK's die helpen bij het bouwen van progressieve web-apps, maar ze kunnen wel worden geïmplementeerd zonder via een marktplaats te gaan.
Hybride apps
Hybride apps zijn in feite systeemeigen gecodeerde containers die webtoepassingen uitvoeren, een combinatie tussen systeemeigen apps en progressieve web-apps. Deze combinatie biedt de app meer toegang tot de functies en hardware van de apparaten en kan worden uitgevoerd op meer typen apparaten, terwijl één codebasis wordt gebruikt. Ondanks al hun voordelen leveren hybride apps meestal niet de prestaties die andere typen mobiele apps wel leveren.
Welk type mobiele app moet er worden gebouwd
Het type mobiele app dat een organisatie kiest om te bouwen, heeft grote gevolgen voor de hulpprogramma's, platforms, frameworks, de talen die beschikbaar zijn voor hun teams, de distributie van de app, het aantal codebasissen dat moet worden onderhouden, op welke apparaten de app wordt uitgevoerd en zelfs wat de app kan.
Wanneer je besluit welk type mobiele app je gaat bouwen, is het handig om te bedenken wie je gebruikers zullen zijn en waarvoor ze de app nodig hebben. Als ze bijvoorbeeld voornamelijk één type apparaat of besturingssysteem gebruiken, kan een systeemeigen app de beste keuze zijn. Apps die niet afhankelijk zijn van hardwaresensoren of GPS, zijn mogelijk zeer geschikt als progressieve web-apps of hybride apps, maar mogelijk niet als gebruikers geen goede verbinding hebben. Als de gebruikers lid zijn van je bedrijf of organisatie, kun je overwegen een andere mobiele strategie te gebruiken. En natuurlijk komt het allemaal neer op de expertise die beschikbaar is binnen de organisatie of via een partner.
In deze grafiek worden meer verschillen en overeenkomsten tussen diverse typen mobiele apps uiteengezet om je te helpen bepalen welk type app je zou moeten ontwikkelen.
Typen mobiele apps vergelijken
Systeemeigen apps | Platformoverschrijdende apps | Progressive web-apps | Hybride apps | |
---|---|---|---|---|
Aantal codebasissen | Eén per platform | Eén, maar gecompileerd voor elk platform | Eén totaal | Een voor de app, een voor de container |
Talen en frameworks | Alleen systeemeigen | Keuze van het team | Alleen web | Web en systeemeigen |
Toegang tot SDK's en API's | Ja | Ja | Nee | Beperkt |
Prestaties | Hoogst | Hoog | Laagste | Laag |
Toegang tot apparaathardware | Compleet | Meest | Zeer weinig | Enkele |
Reactietijd op gebruikersinvoer | Goed | Goed | Slechtste | Slecht |
Interactiviteit | Hoog | Hoog | Laagste | Laag |
Gebruik van apparaatresources | Hoog | Hoog | Laag | Middelgroot |
Connectiviteit vereist | Nee | Nee | Ja | Ja |
Kosten voor bouwen en onderhouden | Hoogst | Hoog | Laagste | Lager |
Waar de app is opgeslagen | Apparaat | Apparaat | Server | Apparaat en server |
Geïmplementeerd via | Marketplace | Marketplace | Browser | Marketplace |
Externe goedkeuring vereist | Ja | Ja | Nee | Ja |
Ontwikkelplatforms en software voor mobiele apps
Zodra je hebt besloten welk type mobiele app je gaat bouwen, of als je misschien het type nog aan het overwegen bent, wil je ontwikkelplatforms voor mobiele apps evalueren. Dit zijn de ontwikkelplatforms voor apps die je kunt gebruikt om mobiele apps te ontwikkelen, bouwen, testen, fouten opsporen, beheren en in sommige gevallen zelfs implementeren gedurende hun levenscyclus. De meeste software voor app-ontwikkeling omvat front-endhulpprogramma's voor het bouwen van de interface, back-endhulpprogramma's voor het verwerken van gegevens, API-hulpprogramma's, testhulpprogramma's en hulpprogramma's voor samenwerking en codeanalyse.
De meeste platformen voor mobiele apps zijn bedoeld om alles te bieden wat een ontwikkelaar nodig heeft om een mobiele app te bouwen. Hierdoor kunnen ontwikkelaars problemen voorkomen die zich verplaatsen tussen verschillende onderdelen van de software voor mobiele ontwikkeling, alsook problemen oplossen die zich tussen hen voordoen, zoals code-integriteit, incompatibiliteit en gegevensverlies. Ontwikkelplatforms voor mobiele apps verminderen ook de kosten, tijd, resources en expertise die een organisatie nodig heeft om een mobiele app te maken. Hoewel een aantal organisaties ervoor kiest om hun eigen platforms te bouwen, kiezen nog veel meer organisaties voor een van de vele beschikbare alternatieven voor app-ontwikkeling.
De beste alternatieven voor het ontwikkelen van mobiele apps voor een organisatie zijn afhankelijk van de typen mobiele apps die ze willen maken, in welke talen ze kunnen coderen en op welke apparaten ze moeten werken. Enkele alternatieven voor de ontwikkeling van mobiele apps zijn:
- Platformoverschrijdende hulpprogramma's zoals Xamarin waarmee ontwikkelaars Android- en iOS-apps kunnen bouwen met .NET en C#.
- Visual Studio-hulpprogramma's voor XamarinVisual Studio-hulpprogramma's voor Xamarin gebruikt één gedeelde codebasis voor mobiele Android-, iOS- en Windows-apps.
- Hulpprogramma's met weinig of geen code, zoals Power Apps. Weinig code is een eenvoudige manier om apps van professionele kwaliteit te bouwen zonder technische training of expertise. Meer informatie.
Resources voor het ontwikkelen van mobiele apps
Documentatie over Azure voor mobiele ontwikkelaars verkennen
Zoek de informatie die je nodig hebt om in Azure mobiele apps te ontwikkelen. Meer informatie over pushmeldingen, verificatie, analyses en SDK's.
Probeer nu een mobiele app te maken
Stel een pijplijn voor continue integratie en levering in voor Android-apps. Maak verbinding met een Git-opslagplaats en je team kan binnen enkele minuten aan de slag.
Veelgestelde vragen over de ontwikkeling van mobiele apps
-
De definitie van de ontwikkeling van mobiele apps kan breed zijn en alle processen die betrokken zijn bij het maken en vrijgeven van een mobiele app omvatten of juist specifiek, waarbij wordt verwezen naar de codering en implementatie van de app.
Meer informatie -
De fasen van het ontwikkelingsproces voor mobiele apps zijn strategie, planning, ontwerp, ontwikkeling, testen en release.
Meer informatie -
Wanneer je besluit welk type mobiele app je gaat bouwen, is het handig om te bedenken wie je gebruikers zullen zijn en waarvoor ze de app nodig hebben.
Meer informatie -
De beste alternatieven voor het ontwikkelen van mobiele apps voor een organisatie zijn afhankelijk van de typen mobiele apps die ze willen maken, in welke talen ze kunnen coderen en op welke apparaten ze moeten werken.
Meer informatie -
Organisaties besteden drie tot negen maanden, of langer als dat nodig is, aan het ontwikkelen van mobiele toepassingen.
Meer informatie -
Hoewel het maanden kan duren om een mobiele app volledig te ontwikkelen, geeft Microsoft je vijf tips om nu aan de slag te gaan met de ontwikkeling van mobiele apps.
Vijf tips voor het maken van mobiele apps -
DevOps combineert het woord "ontwikkeling" en het woord "bewerkingen" en wordt gedefinieerd als de samenvoeging van mensen, processen en technologie om klanten voortdurend waarde te bieden. De DevOps-cultuur, -hulpprogramma's en -procedures kunnen helpen bij het coördineren en samenwerken van geïsoleerde rollen, zoals ontwikkeling, IT-bewerkingen, quality engineering en beveiliging, om betere en betrouwbaardere mobiele apps te maken. Met DevOps kunnen ontwikkelteams sneller reageren op de behoeften van de klant, het vertrouwen vergroten in de apps die ze ontwikkelen en de bedrijfsdoelen van het team sneller bereiken.
Meer informatie over DevOps -
Ontwikkelaars richten zich meestal op de technische mogelijkheden en processen van een cloudprovider, zoals: het gemak van implementatie, beheer en upgrades, of er standaard interfaces en API's worden gebruikt, of er een formeel systeem voor gebeurtenisbeheer is dat is geïntegreerd met het bewakings-/beheersysteem, of er goed gedocumenteerde processen voor wijzigingsbeheer bestaan en of hybride mogelijkheden worden ondersteund.
Meer informatie over het kiezen van een cloudprovider