YipYip is een Flutter app ontwikkelaar.

Kunnen we bij jullie een Flutter app laten maken? Als app ontwikkelaar krijgen we steeds vaker deze vraag. Flutter app ontwikkeling is namelijk ontzettend populair en een zeer goed alternatief voor pure Native ontwikkeling.

Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel
Logo carousel

Hybride app vs. Native app laten ontwikkelen

We krijgen als app ontwikkelaar tevens regelmatig de vraag waarom we veelal native apps ontwikkelen en wat minder hybride of mobiele web-apps. Het antwoord hierop is dat apps zich niet altijd lenen voor een dergelijke (Flutter) aanpak.

Toch zijn er genoeg uitzonderingen denkbaar. De volgende situaties kunnen bepalen of het verstandig is of een Flutter app laten maken interessant is, in tegenstelling tot native ontwikkeling:

Uitzonderingen

  • apps waarbij de interface op iOS en Android volledig gelijk moet zijn;
  • apps die vanaf lancering vaak geüpdate zullen gaan worden met nieuwe features;
  • apps voor startups waarbij er nog niet zeker is wát er aan features nodig zal zijn;
  • apps die een beperkte houdbaarheid hebben (denk aan apps die puur ondersteunen bij een marketingcampagne);
  • een beperkt budget kan tevens een reden zijn, tenzij er nog op andere manieren (functionaliteit, platformkeuze et cetera) bespaard kan worden.

Afhankelijk van het antwoord op deze punten kiezen we samen met de klant de beste aanpak voor het project. Een van de app development frameworks waar we erg enthousiast over zijn geworden de afgelopen jaren is Flutter.

Introductie Flutter

Flutter is de User Interface toolkit van Google. Het focust zich voornamelijk op het programmeren van de views (front-end kant van de apps). Omdat het zich focust op de voorkant is het compileren ook minder een probleem dan bij andere frameworks.

Omdat Flutter cross-platform kan compileren hoeven we geen gebruik te maken van gedeelde datalagen (met Kotlin Native, zoals we in onze Native apps doen). De code van onze Flutter projecten bestaat immers slechts in één codebase.

Flutter app vs. Native app

Apps ontwikkelen kan op verschillende manieren

Flutter apps worden net als andere hybride apps geschreven in een andere programmeertaal dan de taal van iOS of Android. Bij Native iOS app development is de reguliere programmeertaal Swift en bij Native Android app development is dat Kotlin (of Java). Flutter wordt geschreven in Dart programming language.

Met Flutter kunnen we in Dart ontwikkelde code zowel iOS als Android exporteren. Dit levert niet alleen direct tijdwinst bij de initiële ontwikkeling op maar zorgt er ook voor dat we op langere termijn een eenvoudiger onderhoudbaar en bovenal eenvoudiger testbaar project hebben.

Vergelijking van app ontwikkeltechnieken

Alle overeenkomsten en verschillen in één overzicht.

Features

Features

Oprichter

Google

Apple & Google

Meta / Facebook

Toegang tot alle platformspecifieke API's

Ja, via third party frameworks

Ja, via third party frameworks

Breed scala aan third-party frameworks

Ja, voor specifieke complexe features mogelijk beperkt

Ja, de meeste zijn echter slecht onderhouden

Programmeertaal

Dart

Swift voor iOS, Kotlin voor Android

JavaScript, TypeScript

Ondersteuning voor web

Ja, met uitzonderingen

Ja, met uitzonderingen

Tablet support

Apple watchOS & Android wearOS

Beperkt

Beperkt

Apple Vision Pro

Beperkt

Beperkt

Open-source

Compleetheid van het platform

Grootendeels

Volledig

Beperkt

Time to market

Snel

Gemiddeld, twee codebases

Gemiddeld vanwege de nodige platform specifieke optimalisatie

Budget

Budgetvriendelijk

Gemiddeld

Gemiddeld

Gebruikerservaring

Gebruikerservaring

Performance

Dart compileert zeer snel en resulteert in hoge performance

Maximale performance

JavaScript compileert trager dan Dart, heeft dus ook minder performance

Verschil tussen apps op verschillende platformen

Minimaal door out-of-the- box oplossingen bij een gelijke opzet van schermen

Mogelijkheid tot eigen UI per platform

Kost gemiddeld meer werk om de apps gelijk te houden

Development

Development

Kennis

1 app developer met kennis van iOS & Android

2 app developers met specifieke kennis over iOS of Android

1 web developer en 1 app developer met kennis over iOS & Android

Gedeelde codebase voor meerdere platformen

Ja, zorgt voor snellere ontwikkeltijd

