Technologie · Flutter

Een mobiele app ontwikkelen met Flutter.

Flutter kan worden gebruikt om mobiele apps vanuit een gedeelde codebasis te bouwen. We onderzoeken of dit past bij de apparaten, functies en gebruikerservaring die je nodig hebt, en hoe de app aansluit op je bestaande systemen.

Eén codebasis voor iOS en AndroidGetest op de afgesproken toestellenBackend en koppelingen horen bij de scope
Ontwikkelaar test dezelfde app tegelijk op een iPhone en een Android-telefoon aan haar bureau
Herkenbaar?

Waarom bedrijven naar Flutter kijken.

Wie een app voor zowel iPhone als Android wil, loopt vaak tegen dezelfde vragen aan. Een cross-platform app kan een deel daarvan oplossen.

Twee apps betekent dubbel werk

Een aparte app voor iOS en Android vraagt twee keer bouwen, testen en bijhouden.

Gebruikers hebben verschillende toestellen

Je klanten of medewerkers gebruiken zowel iPhones als Android-telefoons in allerlei formaten.

De app moet praten met je systemen

Zonder goede koppeling met je backend blijft de app een los eiland naast je administratie.

Na de lancering stopt het niet

Nieuwe besturingssystemen en eisen van de app stores vragen blijvend onderhoud.

Van ontwerp tot toestel

Eén taak, gebouwd voor beide platformen.

Zo werkt een gedeelde codebasis in de praktijk: we ontwerpen een taak één keer, schrijven de code in Dart en testen het resultaat op de afgesproken toestellen.

  1. 1

    Taak ontwerpen

  2. 2

    Gedeelde code

  3. 3

    Testen op toestellen

Voorbeeldsituatie met fictieve gegevens. Welke taken en toestellen we testen, leggen we per project vast.

Gedeelde codebasis

Eén basis met aandacht voor ieder platform.

Een gedeelde codebasis neemt niet alle verschillen tussen iOS en Android weg. Een terugknop, een toestemmingsvraag of de manier waarop meldingen binnenkomen, verschilt per platform.

We testen de afgesproken functies op de ondersteunde apparaten en houden rekening met platformgedrag, zodat de app op beide toestellen logisch aanvoelt.

  • Eén codebasis in Dart voor iOS en Android
  • Testen op afgesproken toestellen en schermformaten
  • Aandacht voor gedrag dat per platform verschilt
Twee telefoons naast elkaar op een bureau met hetzelfde scherm van een app
Toestelfuncties en backend

De app werkt samen met je toestel en je systemen.

Camera, meldingen en andere mogelijkheden vragen passende ondersteuning en tests. De app maakt daarnaast verbinding met een backend voor gegevens en rechten. Dat nemen we vanaf het begin mee in de scope.

  • Camera, locatie en pushmeldingen waar nodig
  • Inloggen, accounts en rechten via de backend
  • Gegevens centraal opgeslagen in de backend
Koppelingen

Gegevens uit de app komen direct op de juiste plek.

Een app voor medewerkers onderweg is pas echt nuttig als foto’s, werkbonnen en uren direct in je planning of administratie staan. Waar passend koppelen we de app aan je bestaande bedrijfssoftware via de API van je pakketten of een eigen backend in PHP of Laravel.

  • Werkbonnen en foto’s direct in je systeem
  • Geen overtypen na afloop van de werkdag
  • Koppelen met planning, CRM of boekhouding
Aansluiten op je bedrijfssoftware
Hovenier maakt in een tuin met zijn telefoon een foto voor de werkbon in de app
Publiceren en onderhouden

Na de lancering blijft je app in beweging.

Een app staat niet stil. Apple en Google brengen nieuwe versies van hun besturingssystemen uit, de eisen van de app stores veranderen en ook Flutter zelf krijgt updates. We maken vooraf afspraken over wie publiceert, test en bijhoudt.

  • Publicatie in de App Store en Google Play
  • Updates bij nieuwe versies van iOS en Android
  • Doorontwikkelen op basis van gebruik
Afspraken over onderhoud
Mogelijkheden

Wat kun je met een Flutter-app bouwen?

Flutter is breed inzetbaar. Welke onderdelen jouw app krijgt, hangt af van de gebruikers en het werk dat ze ermee doen.

Apps voor medewerkers

Werkbonnen, checklists en urenregistratie voor mensen die onderweg of op locatie werken.

Apps voor klanten

Een eigen omgeving in de app voor afspraken, bestellingen of het volgen van een aanvraag.

Pushmeldingen

Gerichte meldingen bij een nieuwe opdracht, een statuswijziging of een herinnering.

Camera en scannen

Foto’s maken bij een opdracht of een code scannen, met de toestemmingen die daarbij horen.

Werken met een backend

Accounts, rechten en gegevens beheerd op een server, zodat de app altijd actuele informatie toont.

Koppelingen

Gegevens uitwisselen met je planning, CRM, boekhouding of andere bedrijfssoftware.

Voor wie

Flutter past vaak bij apps voor iPhone én Android.

