Flutter og Dart: cross-platform app-utvikling for iOS, Android og web
Guide til Flutter – Googles cross-platform UI-rammeverk for iOS, Android, web og desktop med Dart-språket og rich widget-bibliotek.

Flutter lar deg bygge vakre, native-ytende apper for alle plattformer fra én kodebase.
Komplett guide til Flutter og Dart: cross-platform utvikling for iOS, Android, web og desktop, widget-systemet, pub.dev-pakker og norske Flutter-miljøer.
Hva er Flutter?
Flutter er Googles open source UI-rammeverk for å bygge native-kompilerte applikasjoner for mobil (iOS og Android), web, Windows, macOS og Linux fra én enkelt kodebase. Flutter ble offentlig lansert i desember 2018 og har siden vokst til å bli et av de mest populære cross-platform-rammeverkene globalt.
Det som skiller Flutter fra React Native og andre cross-platform-løsninger er at Flutter ikke bruker native plattform-komponenter (UIKit på iOS, Android Views på Android). I stedet renderer Flutter alle UI-komponenter selv via sin egen høyytelses grafikkmotor (Skia, eller den nyere Impeller). Dette gir fullstendig piksel-kontroll og konsistent utseende på tvers av plattformer.
Dart: programmeringsspråket bak Flutter
Flutter bruker Dart som programmeringsspråk. Dart er et objektorientert, statisk typet språk utviklet av Google. Det ble opprinnelig designet som et alternativ til JavaScript for webprogrammering, men fant sin «killer app» i Flutter. Dart er lett å lære for utviklere som kan Java, C# eller JavaScript – syntaksen er kjent og intuitive.
Dart har null-safety innebygd (fra Dart 2.12), noe som eliminerer null pointer exceptions – en vanlig feilkilde. Dart-kode kan kompileres til native ARM-kode (for mobil og desktop), native x64/ARM64 (for Windows/macOS/Linux), og transpileres til JavaScript (for web). Dart-koden AOT-kompileres til native kode i produksjonsbygg, noe som gir utmerket ytelse.
Widget-systemet: alt er en widget
I Flutter er alt en widget – knapper, tekst, bilder, padding, layout-containere, animasjoner og til og med appen selv. Widgeter er uforanderlige beskrivelser av en del av UI, og Flutter bygger et tre av widgeter som renderer til skjermen. Når tilstanden endres, oppdateres kun de nødvendige delene av widget-treet.
Flutter har to widget-biblioteker: Material (Googles Material Design) og Cupertino (Apple iOS-stil). Du kan bruke begge i samme app, eller lage helt egne widgeter. Det store tredjepartsbiblioteket på pub.dev gir tilgang til tusenvis av ferdiglagde widgeter og komponenter.
- Text, Image, Icon – grunnleggende display-widgeter
- Row, Column, Stack – layout-widgeter
- Container, Padding, SizedBox – sizing og spacing
- ListView, GridView – scrollbare lister
- Navigator, MaterialPageRoute – navigasjon
- StatefulWidget, StatelessWidget – tilstandshåndtering
- CustomPainter – egendefinert tegning på canvas
Tilstandshåndtering i Flutter
Tilstandshåndtering er et viktig konsept i Flutter. Den enkleste formen er setState() for lokal widget-state. For mer komplekse apper er det mange statehåndteringsbiblioteker tilgjengelig.
Riverpod (av Remi Rousselet) er det anbefalte statehåndteringsbiblioteket i 2024 for de fleste Flutter-apper. BLoC (Business Logic Component) er et mer strukturert alternativ populært i større bedriftsapper. GetX er et «batteries included»-alternativ med enkel API. Provider (den eldre standarden) brukes fortsatt mye i eksisterende kodebase.
pub.dev: Flutters pakkeøkosystem
pub.dev er det offisielle pakkeregistret for Dart og Flutter med over 40 000 pakker. Pakker legges til i pubspec.yaml og installeres med flutter pub get. Flutter-team og community-vedlikeholdte pakker er merket med «Flutter Favorite»-badge for kvalitetssikring.
Noen uunnværlige pakker for Flutter-utvikling: http eller dio for nettverksforespørsler, shared_preferences for lokal lagring, provider/riverpod for state, go_router for navigasjon, flutter_local_notifications for push-varsler, image_picker for kameraintegrasjon og firebase_core for Firebase-integrasjon.
- dio – kraftig HTTP-klient
- riverpod – moderne state management
- go_router – deklarativ navigasjon
- hive – lokal NoSQL-database
- firebase_core + firebase_auth – Firebase-integrasjon
- flutter_bloc – BLoC state management
- cached_network_image – bildebufer
- flutter_svg – SVG-støtte
Flutter i norsk app-utvikling
Flutter er i vekst i det norske app-utviklingsmiljøet. Mange norske konsulentselskaper og startups har adoptert Flutter for å leve den lovnaden om «én kodebase, alle plattformer». Selskaper som Shortcut, Netlight og Bouvet har Flutter-kompetanse og leverer Flutter-apper til norske og internasjonale kunder.
Norske Flutter-utviklere samles via Flutter Oslo Meetup-gruppen og i norske teknologi-Discord- og Slack-servere. Flutter-kompetanse er etterspurt i det norske markedet, og mange norske bedrifter velger Flutter fremfor separate native-team for iOS og Android for å redusere utviklingskostnader.
Flutter for web og desktop
Flutter web er nå stabilt og brukes til både web-apper og Progressive Web Apps (PWA). Ytelsen er god for app-liknende interfaces, men ikke ideell for innholdsrike nettsider (SEO-utfordringer). For desktop er Flutter et utmerket valg for interne bedriftsapper på Windows og macOS.
Mange norske selskaper bruker Flutter web for interne dashboards og admin-paneler der SEO ikke er relevant. Kombinert med Dart-backend (via Shelf, Dart Frog eller Serverpod) kan du lage en fullstack-løsning med kun Dart og Flutter på tvers av backend, web og mobil.
Flutters fremtid
Flutter er i aktiv utvikling med et stort Google-team bak. Impeller (den nye rendering-motoren) er nå standard på iOS og Android og gir jevnere animasjoner og bedre ytelse. Flutter er inne i sin modne fase og er et pålitelig valg for produksjonssystemer.
For norske utviklere og bedrifter som ønsker å bygge apper for mobil, web og desktop med én kodebase er Flutter det beste valget i 2025. Kombinasjonen av høy produktivitet (hot reload), sterk native ytelse og det voksende pub.dev-økosystemet gjør Flutter til et fremragende rammeverk.
Ofte stilte spørsmål
Hva handler «Flutter og Dart: cross-platform app-utvikling for iOS, Android og web» om?
Komplett guide til Flutter og Dart: cross-platform utvikling for iOS, Android, web og desktop, widget-systemet, pub.dev-pakker og norske Flutter-miljøer.
Hva er Flutter?
Flutter er Googles open source UI-rammeverk for å bygge native-kompilerte applikasjoner for mobil (iOS og Android), web, Windows, macOS og Linux fra én enkelt kodebase. Flutter ble offentlig lansert i desember 2018 og har siden vokst til å bli et av de mest populære cross-platform-rammeverkene globalt.
Hva bør du vite om dart: programmeringsspråket bak Flutter?
Flutter bruker Dart som programmeringsspråk. Dart er et objektorientert, statisk typet språk utviklet av Google. Det ble opprinnelig designet som et alternativ til JavaScript for webprogrammering, men fant sin «killer app» i Flutter. Dart er lett å lære for utviklere som kan Java, C# eller JavaScript – syntaksen er kjent og intuitive.
Hva bør du vite om widget-systemet: alt er en widget?
I Flutter er alt en widget – knapper, tekst, bilder, padding, layout-containere, animasjoner og til og med appen selv. Widgeter er uforanderlige beskrivelser av en del av UI, og Flutter bygger et tre av widgeter som renderer til skjermen. Når tilstanden endres, oppdateres kun de nødvendige delene av widget-treet.
Hva bør du vite om tilstandshåndtering i Flutter?
Tilstandshåndtering er et viktig konsept i Flutter. Den enkleste formen er setState() for lokal widget-state. For mer komplekse apper er det mange statehåndteringsbiblioteker tilgjengelig.
Hva bør du vite om pub.dev: Flutters pakkeøkosystem?
pub.dev er det offisielle pakkeregistret for Dart og Flutter med over 40 000 pakker. Pakker legges til i pubspec.yaml og installeres med flutter pub get. Flutter-team og community-vedlikeholdte pakker er merket med «Flutter Favorite»-badge for kvalitetssikring.
Redaksjonell merknad: Dette innholdet er utarbeidet av Norsk Næring med hjelp av kunstig intelligens og kvalitetssikret av redaksjonen. Informasjonen er ment som generell veiledning og erstatter ikke profesjonell rådgivning. Feil eller unøyaktigheter? Kontakt oss på help@norsknæring.no.





