FlutterFlow begrijpen: wat het is en wat het doet

FlutterFlow is een visueel ontwikkelplatform dat echte Dart/Flutter-code genereert. Het is belangrijk te begrijpen wat dit betekent:

**Echte native apps, geen WebViews**: De apps die FlutterFlow genereert zijn compiled Flutter-apps — dezelfde technologie die Alibaba, Google en BMW gebruiken voor hun mobilapps. Ze zijn niet te onderscheiden van handgeschreven Swift/Kotlin-apps.

**Exporteerbare code**: Je kunt op elk moment je projectcode exporteren als schone Flutter/Dart-code. Je bent niet gebonden aan FlutterFlow voor altijd.

**Volledige Supabase- en Firebase-integratie**: Ingebouwde connectors voor de meest populaire backends — geen API-documentatie hoeven doorploegen voor basisintegraties.

Wat FlutterFlow NIET is: - Geen drag-and-drop websitebuilder (het is voor apps, niet websites) - Geen no-code tool voor complexe aangepaste animaties - Niet bedoeld voor games of AR/VR-toepassingen

Je eerste FlutterFlow-project instellen

Ga naar flutterflow.io en maak een gratis account aan. Maak een nieuw project aan en kies: - **Blank**: Begin helemaal van nul - **Starter Template**: Begin met een pre-gebouwde app (login flow, navigatie, etc.) — aanbevolen voor beginners

Verbind je backend als eerste stap: 1. Ga naar Settings → Supabase 2. Plak je Supabase Project URL en Anon Key 3. FlutterFlow importeert automatisch je tabelschema

Alternatief: gebruik Firebase voor beginners die de Supabase-setup willen overslaan. Firebase heeft een minder steile leercurve maar minder SQL-kracht.

**Projectinstellingen configureren**: - App naam, pakket-ID (bijv. `nl.appstudio.mijnapp`) - App-icoon uploaden (minimaal 1024×1024px) - Kleurenpalet en typografie instellen in het Theme-tabblad

De FlutterFlow-interface begrijpen

FlutterFlow's interface heeft vijf hoofdgebieden:

**1. Widget Tree (links)**: De hiërarchische structuur van je huidige scherm. Elk scherm is een boomstructuur van widgets — vergelijkbaar met de DOM in webdevelopment.

**2. Canvas (midden)**: De visuele weergave van je scherm. Je kunt direct elementen slepen en neerzetten.

**3. Properties Panel (rechts)**: Configureer de geselecteerde widget — stijl, data, acties, conditionals.

**4. Pages Panel**: Al je schermen en navigatiestructuur.

**5. Actions Panel**: Definieer wat er gebeurt wanneer een gebruiker iets doet (knop tikt, formulier indient, etc.).

De leercurve zit primair in het begrijpen van hoe widgets zijn samengesteld. Begin met het kopiëren van bestaande patronen uit de template-bibliotheek — analyseer hoe ze zijn gebouwd voordat je zelf begint te bouwen.

Authenticatie instellen

FlutterFlow heeft ingebouwde authenticatieflows voor Supabase en Firebase.

Voor Supabase-authenticatie: 1. Ga naar App Settings → Authentication 2. Selecteer Supabase als provider 3. Schakel E-mail/Wachtwoord in en/of Google Sign-In 4. FlutterFlow genereert automatisch: - Login-scherm - Registratiescherm - Wachtwoord vergeten-scherm - Initial auth check die gebruikers naar de juiste scherm stuurt

Personaliseer de authenticatieschermen via het Canvas zoals elk ander scherm. Voeg je logo toe, pas de kleuren aan, voeg de tekst aan in het Nederlands.

Belangrijke instelling: schakel "Email Confirmation" in als je het ook in Supabase hebt ingeschakeld. Zorg dat de redirects overeenkomen.

Data weergeven: lijsten en details

Het meest voorkomende patroon in mobiele apps: een lijst van items, klik op een item, zie de details.

**Lijstscherm bouwen**: 1. Voeg een `ListView`-widget toe aan je scherm 2. In het Properties Panel: kies "Generate Dynamic Children" 3. Databron: kies je Supabase-tabel (bijv. `todos`) 4. Voeg filters toe: `user_id = auth.uid()` voor gebruikersspecifieke data 5. Ontwerp de list item-template — dit herhaalt zich voor elk item

**Detailscherm bouwen**: 1. Maak een nieuw scherm 2. Voeg een paginaparameter toe: `todoId` (type: integer) 3. In het scherm: voeg Supabase-query toe die één rij ophaalt op ID 4. Bind UI-elementen aan de queryresultaten 5. In het lijstscherm: navigeer naar detailscherm en geef `item.id` mee als parameter

Deze navigatie-met-parameter-patroon is fundamenteel — beheers het en je kunt 80% van typische app-schermen bouwen.

App publiceren naar App Store en Google Play

Voordat je publiceert: - Apple Developer-account (€99/jaar) en Google Play Developer-account (€25 eenmalig) - App-iconen in alle vereiste formaten (FlutterFlow genereert ze automatisch) - Screenshots van elk vereist schermformaat - Privacybeleid-URL (vereist door beide stores) - Accountverwijderingsflow (Apple-vereiste)

**iOS (App Store)**: Ga naar Settings → App Store Deployment in FlutterFlow. FlutterFlow kan direct naar TestFlight publiceren. Voer je Apple Developer-credentials in, kies je app-ID en klik "Deploy".

**Android (Google Play)**: FlutterFlow genereert een ondertekende APK/AAB. Upload handmatig naar de Google Play Console of gebruik FlutterFlow's directe deployment-integratie.

Plan 1–3 dagen voor iOS App Store-review, 1–2 dagen voor Google Play. Dien in, wacht op goedkeuring, en je app is live.