Sneller innoveren door het optimaliseren van jouw ‘mobile development lifecycle’ (Deel 1)

-

Kasper van Merrienboer – De markt van de mobiele apps groeit erg hard, zelfs harder dan het aantal nieuwe websites. Meer dan de helft van alle online tijd wordt inmiddels in apps doorgebracht, en als je daarbij bedenkt dat Nederland een TOP-land is als het gaat om “connected devices” met meer dan 3 devices die verbonden zijn met het internet, is het noodzakelijk voor elke organisatie zich mobiel te presenteren.

In deze serie blogs wil ik het met jullie hebben over de Mobile DevOps lifecycle die je moet toepassen om een succesvolle app te ontwikkelen. We leven in een ‘mobile-first/cloud-first’ wereld. Wat zijn hiervan de huidige trends? En hoe ziet het ideale Mobile Development, Test, Build, Distribute and Monitor process eruit?

first things first, mobile first!

Mobile first is een term die je vast en zeker eerder hebt gehoord. Veel bedrijven claimen dat ze de mobile first strategie toepassen, maar wat is mobile first eigenlijk?

Mobile first is een manier van ontwerpen en ontwikkelen waarbij je primair kijkt naar het mobiele gebruik en de mobiele ervaring. Vaak wordt dit enkel toegepast op responsive websites, maar ik trek de mobile first strategie graag breder en betrek hierbij ook mobile app development. Waarom? Omdat je bij het ontwikkelen van mobiele apps voor ook veel keuzes staat. Bijvoorbeeld: “kies ik voor een native app, hybrid app of web app?” (op deze specifieke vraag kom ik later in deze blogreeks nog terug).

Bij het maken van de juiste keuze is het belangrijk om in te spelen op de huidige trends. Er zijn twee belangrijke trends op het gebied van mobile first, namelijk: native enterprise apps en appification.

native enterprise apps

De eerste trend is de omarming van native apps. Het klinkt misschien logisch dat de meeste consumer apps of complexe game apps ontwikkeld worden als native app. Maar een trend die ik zie ontstaan is dat ook enterprise apps kiezen voor native app development.

wat is een native app?

Een app is native wanneer je gebruik maakt van de native UI Controls en als de native API’s worden aangeroepen van het besturingssysteem  (iOS, Android, Windows). Een voordeel van native apps is dat je altijd de beste performance hebt voor dat type besturingssysteem..

Volgens een rapport van Gartner gebruikte 41% van alle enterprise apps native functionaliteiten. In 2015 was dit percentage gegroeid naar 58%. Gartner schatte dat deze trend in 2016 zou toenemen. Bedrijven kiezen voor native app development omdat performance en snelheid steeds belangrijker worden voor de taken die deze type apps moeten kunnen uitvoeren.

appification

Een tweede trend is appification. Voorheen hadden bedrijven vaak één app die voornamelijk gericht was op de consument. Wat we afgelopen jaren zien is dat bedrijven steeds meer apps in de store hebben die gericht zijn op de consument maar ook op hun partners en/of werknemers. Deze toename van apps per bedrijf noemen we appification.

weten wat de nieuwe trend is helpt ons in waar we ons op moeten focussen.

Zoals ik eerder vertelde kun je je app op verschillende manieren ontwikkelen (namelijk native, hybrid of web). Als we kijken naar de huidige trends zien we dat steeds meer bedrijven kiezen voor een native app. Een nadeel hiervan is dat de ontwikkeling van een native app vele malen complexer is dan het ontwikkelen van een hybrid of web app.

De tijd die je besteedt aan het ontwikkelen (en doorontwikkelen) van een native app is daarom ook hoger dan bij een hybrid of web app.

Om de snelheid van het ontwikkelen van mobiele apps te kunnen waarborgen zou het dan ook logisch zijn om te kiezen voor hybrid of web development. Maar wat ik nog belangrijker vind dan de snelheid van ontwikkeling is de kwaliteit van de ontwikkeling en de gebruikerservaring (denk hier vooral aan performance en snelheid).

Om deze elementen beide te kunnen waarborgen hebben we er bij Incentro voor gekozen om het grootste deel van onze mobiele apps te ontwikkelen mbv het Xamarin Platform. Wat Xamarin precies is zal ik in mijn volgende blog vertellen maar het komt erop neer dat je apps native ontwikkeld in een programmeertaal (namelijk C#) voor iOS, Android en Windows. Hierdoor heb je net als bij hybrid en web development een codebase en kan je met dezelfde snelheid mobiele apps ontwikkelen met de beste gebruikerservaring.

Toch denk ik dat native app development geen vereiste is om een succesvolle app te ontwikkelen. Je maakt zelf waarschijnlijk wekelijks gebruik van hybrid apps of web apps waarvan je waarschijnlijk niet eens doorhebt dat het geen native app is. Goede voorbeelden hiervan zijn bijvoorbeeld Netflix (Hybrid) of Moodforce (Web).

Ok,… maar wat heb je dan wel nodig om een succesvolle app te ontwikkelen? Goede vraag!

2 ingrediënten voor een succesvolle app

Om een succesvolle (native) mobiele app te ontwikkelen heb je twee dingen nodig. Allereerst een goed functionerende DevOps lifecycle en ten tweede een intelligente cloud backend.

DevOps LifeCycle

Door het inzetten van de juiste tools in je DevOps LifeCycle geef je veel werk uit handen. Ga het wiel niet opnieuw uitvinden, er zijn genoeg tools die je hierbij kunnen helpen.

In mijn toekomstige blogs ga ik dieper in detail over hoe we onze DevOps LifeCycle hebben ingericht. Wat kun je in deze blogreeks verwachten? De volgende thema’s zullen aan bod komen:

Develop

  • IDE: Xamarin Studio, Visual Studio, Android Studio, Xcode
  • Languages:  C#,Java, Objective C, Swift, Javascript
  • Frameworks:   Cordova, Phonegap, React Native, Ionic

Test

  • Platform: Xamarin Testcloud

Build:

  • IDE: Xamarin Studio, Android Studio, Xcode

Distribute:

  • Platform: Hockeyapp, Google Play Developer Console, Testflight

Monitor:

  • Platform: Xamarin Insights, Hockeyapp, Google Play, iTunesConnect

Intelligent Cloud Backend

Op dit moment maken wij gebruik van verschillende intelligent cloud backends. Als Mendix en Outsystems partner zijn dit onze voornaamste intelligent cloud platformen. Naast Mendix en Outsystem gebruiken wij ook Firebase (Google) en Azure (Microsoft) als intelligent cloud platformen. Ook deze zal ik in deze serie blogs behandelen.

We can’t help everyone, but everyone can help someone!

Ik hoop dat je met veel interesse deze blog zal volgen en vind het altijd leuk om over deze onderwerpen te sparren/discussiëren. Ben je geïnteresseerd in Mobile App Development, heb je ervaring met  de Mobile DevOps Lifecycle en wil je hier graag over meepraten? Graag! Bel of mail me dan voor een afspraak!

Kasper van Merrienboer
06 13 93 53 57 – kasper.vanmerrienboer@incentro.com