Ga direct naar inhoud

Stevige grip op je apps – van bouw tot analyse

Arjan Nieuwenhuis

Experienced professionals

Software Engineering

Een app kan voor gebruikers bedrieglijk simpel lijken. Als developer weet je wel beter: het kost heel wat hoofdbrekens om apps door hun hele lifecycle te managen. Zeker als ze moeten werken in verschillende ecosystemen. In zijn Tech Talk van 7 oktober laat Software en Solution Architect Arjan Nieuwenhuis zien hoe je met Visual Studio App Center verrassend sterk ‘in control’ bent over je apps. Hij praat je bij in deze blog.

Een versnipperd online landschap, daar moet je het als app-bouwer mee doen. De gemiddelde app heeft nogal wat ‘bewegende onderdelen’ die op elk van de grote ecosystemen weer anders zijn geïmplementeerd. En daarachter schuilt nog de wildgroei aan devices in ontelbare vormen en maten. Ga er maar aan staan…

Gelukkig zien we in ons vakgebied niet alleen steeds meer complexiteit, maar ook handige totaaloplossingen om die te lijf te gaan. Het Visual Studio App Center van Microsoft vind ik daar een mooi voorbeeld van. Dit is een geïntegreerde solution om het hele voortbrengingsproces van je apps te stroomlijnen – en jouw leven als developer dus een stuk makkelijker te maken.

BOUWEN: Houvast en overzicht

Native, multiplatform native of toch hybride met webtechnologie? That’s the question. Alle opties hebben hun pro’s en cons. Veel bedrijven kiezen voor native apps en daar zijn soms goede redenen voor. Ze richten dan per platform één of meerdere teams in, meestal seperate voortbrengingsprocessen, en meerdere DTAP-straten. Hierbij richten ze zich op de platformverschillen in plaats van mogelijkheden voor synergie. Naast de specialisten die je voor de mainstream-platforms nodig hebt, gaat er een hoop tijd, liefde en moeite in zitten voor elk platform, en dus – inderdaad – geld.

Zelf ben ik een groot voorstander van multiplatform native apps zoals Xamarin. Eén codebase en toch native performance en functionaliteit. App Center ondersteunt heel goed deze multiplatform-aanpak. Je kunt App Center koppelen aan je code repo. Of voeg vanuit je CI/CD-pipelines als laatste stap een taak toe om deze versie van de app beschikbaar te stellen in App Center. Daar kun je de app al of niet geautomatiseerd via triggers distribueren naar diverse testgroepen. Daarover straks meer.

In de Tech Talk heb ik als voorbeeld een app genomen die in Xamarin is gemaakt. Daarbij heb je één single codebase om native naar Android en iOS te deployen. Naast de synergie in code met Xamarin valt er met App Center ook synergie te behalen door één plek te hebben om de app te managen en beschikbaar te stellen aan testgroepen, enterprise stores of de publieke app stores – je regelt alles vanuit App Center. Zo heeft dit platform volop functionaliteiten die voor jou versnellers en kostenbespaarders zijn, en die je simpelweg meer houvast en overzicht geven.

TESTING: Helemaal in control

Tijdens het testproces ga je erg blij worden van de mogelijkheden in App Center. Je bent in staat een app aan specifieke tests te onderwerpen op een groot scala aan fysieke devices. Handig, omdat je dan niet fysiek over alle devices hoeft te beschikken. Daarnaast is alleen maar testen op emulatoren en simulatoren ook beperkt effectief – fysieke devices for the win! Nu is dat wel kostbaar, eerlijk gezegd, dus mijn tip is om de diagnostische informatie leidend te laten zijn. Merk je dat een app vaak crasht op een specifiek device, dan kun je van de aangepaste versie testruns opzetten voor precies die devices. Zo zit je heel strak op de bal en houd je de kosten relatief laag.

Distribueer vervolgens deze testversies naar de testgroepen, en bepaal hierbij precies waar de testversie terechtkomt. Draai je een dedicated test om een probleem te onderzoeken, dan wil je immers de juiste groep mensen toegang geven. Met het App Center heb je hierover de volledige regie en control. En zo hoef je dus niet meer een installatiebestand (ipa, aab of old skool apk) rond te sturen, waarbij je niet weet waar die terecht gaat komen.

Deze aanpak is ideaal voor onder meer de user acceptance test. Je haalt zo namelijk barrières weg voor testgebruikers, omdat ze de app kunnen testen zonder dat ze hun device hoeven te (laten) registeren. En zonder dat ze zelf het pakketje handmatig hoeven te installeren. Tip: vergeet niet de App Center-website op je fysieke device via een browser te benaderen in ‘mobile’ modus. Vaak staat ’ie nog op desktop-modus, waardoor de browsersessie je niet automatisch de gewenste experience geeft.

HEALTH: Telkens beter

Iets wat nauw samenhangt met testen verbeteren, is natuurlijk de health van je app. Door een stukje App Center via een sdk in je app te integreren, krijg je een mooi overzicht van health-rapportages. Als de app ergens crasht, verschijnt er bij jou een log met alle relevante info over de crash en het device. Dat levert je veel inzicht op. Want nee, je kunt niet voorkomen dat mensen soms een ‘bad user experience’ hebben met je app. Maar je kunt de boel wél zo inrichten dat je het probleem zo snel mogelijk signaleert en verhelpt in een nieuwe versie. Waardoor je ook de beoordeling van je app telkens kunt verhogen. Jij blij, gebruiker blij, opdrachtgever blij!

ANALYSE: Zicht op het gebruik

Is de app eenmaal up & running, dan kun je ervoor kiezen de extra stap te zetten naar inzicht in hoe het gebruikt wordt. Het Analytics-deel van het App Center is dan de plek waar je vaak gaat kijken. Wel moet je dit net als Health eerst integreren in de app. Hiervoor zijn meerdere sdk’s beschikbaar. Je kunt zo aanvullende triggers in de app opnemen waardoor je bijvoorbeeld precies ziet welke flow je gebruikers volgen. Wie klikt waarop? Ook kun je specifieke ‘events’ instellen om inzicht te krijgen in iets als hoe vaak er foto’s geüpload worden of hoeveel schermtijd de app krijgt. Pak je dit goed aan, dan krijg je volop kansen om de usability van de app steeds verder te verbeteren. Ook heb je zo inzicht in trends en statistieken over de gebruikersgroep van de app – geaggregeerd over de verschillende platformen heen.

Kortom: ontwikkel jij mobiele apps voor verschillende platforms en ben je op zoek naar een manier om dit proces overzichtelijker en efficiënter te maken? Kijk dan zeker eens wat Visual Studio App Center kan betekenen voor jou, je opdrachtgever én je (test)gebruikers!

Bekijk de Tech Talk van Arjan Nieuwenhuis over Visual Studio App Center

In zijn Tech Talk van 7 oktober is Arjan jouw gids in Visual Studio App Center – een suite aan diensten en functionaliteit voor het ontwikkelen, testen, distribueren en monitoren van apps. Hij laat zien hoe deze software jouw leven als app-developer mooier maakt.

Over Arjan Nieuwenhuis

Arjan Nieuwenhuis is Software en Solution Architect bij Capgemini, met veel ervaring als app-developer en mobile architect. Als informaticus heeft hij stevige basis in software, softwareontwikkeling en technische kunstmatige intelligentie – en is altijd gretig om zich in nieuwe ontwikkelingen te verdiepen. Daarnaast is Arjan een ‘family man’ en kan hij erg genieten van wandelen in de natuur en het zelf telen van groente en fruit.