Ja, zorgt voor snellere ontwikkeltijd

Hot reloading

In beperkte mate

Unit tests (automatisch testen)

Ja, via third party frameworks

Onderhoudsgevoeligheid

Ontwikkelkosten van één platform maal 1.33

Ontwikkelkosten van één platform maal 2

Ontwikkelkosten van één platform maal 1.5

Toegang tot hardware van het device

Volledig, goede ondersteuning

Direct en volledig

Goed, maar soms gebruik van extra modules nodig

Voordelen van een app ontwikkelen in Flutter

Flutter kent een aantal grote voordelen ten opzichte van native apps. We leggen ze hier voor je uit:

Een Flutter app kan worden gecompileerd naar zowel een native iOS app als een Android app. Er liggen ook mogelijkheden voor webapps maar onze ervaring is dat deze toch beter zelfstandig kunnen worden gemaakt.

Het voordeel van een multi-platform gedachte is dat je in principe de interface maar één keer hoeft te ontwikkelen. Hierdoor bespaar je bij ontwikkelaars dubbel werk. Uiteraard zijn er wel situaties waarin je wil differentiëren tussen iOS en Android maar de grote gemene deler kan in Flutter worden opgezet. Dat zorgt er ook voor dat het testproces en quality assurance eenvoudiger wordt en er niet meerdere ontwikkelaars aan dezelfde componenten (maar dan voor een ander platform) hoeven te werken.

Hot reloading houdt in dat een app ontwikkelaar niet na iedere wijziging de code opnieuw hoeft te compileren alvorens het eindresultaat kan worden getoond. Dat is bij een native aanpak iets wat een ontwikkelaar continu zal moeten doen en dat kost tijd en programmeurs kunnen met hot reloading iets makkelijker doorwerken.

De enige beperking zit hem in de feature kant. Hot reloading werkt vooral goed als een ontwikkelaar visueel alle componenten op de juiste plaats gaat zetten, als er iets structureels wordt aangepast moet er (net als met Native app ontwikkeling) wél opnieuw worden gecompileerd.

Als Elixir ontwikkelaar zijn we gewend om met moderne programmeertalen te werken. Dart is daar ook een voorbeeld van. Dart is een programmeertaal geoptimaliseerd voor de client zijde voor apps op meerdere platformen zoals iOS en Android. Het is ontwikkeld door Google en kan worden gebruikt voor zowel mobiele apps, desktop applicaties, server applicaties of webapplicatie. We zien echter dat Dart vooral wordt gebruikt voor het maken van apps voor mobiel. De overige toepassingen zijn vaak nog wat beperkter en daarvoor raden we een andere opzet aan.

In tegenstelling tot Elixir (een functionele programmeertaal) is Dart een object georiënteerde taal die lijkt op traditioneel C. Dart kan compileren naar native code óf naar JavaScript – als het om een webapplicatie gaat.

Dart is net als Elixir nog volop in ontwikkeling en daardoor worden er regelmatig updates uitgebracht met veel nieuwe mogelijkheden. De ontwikkeling is intussen gelukkig wel gestabiliseerd.

Een Flutter app laten maken kán een kostenbesparing opleveren. De meeste apps die we met Flutter ontwikkelen leveren een kostenbesparing van ±30-40% op. Dit is echter geen garantie, het feit dat er een framework wordt ingezet brengt kleine maar wel noemenswaardige risico's met zich mee. Het kan immers voorkomen dat gebruikte open-source libraries of widgets niet meer ondersteund worden, dat is inherent aan het gebruik van libraries van derden en komt ook bij andere programmeertalen voor. Ook speelt de ontwikkeling van de programmeertaal (Dart) een rol, er worden namelijk zo nu en dan ook updates uitgerold waardoor de app ontwikkelaars aan de slag moeten.

Wij doen uiteraard ons uiterste best zo min mogelijk afhankelijkheden in de app te bouwen die voor de onderhoudbaarheid beter in de Native omgeving kunnen worden opgelost. Zo creëren we een app die het 'beste van beide werelden' heeft.

Of Flutter app development als dienst de beste oplossing is voor uw app concept bekijken we graag gezamenlijk, in een vrijblijvende kennismaking.

Nadelen van een Flutter app

Er zijn toch ook een paar nadelen van Flutter die we graag benoemen om tot een afgewogen keuze te komen. Deze nadelen gaan eigenlijk op voor vrijwel ieder framework, zoals: Ionic, React Native, Xamarin, Cordova et cetera.

