blog.

Keuzestress in mobile development (deel 1)

Kotlin, React Native, Appium, Native, Swift, Xamarin, Flutter, Espresso, Cross platform, Bitrise, Xcode, Objective C, Firebase, Hybrid. Zomaar een greep uit termen die een mobile developer direct iets zullen zeggen, maar die de gemiddelde app gebruiker – en wie behoort tegenwoordig niet tot die groep? – een worst zullen wezen. Als het maar werkt!

De mobile developer weet beter! Dat een app niet automatisch op zowel iOS als Android werkt zal bij een menigeen bekend zijn, maar het kan zelfs voorkomen dat problematieken alleen op een specifiek type telefoon spelen. Voor je op dat punt komt speelt echter nog een belangrijkere vraag: “Welke technieken ga je eigenlijk gebruiken voor de ontwikkeling en hoe zorg je dat je zelf bij de tijd blijft?”

Vacature Mobile development

Whyellow nieuwsbrief

Nooit meer iets missen van Whyellow? Schrijf je dan in voor onze nieuwsbrief.

Het antwoord!

Zoals je kunt verwachten in een blog waar direct na de vraag het antwoord volgt: hét antwoord bestaat niet. Elke casus, elke app heeft zijn eigen karakter. Voor een app die ontwikkeld wordt voor business-to-business doeleinden gelden hele andere randvoorwaarden als voor een app voor de consumentenmarkt. Een app die volledig gebruik maakt van alle mogelijkheden van je telefoon (gps, camera, bluetooth, etc.) vraagt weer om hele andere oplossing als een app waarbij de hoofdmoot bestaat uit het tonen en invoeren van data.

Stellen van de juiste vragen

Voor je dus met de ontwikkeling van een app start is het van levensbelang (voor de app) om de juiste keuzes te maken. Om dit te kunnen doen moet je eerst de juiste vragen stellen. De eerste twee vragen zijn al gesteld:

Wat is je doelgroep?

Een app voor de consumentenmarkt moet snel werken, de gebruiker direct aanspreken en deze vasthouden. De consument wordt verwend met duizenden apps en verwijdert een app net zo makkelijk van de telefoon als dat deze is geïnstalleerd. Bij een business app is de gebruiker echter vaak gebonden aan jouw specifieke app, omdat deze gekoppeld is aan de bedrijfssoftware of -processen. Robuustheid speelt hierbij vaak een grotere rol dan snelheid, hoewel die natuurlijk ook belangrijk blijft

Hoe afhankelijk is je app van de mogelijkheden van de telefoon?

Het aanspreken van bijvoorbeeld de camera van je telefoon werkt op Android anders dan op iOS. Wanneer je meer gebruik wilt maken van de mogelijkheden van een specifiek platform of zelfs een specifieke telefoon, zul je een ander type app moeten ontwikkelen. Zaak dus om voordat je begint te bepalen wat je wensen zijn.

Hoe snel en hoe vaak wil ik de app kunnen wijzigen?

Moderne software gaat gepaard met continuous delivery, oftewel snel en vaak nieuwe versies maken, en automated testing. Voor apps is dit niet anders. De mate van automatisering en de uitvoerigheid van tests is echter nog steeds een keuze. Je kunt bijvoorbeeld geautomatiseerde tests uitvoeren op één device, maar er zijn ook cloud diensten die jouw tests tegelijkertijd uitvoeren op de devices van jouw keuze. Het budget bepaalt uiteindelijk hoe uitvoerig dit gedaan kan worden.

De vervolgvragen voor developers

De eerder gestelde vragen hebben invloed op keuzes die de ontwikkelaars van een app moeten maken. Als niet-techneut is het nuttig om inzicht te hebben in de belangrijkste afwegingen die hierbij een rol spelen.

Native, hybrid of cross platform?

Deze keuze is één van de eerste die elke mobile developer als eerste maakt. Het komt erop neer dat je een app kunt ontwikkelen specifiek voor Android en daarnaast één voor iOS (native) of een app die voor beide platforms werkt, en in dat laatste geval: hoe (hybrid of cross platform)? Over deze keuze is veelvuldig geschreven en ik zal de niet-technisch onderlegde lezer hier dan ook niet mee vermoeien. Kort gezegd geeft native meer voordelen op de specifieke platformen en hybrid en cross platform een app die overal hetzelfde werkt en sneller te ontwikkelen is voor beide platformen.

Platform en de rest van de technology stack

Als besloten is wat voor type app ontwikkeld gaat worden, zijn er nog steeds legio keuzemogelijkheden over. Van de programmeertaal tot techniek voor UI testing, van version control system (broncode beheer) tot gebruikte cloud diensten: de huidige wereld van software-ontwikkeling heeft voor alles wat je kunt bedenken meerdere opties. Hierbij geldt eigenlijk altijd dat er meerdere wegen naar Rome leiden. Een weloverwogen keuze is belangrijk, maar vooral kennis en ervaring door het daadwerkelijk doen brengen je verder.

De stress voorbij: De keuze van Whyellow

De basis van de keuze blijft zoals eerder gezegd “elke app heeft zijn eigen karakter”. Bij Whyellow gaan we echter in onze keuzes volledig uit van genoemde vragen, wat onze keuzestress flink verlaagt. Wil je een échte consumenten-app met heel veel gebruik van de mogelijkheden van mobile devices? Dan gaan we graag aan de slag met native apps o.b.v. Kotlin, Swift of Objective C. Heb je een beperkter budget of ligt de nadruk van je app meer op informatie-uitwisseling? Dan gaan we kijken naar de mogelijkheden van een cross platform app.

Voor de rest van de technology stack is het doel van Whyellow zoveel mogelijk top-shelf en herbruikbare oplossingen te hanteren. Geen keuzestress, maar een robuuste basis, waarbij we het onbekende niet schuwen omdat vernieuwingen altijd meerwaarde kunnen bieden.

Deze blog is geschreven door Joël de Jong, Senior Developer en Software Architect bij Whyellow.

Joël de Jong Developer over ons Whyellow

Deel deze blog

Weten of Whyellow ook voor jou een geschikte werkgever is?
We maken graag kennis met je.

Maak afspraak