Sound familiar?
- Two agencies quoted for two separate apps and the numbers doubled
- Your iOS and Android apps behave differently and drift further apart
- A designer's screens never look right on cheaper Android phones
- You inherited a Flutter app stuck on an old version that no longer builds
- Staff need the same tool on tablets, phones and a desktop browser
Key facts
- One Dart codebase compiles to native iOS and Android apps
- Flutter 3.47 was released on 12 August 2026; stable releases arrive roughly every quarter
- Flutter draws its own interface, so screens look the same on every device
- Platform channels and Pigeon reach native Swift and Kotlin code when needed
- Offline data with SQLite through Drift, synced to your API in the background
- Store submission handled under your own Apple and Google accounts
Why we choose Flutter
Flutter is Google's open-source UI toolkit. You write the app once in Dart and it compiles to native ARM code for iOS and Android. Unlike frameworks that wrap the platform's own buttons and lists, Flutter draws every pixel itself using its Impeller rendering engine. The upside is consistency: a screen designed once looks and behaves the same on a new iPhone and a budget Android tablet, which matters for staff apps where you cannot choose the devices.
It suits forms-heavy business apps, branded customer apps with custom design, and products that also need a web or desktop version. We pick React Native instead when your team already works in React and TypeScript and wants to share code with a web front end. The mobile app development page covers the wider decision.
Keeping current
Flutter moves quickly. The Flutter docs list 3.41 in February 2026, 3.44 in May and 3.47 on 12 August 2026, each bringing a matching Dart SDK. Combined with Apple's Xcode requirements and Google Play's annual target API level, that means a Flutter app left alone for two years will usually need real work before it can ship an update.
We pin versions, keep plugins few and well maintained, and prefer packages published by the Flutter and Dart teams or verified publishers. When we inherit an older app, we upgrade in steps: get it building, migrate deprecated APIs, update plugins one at a time, and run the test suite between each step. Ongoing upkeep sits under app maintenance.
How we structure a Flutter app
- State management with Riverpod or Bloc, so business logic is testable away from the screens.
- Typed API client generated from your OpenAPI spec, with token refresh and retries.
- Offline data in SQLite via Drift, with a sync queue and conflict rules.
- Secure storage using the iOS Keychain and Android Keystore for tokens.
- Native code where needed. When no plugin exists for a scanner SDK or a Bluetooth printer, we write a small Swift or Kotlin module and call it through platform channels, using Pigeon for type-safe messages.
- Tests: unit tests for logic, widget tests for screens, and integration tests on real devices in CI.
Back end and integrations
A Flutter app is only as useful as the data behind it. We build or extend a secure API in Laravel or Node.js that connects to your accounting software, CRM or stock system, so completing a job in the app can raise an invoice or update stock without anyone retyping it. Push notifications go through Firebase Cloud Messaging and Apple Push Notification service.
We release through a CI pipeline that builds signed iOS and Android bundles, uploads to TestFlight and the Play Console testing tracks, and promotes to production after sign-off.
Good fits and poor fits
Flutter is a strong fit for:
- Field service, inspection and delivery apps with long forms, photos and signatures.
- Customer apps with a distinctive brand design that must look identical on iPhone and Android.
- Apps that need a tablet layout for the office and a phone layout for the road from the same code.
- Products that may later need a desktop version for Windows or macOS.
It is a weaker fit when an app is mostly a thin shell around platform features that change every year, such as home screen widgets, Live Activities or watch apps. Those parts are written natively anyway, and a large share of native code reduces the benefit of a shared codebase. It is also not the answer for content that must rank in web search, where a normal website does the job better.
Download size is worth knowing about too: because Flutter ships its own rendering engine, a minimal Flutter app is larger than a minimal native one. For business apps with real content that difference rarely matters, but we mention it so nobody is surprised.
Getting started
Share what the app needs to do and who will use it. We will confirm Flutter is the right fit, scope the first release and give you a fixed-price quote. If you already have a Flutter app that needs rescuing, we start with a short code audit so you know where it stands. Get in touch.
What we deliver
- A Flutter app for iPhone and Android from one codebase
- Clear state management with Riverpod or Bloc and automated tests
- Offline storage with Drift and background sync
- Native integrations through platform channels where Flutter has no plugin
- A secure API connecting the app to your systems
- Store listings, submission and a release pipeline
- Upgrade of an existing Flutter app to the current stable SDK
How it works and what it costs
Every project gets a fixed-price quote after a free initial chat and a short scoping stage. You own the code and the data.
Free chat
Tell us the problem in plain English: what you do now, what goes wrong and what "better" looks like. No charge, no obligation.
Scoping
We map the processes, systems and data involved, agree what is in and out, and write it down so there are no surprises.
Fixed-price quote
You get a fixed price for the agreed scope, or a phased plan for bigger builds, so you can start small and prove it works.
Build and test
We build in short stages you can see and try, test against real data, then go live carefully with a rollback plan.
Hand over and look after
You own the code and the data. We can host it, support it and keep improving it, or hand it to your own team.
Frequently asked questions
Is Flutter a good choice for a business app?
Usually, yes. Flutter compiles one Dart codebase to native iOS and Android apps and renders consistently on every device, which suits forms-heavy staff apps and branded customer apps. dijitul recommends React Native instead when your team already works in React and TypeScript.
What is the current version of Flutter?
Flutter 3.47 was released on 12 August 2026, following 3.44 in May and 3.41 in February. dijitul builds on the current stable release and plans upgrades as part of app maintenance so your app keeps passing store requirements.
Can Flutter use native device features?
Yes. Plugins cover camera, GPS, biometrics, notifications and more. Where no plugin exists, such as a manufacturer's scanner SDK, dijitul writes a small Swift or Kotlin module and calls it from Dart through platform channels.
Can you take over our existing Flutter app?
Yes. dijitul starts with a code audit to check the Flutter and Dart versions, plugins, tests and signing setup. We then upgrade in steps until the app builds with current tooling, and give a fixed-price quote for the agreed work.
Can the same Flutter code run on the web?
Flutter can build a web version from the same code, which works well for internal tools and dashboards. For public, search-indexed pages, dijitul usually recommends a normal website alongside the app instead.
How do you price Flutter projects?
dijitul gives a fixed-price quote after a free chat and a scoping stage, based on screens, integrations and offline needs. The price is agreed before work starts, and you own the code and both store listings at the end.
Related
Tell us what you need to build
Free chat, clear scope, fixed-price quote. You own everything we build.