Vooral de uitgebreide ondersteuning voor hardware componenten zoals Bluetooth en Camera laat soms nog te wensen over in frameworks. Je ontkomt er eigenlijk niet aan om in dat geval ook zaken puur Native te gaan ontwikkelen. Een voordeel is dat dit wel kan (zowel Flutter als Native in samenwerking met elkaar gebruiken) maar als je een groot deel van de app Native gaat bouwen zit een framework als Flutter waarschijnlijk meer in de weg dan dat het tijd bespaart.

Er zijn nog wat uitdagingen met Flutter, vooral onderdelen die zeer eenvoudig zijn in Swift of Kotlin lijken soms heel logisch maar zijn het niet. Hiervoor kunnen plug-ins worden gebruikt maar dat creëert dan weer een externe afhankelijkheid. In dat geval kiezen we er vaak voor om het specifieke probleem native op te lossen. Het voordeel is wel dat Flutter nog enorm in ontwikkeling is en de mogelijkheden zonder plug-ins ook enorm groeien.

Een ander aspect is vooral ná de release van de app van invloed, waardoor deze in veel offertes niet direct zal terugkomen. Het onderhoud van een app die is ontwikkeld met een framework is over het algemeen groter dan bij een Native ontwikkelde app.

Dit komt doordat de community (of ‘eigenaar’) van het framework andere belangen heeft dan Apple en Google. Uiteindelijk zullen Apple en Google nooit dusdanige aanpassingen maken met als resultaat de apps op hun platform ‘stuk’ maken – dat is met een framework app een groter risico. Je zult met een framework app meer moeten updaten en beter “bij moeten blijven” dan bij een Native ontwikkelde app wat resulteert in hogere kosten.

Op termijn kán dat dat betekenen dat een framework app duurder is dan een Native app.

Een ander punt is dat de frameworks niet altijd even snel zijn in het meebewegen met nieuwe ontwikkelingen — of zelfs verplichtingen — vanuit iOS en/of Android. Dit kan de doorontwikkeling van een app flink stagneren.

Flutter app vs. React Native app

Hoe zit het met React Native?

React Native app

In tegenstelling tot React Native ontwikkel je niet in een programmeertaal die gemaakt is voor gebruik op het web. Flutter werkt met Dart en is specifiek ontwikkeld voor gebruik op o.a. mobiele platformen. Het voordeel van Flutter in tegenstelling tot React is dat het echt bedacht is met deze mindset, dat maakt het ook wezenlijk anders dan frameworks als React, Ionic, Cordova et cetera.

We hebben in de afgelopen 12 jaar vele diverse platformen zien komen en gaan. Doordat de juiste partijen werken aan Flutter (mét een gezamenlijk belang) denken wij dat Flutter écht de toekomst heeft.

Voordelen van YipYip als Flutter app ontwikkelaar

  • Als gespecialiseerde app ontwikkelaar hebben we zeer veel kennis en ervaring met alle mobiele platformen en frameworks die kunnen worden ingezet om een app te maken.
  • Een ontwikkeling met Flutter levert een zeer moderne app op.
  • Doordat we werken met Kotlin Native bieden we ook een goede cross-platform oplossing voor de modellaag.
  • Flutter is nog steeds volop in ontwikkeling maar is tegelijkertijd wel uit de Beta fase, in tegenstelling tot bijvoorbeeld React Native.
  • Wij ontwikkelen tevens back-end applicaties en API’s die onze apps voorzien van data, schaalbaarheid en intelligentie.
  • We ontwikkelen alles in huis en werken expliciet niet met externe ontwikkelaars om de kwaliteit en flexibiliteit te waarborgen.
  • Veranderingen aan de user interface kunnen zeer eenvoudig worden doorgevoerd voor beide platformen.
  • YipYip heeft een ISO27001 en NEN7510 certificering, waardoor ook onze Flutter applicaties verzekerd zijn van een optimale veiligheid.

Veel gestelde vragen

We behandelen hiernaast de meest gestelde vragen over het laten maken van een Flutter app.

Wat is een universele app?


Hoe lang blijft mijn app werken op smartphones?


Is er een verschil in functionaliteit tussen iOS en Android?


Op welk platform is het makkelijkst geld te verdienen met mijn app? iOS of Android?


Kan ik geld verdienen met advertenties in mijn Flutter app?

Flutter app laten maken?

We hopen dat de verschillen tussen alle platformen hiermee een stukje duidelijker zijn geworden, en helpen bij de keuze.

Klinkt dit interessant en wil je gaan voor een Flutter applicatie? Of toch liever voor Native app ontwikkeling? Neem gerust een keer contact met ons op en we bespreken graag alle mogelijkheden om de beste keuze te maken voor het project.

Kennis maken?

Interesse

Interesse in het laten uitvoeren van flutter app ontwikkelaar?