App bouwen

App bouwen? Alles wat je wilt weten over frameworks en programmeertalen.

De ene keer hebben we het over type ontwikkeltechniek: native, hybride, web app. De andere keer over type framework: MAUI, Xamarin, React Native, Flutter. En weer een andere keer over programmeertaal: C#, Kotlin Swift, Java. Om je te helpen begrijpen welke keuzes jouw app-ontwikkelaar moet maken, halen wij het rookgordijn in deze blog voor je op. Daarom, in deze blog: for once and for all een volledig overzicht van de frameworks, talen en wat de voor- en nadelen zijn voor jouw app!

Datum:
  • 31 maart 2022
Tabel frameworks ketjapp

Om iets met dit overzicht te kunnen doen heb je natuurlijk meer context nodig. Die ga je van ons krijgen. We beginnen…

Een dilemma

We kunnen meteen met de deur in huis vallen. Je moet je afvragen waar jij het meest op besparen wilt en kan:

  1. Tijd en geld
  2. Of functionaliteit

Deze opties bepalen namelijk meteen de ontwikkelmethode voor jouw app. Is tijd en geld voor jou niet leidend? Dan moet je altijd voor de opties in het groen kiezen. Is tijd en geld voor jou wel leidend? Dan zijn de ontwikkelmethodes in het rood meer geschikt voor jou.

Maar dat is kiezen tussen twee kwaden! 

De keuze die je eerder werd voorgelegd waren geen lekkere opties hè? Er is nog een gulden middenweg. Tussen die groene en rode opties is gelukkig nog een onderscheid te maken. Een die niet al te zeer effect heeft op de functionaliteit van een app, maar wel tijd en geld kan besparen. En dat zijn de ontwikkelmethodes in het blauw. Om te begrijpen waarom dat zo is moet je snel verder lezen.

De waarheid over programmeertaal voor mobiele apps

App development is een specifiek hoekje van het vak development. Zowel Google (Android) als Apple (iOS) hebben een heel eigen ecosysteem ontwikkeld met hun eigen developer tools speciaal voor hun platform. Zonder apps hebben Android en iOS geen bestaansrecht en Google en Apple zitten dan ook bovenop de doorontwikkeling van hun platform en de developer tools. Échte app-developers kiezen dan ook voor “native native” development met Kotlin en Swift.

Veel app developers, waren ooit webdevelopers die mobiele apps wilden bouwen. Zo’n developer zal daarom meer kijken naar ‘wat kan ik al’ en ‘hoe kan ik hiermee apps gaan ontwikkelen’. Wilt een oud-webdeveloper mobiele apps bouwen? Dan doet hij dat bijvoorbeeld in de frameworks: Ionic of React Native. Deze gebruiken namelijk veel voorkomende webtalen: JavaScript en TypeScript. In deze frameworks is het voor hen laagdrempeliger om een app te maken. Plus! In deze frameworks bouw je 1x een app die op zowel Android als iOS draait. Één keer bouwen en op meerdere plekken lanceren dus. Zo waren ze dat ten slotte al gewend bij webdevelopment.

Frameworks vereenvoudigd

In alle frameworks kun je een basic app neerzetten. De kracht van frameworks zit hem in tijdsbesparing. Doordat het framework dingen voor ons doet hoeven wij dat niet te doen. En dat scheelt tijd en dus geld. Echter kan dit voordeel ook een nadeel worden. Als je eenmaal een framework hebt gekozen is het vaak lastig om daarvan af te wijken. Dus wil je bijvoorbeeld de nieuwste (of zeldzame) platform API’s gaan gebruiken dan moet het framework deze wel ondersteunen. Voorbeelden? Tja die veranderen met de dag. Maar denk bijvoorbeeld aan dingen als AR, night mode, foldables of Material You. Het is daarom dus belangrijk om te weten wat de (toekomstige) wensen voor jou app zijn.

Software ontwikkeling met framework

Binnen software ontwikkeling wordt bijna altijd een framework gebruikt. De simpele reden daarvoor is dat een framework ons helpt om makkelijker én sneller een app te bouwen. Je hoeft hierin namelijk niet alles from scratch op te bouwen. En dat is slim - van herhalend werk wordt niemand blij. Nu klinkt het misschien alsof je dan weinig vrijheid hebt, maar dat is niet waar. Je hebt nog steeds heel veel keuze voor volledig op maat gemaakte app. 

  • Je kiest de koffiebonen naar je smaak
  • Je kiest het koffiezetapparaat
  • Je kiest de maling, melk en suiker
  • Je snapt ‘m!

Software ontwikkeling zonder framework

Deze optie loont zich enkel als je een wel heel uniek product te pakken hebt. Nu hoor ik je denken: ‘Ja echt wel!' En ik snap je. Maar je product kan echt nog heel uniek zijn bínnen een framework. De kans dat het zich loont om deze from scratch te bouwen is klein. In koffie taal houdt het namelijk in dat je bovenop de keuzes die je binnen een framework moet maken, ook nog het volgende moet doen:

  • Je moet zelf de koffiebonen verbouwen
  • Je moet de waterwinning aanleggen
  • Je moet zelf het koffiezetapparaat bouwen

Je weet nu alles. Conclusie?

We hebben de regels in de tabel waarmee we begonnen niet voor niets een duidelijk onderscheid gegeven. 

Groen is het beste

Native apps zijn de meest pure vorm van een app. De apps zoals Apple en Google het voor ogen hadden. Door apps native te bouwen krijg je simpelweg de beste app. Deze apps voldoen altijd aan de beveiligingsstandaarden van de app stores - anders worden ze eruit geknikkerd. Extra lagen in niet-native apps zorgen voor meer kans op bugs en issues. Én een slechtere prestatie van de app, omdat de code minder efficiënt is en voor vertragingen zorgt. Tot slot zijn native apps de meest duurzame optie die je hebt. Betere apps, betekent meer verkopen van devices, dus inkomsten voor Google en Apple. Dit betekent dat zij altijd native ontwikkeling zullen faciliteren met de beste tools en informatie. Er is maar één reden om dit niet te doen: tijd en geld.

Blauw is second-best

Wij begrijpen als geen ander hoe belangrijk tijd en geld is. Tijd = geld. En daarom is het slim om pragmatische keuzes te maken. In dat geval is je beste alternatief voor ‘native native’ ontwikkeling, Kotlin Multiplatform Mobile of MAUI (eerder bekend als Xamarin). 

Rood is geen optie

Wij zijn app developers in hart en nieren. Deze methodes zijn allemaal voor de developer. Niet voor het eindresultaat. Dus we moeten eerlijk hierover zijn en concluderen dat dit gewoon niet de beste opties zijn voor jouw app.

Je kan het raden, wij ontwikkelen alleen apps volgens methodes in de groene of blauwe categorie. Wil jij een app ontwikkelen? Maar voel je je misschien nogal overwhelmed door alle opties en mogelijkheden? Kom dan eens vrijblijvend bij ons gesprek. We helpen je graag verder!