Een cross-platform app bouwen is vooral interessant wanneer je gebruikers verschillende toestellen hebben en de app op beide platformen hetzelfde moet doen. Bijvoorbeeld bij:

  • Installatie- en onderhoudsbedrijven
  • Hoveniers en buitendienst
  • Zorg en begeleiding
  • Logistiek en bezorging
  • Verenigingen en clubs
  • Evenementen
  • Startups met een app-idee
  • Bedrijven met een bestaand platform
Aanpak

Zo pakken we het samen aan.

Meer over onze werkwijze
  1. 01

    Je bedrijf begrijpen

    We praten met jou en de mensen die er dagelijks mee werken, en brengen in kaart waar software het verschil maakt.

  2. 02

    Aanpak en eerste scope

    Je krijgt een voorstel voor een afgebakende eerste versie: wat erin zit, wat later komt en wat het kost.

  3. 03

    Bouwen, testen, bespreken

    We bouwen in korte stappen en testen elke stap. Je ziet tussentijds werkende onderdelen en geeft feedback.

  4. 04

    In gebruik en verbeteren

    We zetten het live, helpen je team op weg en blijven verbeteren als je bedrijf verandert.

Investering

Wat bepaalt de investering?

Het aantal schermen, de toestelfuncties, de ondersteunde apparaten, de backend en de koppelingen bepalen een groot deel van het werk. Een gedeelde basis kan werk besparen, maar ontwerp, tests en onderhoud blijven nodig. We bakenen eerst een bruikbare eerste versie af en maken op basis daarvan een voorstel.

Vraag een voorstel aan
Gids

Flutter app laten maken: wat je moet weten.

Overweeg je een Flutter app te laten maken? Hieronder lees je wat Flutter is, wanneer een cross-platform app past, waar je op let bij toestelfuncties en backend, en wat er na de lancering nodig is.

Wat is Flutter?

Flutter is een framework voor het bouwen van gebruikersomgevingen. Je gebruikt het vooral om mobiele apps te maken die op zowel iOS als Android draaien. De code schrijf je in Dart, een programmeertaal die voor Flutter wordt gebruikt. Flutter en Dart zijn dus niet hetzelfde: Dart is de taal, Flutter is het geheel van bouwstenen, schermonderdelen en hulpmiddelen waarmee je een app opbouwt. Een Flutter ontwikkelaar werkt daarom met allebei.

Het kenmerk van Flutter is dat de app zijn eigen schermonderdelen tekent. Daardoor ziet de app er op verschillende toestellen grotendeels hetzelfde uit. Dat is handig voor een herkenbare huisstijl, maar het betekent ook dat je bewust moet kiezen waar de app zich juist wel als een echte iPhone- of Android-app moet gedragen. Die afweging maken we per scherm en per functie. Zo combineer je een eigen uitstraling met het gemak dat gebruikers van hun toestel gewend zijn.

Wanneer past een cross-platform app?

Een cross-platform app bouwen is vooral interessant wanneer je gebruikers zowel iPhones als Android-toestellen hebben en de app op beide platformen dezelfde taken moet ondersteunen. Denk aan een app voor medewerkers in de buitendienst, een klantenapp voor afspraken of een app bij een bestaand platform. Je onderhoudt dan één codebasis in plaats van twee aparte apps. Dat scheelt dubbel werk bij nieuwe functies en maakt het eenvoudiger om beide versies gelijk te houden, zodat iPhone- en Android-gebruikers dezelfde mogelijkheden krijgen.

Flutter past minder vanzelfsprekend wanneer een app sterk leunt op zeer specifieke functies van één platform, of wanneer een webapplicatie in de browser al voldoende is. Daarom beginnen we niet bij de techniek, maar bij de vraag wie de app gebruikt, op welke toestellen en voor welk werk. Pas daarna bepalen we of Flutter de passende keuze is. Soms blijkt uit die vragen dat een webapplicatie of een andere aanpak beter past, en dan zeggen we dat ook.

Eén codebasis, twee platformen

Met Flutter deel je het grootste deel van de code tussen iOS en Android. Schermen, logica en de communicatie met de backend schrijf je één keer. Dat kan werk besparen bij bouwen en bij latere aanpassingen, omdat een wijziging op beide platformen tegelijk beschikbaar komt. Toch is ‘één keer bouwen, overal klaar’ te kort door de bocht. Wat er gedeeld wordt, is de basis; de afwerking per platform blijft maatwerk dat tijd en aandacht vraagt.

iOS en Android verschillen in navigatie, toestemmingen, meldingen en de manier waarop gebruikers terug navigeren. Ook de eisen van de App Store en Google Play zijn niet gelijk. We testen de afgesproken functies daarom op de ondersteunde apparaten en leggen vooraf vast welke toestellen en versies we ondersteunen. Zo weet je precies waar de app voor is ontworpen. Nieuwe toestellen en schermformaten komen er voortdurend bij, dus ook die lijst bespreken we periodiek opnieuw.

Toestelfuncties: camera, locatie en meldingen

