Mobiele ontwikkeling verwijst naar de processen en procedures voor het schrijven van software voor mobiele apparaten, zoals smartphones, smartwatches en tablets.
Modern computergebruik is van desktops en zelfs de laptops van de vorige decennia afgestapt. Tegenwoordig wordt er vooral op mobiele apparaten gewerkt en is meer dan de helft van alle internetverkeer afkomstig van smartphones, tablets en andere draadloze opties.
Omdat computergebruik van stationair naar mobiel blijft verschuiven, is er een groeiende vraag naar software die effectief kan functioneren op mobiele apparaten. Maar dit betekent meer dan alleen mobiele apps maken: organisaties moeten toepassingen kunnen ontwerpen die op mobiele apparaten werken én de unieke mogelijkheden van mobiele apparaten volledig benutten.
Om deze behoefte effectief aan te pakken, vertrouwen steeds meer bedrijven op mobiele ontwikkeling.
Een mobiel apparaat heeft een werkend besturingssysteem (OS) nodig om een toepassing uit te voeren. Het besturingssysteem neemt de rol van tussenpersoon op zich, die de interactie tussen de computerhardware en de uit te voeren programma's soepel laat verlopen. Het besturingssysteem zorgt ervoor dat de softwareprocessen die op de computer worden uitgevoerd, toegang hebben tot de juiste resources en dat ze op de beoogde manier kunnen functioneren.
Een mobiel ontwikkelingsplatform is in feite een besturingssysteem dat is ontworpen voor het bouwen, testen en implementeren van mobiele applicaties. Van oudsher bestaan er meerdere levensvatbare mobiele ontwikkelingsplatforms, maar het grootste deel van de markt is momenteel verdeeld tussen twee belangrijke concurrenten: Android en iOS.
Android is het grootste mobiele ontwikkelingsplatform en heeft ongeveer 80% van de markt in handen. Dit komt omdat Android een opensource-besturingssysteem is, waarmee veel typen apparaten van verschillende fabrikanten verschillende versies van het Android-besturingssysteem kunnen uitvoeren. Android wordt ondersteund door Google, is gebaseerd op Linux en stelt iedereen in staat hardware te bouwen die dit besturingssysteem kan ondersteunen. Hetzelfde geldt voor de ontwikkeling van Android-toepassingen: ontwikkelaars hebben volledige autonomie bij het maken van apps voor Android-apparaten. Dit biedt meer flexibiliteit voor apps en houdt de toegangsdrempel extreem laag.
Google biedt native tools voor het ontwikkelen van mobiele Android-toepassingen, waaronder Android Studio. Het feit dat het besturingssysteem open source is, betekent verder dat externe providers ook hun eigen Android-ontwikkeltools kunnen maken (en dat ook doen). De uitgebreide richtlijnen voor ontwikkelaars van Google dragen eraan bij dat de resulterende toepassing er goed uitziet en goed functioneert op veel verschillende hardwaretypen. Maar aangezien het aantal potentiële Android-apparaten zo goed als onbeperkt is, is er geen manier om er zeker van te zijn dat nieuwe toepassingen in elke situatie en met elk type hardware effectief zullen functioneren.
Ondanks dat iOS slechts een marktaandeel van rond de 18% heeft, is het waarschijnlijk het dominante platform van de top twee. iOS is eigendom van en wordt beheerd door Apple, het bedrijf dat met de komst van iPhone- en iPad-technologieën de grootste rol erin heeft gehad dat mobiel computergebruik de norm is geworden.
Dat iOS op minder apparaten beschikbaar is dan Android, komt doordat het niet open source is: iOS werkt uitsluitend op Apple-producten. Om toepassingen voor iOS te bouwen, moeten ontwikkelaars ook een Mac-computer gebruiken met OS X (het standaard besturingssysteem voor Mac).
Apple biedt ook native tools en bibliotheken voor mobiele ontwikkeling en moedigt ontwikkelaars aan om de Swift-programmeertaal van Apple te gebruiken.
Vanwege de strakke controle door Apple op de hardware- en softwareaspecten van iOS-ontwikkeling, presteert iOS meestal op een zeer responsieve, stabiele en gebruiksvriendelijke manier. Fragmentatie vanwege een grote verscheidenheid aan apparaten is ook een minder groot probleem omdat Apple zijn toepassingen alleen op eigen hardware laat draaien. Aan de andere kant betekenen de strengere richtlijnen dat het moeilijker kan zijn om volledig aangepaste apps te maken. Ook moeten nieuwe iOS-toepassingen ter beoordeling en goedkeuring worden ingediend bij de App Store.
Alle andere huidige mobiele ontwikkelingsplatforms delen de resterende 2% van de markt. Deze omvatten onder andere de Windows- en BlackBerry-ontwikkelingsplatforms, maar bijna alle mobiele ontwikkelaars kiezen ervoor om zich te richten op Android, iOS of een combinatie van beide.
Er zijn verschillende benaderingen van mobiele ontwikkeling. Hier bekijken we drie van de meest gebruikte:
De meest directe en voor de hand liggende mobiele ontwikkelingsmethode is waarschijnlijk het gebruik van de tools en platforms die door de leverancier van het besturingssysteem worden geleverd. Deze tools zijn ontworpen met het oog op gebruiksgemak en bieden voorbeelden, tools, frameworks en andere resources om snellere foutopsporing en optimale functionaliteit te garanderen op het mobiele besturingssysteem waarvoor de app wordt ontwikkeld.
Native ontwikkelingstools hebben echter hun nadelen. Omdat ze zijn ontworpen om ontwikkeling voor het betreffende besturingssysteem te vergemakkelijken, maken ze gebruik van verschillende programmeertalen. Dit betekent dat ontwikkelaars die code willen gebruiken met Android- of iOS-ontwikkelingstools, niet in hun voorkeurstaal kunnen werken maar vertrouwd moeten zijn met de talen die deze tools gebruiken. Dat betekent ook dat het bouwen van één app voor beide besturingssysteemopties misschien dubbel werk is, waarbij de toepassing tweemaal moet worden geprogrammeerd en twee verschillende sets processen en best practices moeten worden gevolgd.
Maar als je slechts voor één besturingssysteem apps wilt maken, kan native ontwikkeling de snelste en eenvoudigste oplossing zijn.
Voordelen
- Geoptimaliseerde prestaties
Native ontwikkelde apps werken vaak beter en consistenter omdat ze de functies van het apparaat volledig benutten. - Verbeterde bruikbaarheid
Native apps zijn gebouwd om te functioneren op specifieke apparaten. Op deze manier kunnen ze profiteren van de inherente mogelijkheden van deze apparaten om een betere gebruikerservaring te bieden. - Codering met één platform
Omdat ze zijn ontworpen om op slechts één platform te werken, en niet op meerdere besturingssystemen te hoeven werken, zijn native apps gemakkelijker te ontwikkelen.
Nadelen
- Specialisatie vereist
Native apps die zijn ontworpen voor specifieke besturingssystemen, vragen om ontwikkelaars die gespecialiseerd zijn in codering voor het doelapparaat. - Meerdere ontwikkelingsinspanningen
Omdat native apps specifiek moeten worden ontwikkeld voor individuele besturingssystemen, zijn meerdere ontwikkelingsinspanningen vereist om een app te bouwen die op meer dan één platform kan functioneren. Daaraan zijn ook hogere kosten en meer tijd verbonden.
Platformoverschrijdende (of hybride) ontwikkelingsframeworks zijn ontworpen om ontwikkelaars in staat te stellen effectieve mobiele applicaties te creëren die optimaal kunnen functioneren op de twee belangrijkste besturingssystemen. In een ideale situatie betekent dit dat de ontwikkelaar de code slechts één keer hoeft te schrijven en deze vervolgens op alle ondersteunde platforms kan laten draaien. De meeste cross-platform frameworks neigen echter richting het ene of het andere besturingssysteem, waardoor ontwikkelaars de versie van de app die bedoeld is voor het andere besturingssysteem moeten aanpassen.
Vaak zijn platformoverschrijdende frameworks abstracties: ze maken gebruik van native bibliotheken en frameworks en vereisen dat ontwikkelaars een basisinzicht hebben in deze elementen. Andere frameworks kiezen voor een hybride aanpak, die webgebaseerde HTML-componenten en native componenten combineert.
De meeste platformoverschrijdende oplossingen ondersteunen een specifieke programmeertaal. Veel ontwikkelaars zullen hun keuze daarom baseren op de programmeertalen waarmee ze al vertrouwd zijn.
Voordelen
- Snellere ontwikkeling
Voor een platformoverschrijdende app die op meerdere besturingssystemen kan functioneren, is slechts één codeset nodig. Hierdoor zijn snellere ontwikkelingscycli mogelijk. - Eenvoudigere ontwikkeling
Ontwikkelaars van hybride apps hoeven slechts één technologie te leren, waardoor er minder toegangsbarrières zijn en het ontwikkelingsproces eenvoudiger is. - Breder publiek
Omdat platformoverschrijdende apps ontworpen zijn voor distributie via beide grote app-marktplaatsen, kunnen ontwikkelaars zowel Android- als iOS-gebruikers bereiken.
Nadelen
- Verminderde bruikbaarheid
Apps die zijn gemaakt om op beide grote besturingssystemen te functioneren, zijn meestal niet in staat om volledig te profiteren van de platformspecifieke functies. Dit kan de bruikbaarheid beïnvloeden en leiden tot apps die langzamer werken dan native apps. - Tragere uitrol van nieuwe functies
Als er nieuwe native functies worden geïntroduceerd, moeten platformoverschrijdende ontwikkelaars wachten op hun ontwikkelingsframework om deze functies compatibel te maken. - Moeilijk aan te passen
Aanpassingen zijn veel moeilijker wanneer de app niet via native ontwikkeling is gemaakt. Verder zijn de aanpassingen misschien niet volledig mogelijk met platformoverschrijdende frameworks. - Prestatieproblemen
Bij apps die niet voor een specifiek besturingssysteem zijn gebouwd, kunnen communicatie- en prestatieproblemen optreden.
De derde optie, die de afgelopen jaren steeds populairder is geworden, is het gebruik van mobiele webapps voor mobiele ontwikkeling. Dit houdt in dat er een webapplicatie wordt gebouwd die toegankelijk is via een standaard webbrowser, maar wordt geoptimaliseerd voor gebruik op mobiele apparaten.
Deze aanpak lijkt misschien een stap terug, maar de waarheid is dat mobiele webapps net zo effectief, functioneel en verfijnd kunnen zijn als elke native app. Er zijn zelfs een groot aantal frameworks beschikbaar die zijn ontworpen om ontwikkelaars te helpen mobiele webapps te maken die aanvoelen als native apps wanneer ze worden uitgevoerd op een specifiek mobiel besturingssysteem. Mobiele webapps kunnen zelfs functionaliteit integreren van de mobiele apparaten waarop ze worden uitgevoerd, zodat ze bijvoorbeeld de camera kunnen gebruiken, telefoonnummers kunnen kiezen en locatiegegevens kunnen ophalen.
Voordelen
- Vereenvoudigd onderhoud
Met behulp van standaardtalen en -regels voor websiteprogrammering zijn mobiele webapps net zo eenvoudig te bouwen en bij te werken als websites. - Snellere ontwikkeling
Bij de ontwikkeling van webapps wordt slechts één codeset gebruikt, waardoor een sneller en eenvoudiger ontwikkelingsproces mogelijk is. Omdat geen goedkeuring van de belangrijkste app-marktplaatsen is vereist, kunnen ze ook veel sneller worden uitgebracht. - Lagere kosten
Vereenvoudigde codering en snellere ontwikkelingscycli betekenen lagere ontwikkelingskosten. - Optimale toegankelijkheid
Webapps werken op dezelfde manier als websites en zijn toegankelijk via elke standaardwebbrowser.
Nadelen
- Afhankelijk van internet
Omdat webapps worden geopend via een standaard webbrowser, hebben ze een internetverbinding nodig om te kunnen functioneren. Zonder toegang tot wifi of mobiele data hebben gebruikers geen toegang tot de app. - Beperkte toegankelijkheid van functies
Webapps hebben geen toegang tot de native functies van een apparaat of besturingssysteem, waardoor de functionaliteit ervan mogelijk wordt beperkt. - Niet verbonden met app-marktplaatsen
Webapps zijn niet beschikbaar via app-marktplaatsen en kunnen gemakkelijk over het hoofd worden gezien.
Hoewel individuele ontwikkelaars verschillende benaderingen of methodologieën kunnen toepassen, volgt het app-ontwikkelingsproces over het algemeen zes stappen:
Het ontwikkelingsteam moet met andere afdelingen en belanghebbenden samenwerken om vereisten voor de toekomstige app vast te stellen. Voorbeelden zijn de functies en mogelijkheden die de app nodig heeft, evenals de doelgroep en de specifieke problemen die de app moet kunnen oplossen.
Als het idee achter de app duidelijk in beeld is, volgt het ontwerpen van de gebruikersinterface (UI) en gebruikerservaring (UX) voor de app.
De ontwikkelingsfase is waar de feitelijke codering begint. Ontwikkelingsteams programmeren de app volgens de vastgestelde richtlijnen. De voorbereidende tests beginnen, met als doel een correcte werking te garanderen.
Als de app bijna klaar is, moeten uitgebreidere tests worden uitgevoerd. Deze testfase helpt niet alleen te bepalen of de app werkt of dat er storingen zijn die moeten worden aangepakt, maar houdt ook rekening met de algehele kwaliteit en gebruikerservaring.
Nu de laatste tests zijn voltooid en de app aan de vastgestelde normen voldoet, is deze klaar voor release.
Marketing is technisch gezien geen onderdeel van app-ontwikkeling, maar zorgt er wel voor dat het harde werk van het ontwikkelingsteam niet verloren gaat. De juiste marketingstrategie is essentieel om de doelgroepen te laten weten dat de app beschikbaar is en wat deze te bieden heeft. Tegelijkertijd kan marketing waardevolle feedback opleveren die ontwikkelaars kunnen gebruiken om de app te verbeteren door verdere ondersteuning.
Het succes van vrijwel elke mobiele app hangt af van hoe bruikbaar deze is. De gebruikersinterface bepaalt hoe de toepassing eruit zal zien en hoe gebruikers er interactie mee zullen hebben. Het maken van een effectieve UI vereist dus bepaalde componenten:
Bij het bouwen van de informatiearchitectuur specificeren ontwikkelaars de functionaliteit van de app, terwijl ze ook gedetailleerd aangeven waaruit de interface zal bestaan.
Wireframes creëren een elementaire visuele weergave van hoe de voltooide app eruit moet zien. Dit omvat onder meer de grootte van de verschillende elementen en hun onderlinge relatie met betrekking tot de lay-out.
Stijlgidsen zijn referentiebronnen die relevante details over de app geven om ervoor te zorgen dat het ontwerp overal consistent blijft.
Mock-ups bouwen voort op wireframes en stijlgidsen en tonen de stroom van de app in de vorm van een statische visualisatie.
Een prototype is een minimale versie van de werkende app die alle voorgaande componenten bevat of verwijdert. Prototypes geven ontwikkelaars een dynamische kijk op hoe de app zal functioneren voordat deze helemaal klaar is. Dit helpt ze om knelpunten in de UI en UX op te sporen, zodat de kans groter is dat het voltooide product aan de verwachtingen van gebruikers voldoet of die overtreft.
Het bouwen van betrouwbare, krachtige apps is intussen noodzaak om concurrerend te blijven in de steeds meer verbonden bedrijfswereld van vandaag. ServiceNow, de leider op het gebied van IT-beheeroplossingen, biedt oplossingen voor app-ontwikkeling waarmee elke organisatie eenvoudig toegang heeft tot geavanceerde tools en resources voor het conceptualiseren, ontwikkelen, publiceren en onderhouden van aantrekkelijke en effectieve apps.
Met Mobiele studio van ServiceNow beschikken bedrijven over alles wat ze nodig hebben om aangepaste mobiele apps te bouwen, zonder dat ze een leger aan ontwikkelaars of diepgaande kennis van code nodig hebben. Dankzij direct inzetbare sjablonen, functies voor slepen en neerzetten en gebruiksvriendelijke branding-opties maakt Mobiele studio app-ontwikkeling zo eenvoudig als een druk op de knop. De configuratietools van de Mobiele-appbuilder van ServiceNow gaan nog een stap verder en bieden verbeterde organisatie, zichtbaarheid en begeleiding bij het maken van apps.