Veel zakelijke apps gebruiken functies van het toestel zelf. Een monteur maakt foto’s bij een werkbon, een bezorger deelt zijn locatie, een klant krijgt een pushmelding als zijn afspraak verandert. Flutter kan met dit soort functies werken via uitbreidingen, maar iedere functie vraagt eigen aandacht voor toestemmingen, privacy en gedrag op verschillende toestellen. Zo vraagt de camera om toestemming, werken meldingen via de diensten van Apple en Google en verschilt locatiegebruik per instelling van de gebruiker.

Daarom nemen we toestelfuncties expliciet op in de scope. We bepalen welke functies echt nodig zijn voor de eerste versie, hoe de app reageert als een gebruiker toestemming weigert en hoe we de functie testen. Zo voorkom je dat een functie die op papier eenvoudig lijkt pas laat in het project vragen oproept. Bovendien houden we rekening met de privacyinformatie die Apple en Google van apps vragen, zodat je weet welke gegevens de app gebruikt en waarom.

De backend: gegevens, accounts en rechten

Een app op de telefoon is bijna altijd het zichtbare deel van een groter geheel. Achter de schermen staat een backend: een server die accounts beheert, gegevens opslaat, rechten controleert en meldingen verstuurt. Die backend bepaalt voor een groot deel hoe betrouwbaar en uitbreidbaar je app is. Bij Lilopel kan dat bijvoorbeeld een backend in PHP met Laravel zijn. Zo blijft de app zelf licht en staan je gegevens centraal, ook als iemand een toestel kwijtraakt.

Heb je al een systeem, dan onderzoeken we of de app daarop kan aansluiten via een API. Is er nog niets, dan ontwerpen we de backend samen met de app. In beide gevallen nemen we koppelingen met je planning, CRM of boekhouding mee, zodat gegevens uit de app direct op de juiste plek terechtkomen. Een duidelijke API maakt het bovendien makkelijker om later een webversie of een tweede app op dezelfde gegevens te laten draaien.

Flutter of een andere aanpak?

Naast Flutter zijn er andere manieren om een app te bouwen. Je kunt aparte native apps laten maken voor iOS en Android, of kiezen voor een webapplicatie die in de browser werkt en eventueel op het startscherm kan worden gezet. Elke aanpak heeft eigen voor- en nadelen op het gebied van gebruikerservaring, toestelfuncties, beheer en investering. Een webapp is bijvoorbeeld eenvoudig te verspreiden, terwijl een app in de stores dichter bij toestelfuncties staat en makkelijker terug te vinden is op de telefoon.

Is een Flutter-app altijd goedkoper? Niet per definitie. Een gedeelde basis kan werk besparen, maar specifieke functies, ontwerp en onderhoud bepalen de totale inspanning. We leggen de opties naast elkaar en adviseren op basis van je gebruikers en processen, niet op basis van een voorkeur voor één techniek. Soms is de conclusie dat een webapplicatie voorlopig volstaat en een app later volgt. Ook dat is een prima uitkomst, zolang de keuze past bij hoe je gebruikers werken.

Na de lancering: publiceren en onderhouden

Een app publiceren in de App Store en Google Play vraagt een ontwikkelaarsaccount, een beoordeling door Apple en Google en duidelijke informatie over privacy. Daarna begint het eigenlijke gebruik. Gebruikers geven feedback, je ziet welke functies veel of weinig worden gebruikt en er ontstaan nieuwe wensen. Die inzichten zijn waardevol voor de volgende versie. Daarom plannen we na de lancering bij voorkeur een evaluatie, zodat je op basis van echt gebruik bepaalt welke verbetering het eerst komt.

Tegelijk veranderen de platformen zelf. Nieuwe versies van iOS en Android, aangepaste store-eisen en updates van Flutter en de gebruikte uitbreidingen vragen regelmatig aandacht. We werken AI-first: AI helpt bij onderzoek, code en tests, maar een ontwikkelaar beslist, controleert en is verantwoordelijk. Over onderhoud en doorontwikkeling maken we vooraf aparte afspraken. Zo voorkom je dat de app na een systeemupdate ongemerkt minder goed werkt of niet meer aan de eisen van een store voldoet.

Veelgestelde vragen

Veelgestelde vragen over Flutter-apps.

Staat je vraag er niet bij? Bel 010 – 303 03 40 of stuur ons een bericht.

Nee. Flutter is een framework; Dart is de programmeertaal die ervoor wordt gebruikt. Een Flutter ontwikkelaar schrijft de code van de app dus in Dart.

Lilo steekt zijn duim omhoog

Waar loopt jouw bedrijf tegenaan?

Vertel ons wat je wilt verbeteren. Je hoeft nog geen uitgewerkt plan te hebben. We bespreken je situatie en kijken welke volgende stap past.

Je hoeft nog geen specificatie te hebben. We reageren binnen één werkdag. Liever bellen? 010 303 03 40

We gebruiken je gegevens alleen om je vraag te beantwoorden. Lees de privacyverklaring.