Flutter app development services we provide
Custom Flutter app development
Metadrop builds net-new cross-platform apps from a single Dart codebase for iOS and Android, with the option to extend the same codebase to web and desktop targets. Every build starts with a typed API layer, a chosen state-management pattern, a component library and an automated test suite from the first sprint, a structure designed to support long-term maintainability as scope and team change. Use cases regularly in scope include commerce and media apps, services and self-service portals delivered as apps, booking flows, data dashboards, internal business apps, and field-service or frontline apps.
lutter apps on a headless Drupal backend
A Flutter app can consume Drupal via JSON:API or GraphQL, so editors publish content in Drupal and the app renders it. Copy, promotions and translated content change without waiting for an app release. Metadrop builds the Drupal side and the app side in the same engagement, which avoids the API-contract handoff between two suppliers.
Migration and consolidation into Flutter
Two native codebases (Swift and Kotlin) or a hybrid Cordova or Ionic app can be consolidated into one Flutter codebase, so one team ships one release train instead of maintaining parallel platforms. The work runs phased and test-guarded, screen by screen, using Flutter's Add-to-App capability so the existing app stays in the stores and in users' hands throughout.
Flutter codebase audit
An independent assessment of an inherited or in-house app covers architecture, state management, widget-tree performance, dependency health, test coverage, CI/CD and store-release readiness. It arrives as a prioritized roadmap with effort ranges before any code is changed, so the client decides what to fix, what to rewrite and what to leave.
Maintenance, support and SLA-backed evolution
Long-term ownership of a production app covers Flutter SDK and dependency upgrades, iOS and Android OS-version compatibility, store-policy changes, crash triage and feature evolution under a contractual SLA. Flutter ships stable releases on a roughly quarterly cadence, and Apple and Google each set annual SDK-target deadlines. Keeping inside those windows is scheduled maintenance work, not an emergency project.
They've Trusted Metadrop
From international sport and humanitarian organizations to industrial manufacturing, specialty chemicals and the public sector, organizations operating across 50+ countries have relied on Metadrop for cross-platform application and API delivery.
Why Flutter for an enterprise app, and when it is not the answer
One codebase, two platforms is the headline reason enterprise buyers shortlist Flutter: a single Dart codebase produces iOS and Android builds, so a feature is specified, built, tested and released once instead of twice.
The rendering model is the second reason. Flutter draws its own widgets through the Impeller rendering engine rather than mapping to per-platform UI components, which keeps a design system visually consistent across devices. Dart also compiles ahead-of-time to native machine code, so app logic talks to the platform without a JavaScript bridge in between. That combination is why animation-heavy and data-dense screens tend to land better here than in bridged stacks. A Figma design system maps cleanly onto a Flutter widget library too, which makes brand consistency easier to maintain.
Flutter is not the right answer everywhere. We advise native instead for apps whose core value is a deep platform capability: advanced camera and computer-vision pipelines, wearables and watch complications, CarPlay and Android Auto, AR, or heavy background system integration. Those are usually better built natively, or with a native module sitting behind a platform channel.
We advise a different cross-platform stack when a team's skills, hiring plan and existing component library are entirely in the JavaScript ecosystem. Those teams often get more out of Ionic, React or Angular cross-platform delivery. Metadrop states which of these applies to your case before an engagement is scoped, and documents the recommendation as part of the proposal.
Flutter and headless Drupal: one team, both ends
For many content-driven apps, the editorial workflow matters as much as the UI itself. Editors need to change screens, banners, articles and translations without waiting for an app-store release, and a Drupal backend exposed over JSON:API or GraphQL is how that becomes possible.
Metadrop can deliver the full path: Drupal content modelling, then the JSON:API or GraphQL contract, an authenticated app client, an offline cache and the Flutter UI, with the API contract versioned and tested from both sides. Standard patterns in scope include multilingual content delivery, authenticated and role-restricted content, JWT or OIDC login, GraphQL mutations for user-generated data, and third-party API aggregation alongside the CMS feed.
Metadrop built and still maintains the mobile and web front ends of an international sporting federation's public platform, where a cross-platform mobile app and a large single-page application consume both a third-party results API and a headless Drupal editorial backend, across two languages and high-traffic event spikes. That mobile app was built with Ionic and Angular; the architecture, the API-contract discipline and the headless-Drupal pattern are the same ones a Flutter engagement uses.
On another engagement, Metadrop built an authenticated GraphQL API on Drupal for a humanitarian organization's member application, covering login, CRUD endpoints, group management and invitation e-mails, with JWT authentication and automated REST and GraphQL contract tests feeding single-page front ends.
For buyers who need the web front end too, the same team delivers enterprise Angular applications on the same Drupal backend, so app and web share one content model and one API contract.
Migrating native and hybrid apps into one Flutter codebase
Typical starting points are two separate native codebases whose features have drifted apart, a Cordova or Ionic web-view app that can no longer meet performance or design expectations, or an app whose original team is no longer available.
The business case is usually maintenance cost and release cadence. A single codebase typically means one backlog, one QA cycle and one release train, and feature parity across platforms stops being a coordination problem.
Five mechanisms de-risk the migration:
- Audit first: screen inventory, dependency map, API surface and test coverage, producing a phase plan and a project-specific effort estimate.
- Add-to-App: Flutter modules are embedded into the existing native app, so migrated screens ship to real users incrementally while the rest of the app is untouched.
- Screen-by-screen cutover in priority order, each phase gated by integration and end-to-end tests before it reaches the stores.
- Native capability preserved through platform channels for anything that must stay in Swift or Kotlin.
- Analytics and crash reporting compared across phases, so a regression is caught in the phase that introduced it.
The goal is to preserve existing functionality, store presence, ratings and user sessions through the transition. Each phase carries explicit acceptance criteria and a documented rollback path.
Send us your codebases or your store listings and we'll come back with a phased consolidation plan and an effort range, with no commitment required.
Since June 2025 the European Accessibility Act's accessibility requirements apply to many consumer-facing digital services, and mobile apps fall within that scope for the sectors covered (an interpretation of the directive and its national transpositions, not legal advice).
Accessibility is engineered rather than retrofitted: Semantics widgets and meaningful labels, TalkBack and VoiceOver support, focus order and keyboard or switch navigation, dynamic text scaling that does not break the layout, contrast checked against the design system, and reduced-motion handling. WCAG 2.1 AA is the conformance target applied to mobile UI, with WCAG 2.2 AA criteria used as a design-quality goal beyond today's legal baseline.
On the privacy side, GDPR-aligned mobile data handling means data minimisation in the app itself, consent captured before analytics and marketing SDKs initialise, documented data flows, EU-region backends where required, and store privacy declarations (Apple privacy manifests, Play Data safety) kept consistent with what the app actually does.
Security engineering covers OIDC and OAuth2 plus biometric authentication, tokens held in the platform keystore or keychain, certificate pinning, jailbreak and root awareness where the risk profile justifies it, dependency and SBOM review in CI, and secrets kept out of the shipped bundle.
Those practices sit inside a governance frame: Metadrop is ENS-certified, works to a secure SDLC prepared for NIS2 requirements, and translates each obligation into concrete engineering tasks for the client's own compliance owners. Metadrop's published engineering writing on the European Accessibility Act and the 2025 accessibility obligations for the public and private sector documents the engineering approach behind those practices.
How a Flutter engagement runs
Technology in routine use: Flutter and Dart; Riverpod, Bloc and Provider; REST, GraphQL and Drupal JSON:API; Firebase authentication, push, analytics and Crashlytics; offline-first local storage; platform channels for native iOS and Android code; CI/CD with Codemagic, Fastlane or GitHub Actions; flutter_test, integration_test and Patrol; App Store Connect and Google Play release management.
Discovery and technical scoping
use cases, platform targets, API and integration surface, compliance obligations, and a build-versus-consolidate recommendation. Output: scope, phase plan and effort range.Architecture and design system
state-management choice (Riverpod, Bloc or Provider, chosen and justified per project), navigation model, typed API layer, offline strategy, and a Figma-to-Flutter widget library.Build in sprints
working builds reach stakeholders from the first sprint through TestFlight and Play internal testing, each sprint closing with a demo and a decision point.Quality engineering
unit and widget tests with flutter_test, integration and end-to-end suites with integration_test or Patrol, performance profiling in DevTools, and accessibility verification on real devices with screen readers enabled.
Release management
signing, store metadata, staged rollouts, phased releases, Crashlytics and analytics wired before launch, and both store submissions handled by Metadrop.
Maintenance and evolution
a contractual SLA covering SDK and dependency upgrades, OS-version compatibility, store-policy changes and roadmap delivery.
Engagement models and what a Flutter project costs
Five engagement models cover the usual situations:
- Full project delivery: Metadrop owns scope, team and timeline end to end, with a tech lead, Flutter developers, QA, UX/UI and project management sized to the roadmap.
- Dedicated squad: a named, stable team working to your backlog and your ceremonies, with the tech lead staying with the project for its lifetime.
- Team extension or staff augmentation: engineers experienced in Flutter and Dart embedded into your existing mobile team, at the profile and seniority the gap requires.
- Maintenance and support retainer: an SLA-backed monthly engagement for a production app, with or without a feature-delivery allocation.
- Consulting and audit: a fixed-scope codebase audit, architecture review or technology recommendation, deliverable in weeks.
Cost is driven by the number of screens, the integration count, the backend work required, offline and real-time requirements, design effort, accessibility and compliance scope, and how many app stores and locales are in play. Metadrop quotes per project after a free consultation rather than publishing a rate card, because rates vary by profile, seniority and contract length. Every quote separates the one-off build cost from the recurring maintenance line, so the total cost of ownership is visible before you sign.
Why organizations choose Metadrop for Flutter
Metadrop brings 15+ years of enterprise digital delivery across Drupal, decoupled architectures and cross-platform front ends, owning the full lifecycle: strategy, UX/UI, build, release, maintenance and SLA-backed support. It is a Drupal Silver Certified Partner and ENS-certified, with a GDPR, WCAG and NIS2-prepared delivery track record, which is the credential set EU enterprise and public-sector procurement asks for.
As a European engineering partner delivering for organizations that operate in 50+ countries and 30+ languages, multilingual and multi-region requirements are common across the projects Metadrop delivers. Projects run with documented architecture decisions and independent technical governance: Metadrop records the reasoning behind each decision, translates technical risk for non-technical stakeholders, and uses standard, non-proprietary Flutter tooling, making it easier for another team to take over if required.
Client engagements commonly run 3+ years, which is how framework and OS upgrades stay routine instead of turning into rescue projects. Metadrop's published engineering work on headless Drupal with JavaScript applications, presented at Decoupled Drupal Days in New York, documents a decoupled app-delivery practice that spans multiple generations of cross-platform tooling.
Frequently asked questions
What does Flutter app development involve?
Flutter is Google's open-source framework for building apps from a single codebase written in Dart, targeting iOS and Android from the same source, with web and desktop as additional targets. A full engagement covers discovery and architecture, UI implementation against a design system, API and backend integration, automated testing, store release, and post-launch maintenance. Metadrop delivers all of those phases, including the backend or CMS API the app consumes.
Flutter or React Native for an enterprise app?
Both are mature, production-proven choices. The decision usually comes down to rendering model, typing and where your team's skills already are.
Metadrop's recommendation follows your team, roadmap and design requirements rather than a framework preference. Where React Native or Ionic is the better fit, that is what the proposal says.
Can you migrate our existing native or hybrid apps to Flutter?
Yes, and it runs incrementally rather than as a rewrite: an audit produces the phase plan, then Add-to-App embeds Flutter modules into the existing app so migrated screens reach users phase by phase. The two common cases are consolidating separate iOS and Android codebases, and replacing a Cordova or Ionic web-view app that has hit its performance or design ceiling. Duration depends on screen count, integration surface and existing test coverage, and the audit produces a project-specific estimate before any commitment.
How long does it take to build a Flutter app?
A focused first release typically lands in 3 to 6 months from discovery to store approval, depending on screen count, integrations and how much backend work is required. A single-purpose app or a validated MVP can be shorter; a multi-role platform app with offline requirements and several integrations runs longer. Stakeholders see a working build from the first sprint, so the timeline is verifiable as it progresses rather than at the end.
How much does Flutter app development cost?
Cost is driven by scope, not by platform count: screens, integrations, backend work, offline and real-time requirements, design effort, accessibility and compliance scope, and the number of locales. Because one codebase serves both platforms, the build and QA effort for a second platform is a fraction of a separate native build, which is one of the main reasons organizations choose to consolidate. Metadrop quotes per project after a free consultation, and every quote separates the one-off build cost from the recurring maintenance line.How does a Flutter app get its content from Drupal?
Through JSON:API or GraphQL: Drupal holds the content model, the app consumes typed endpoints, and editors publish changes that appear in the app without a new store release. Multilingual content, role-restricted or authenticated content, media derivatives and offline caching are all handled at that contract level. Metadrop builds both sides of that contract, which reduces the API-handoff risk between a mobile supplier and a CMS supplier.
Are Flutter apps accessible and GDPR-compliant?
Flutter apps can meet WCAG 2.1 AA for mobile UI when accessibility is engineered in. Semantics labels, screen-reader support for TalkBack and VoiceOver, focus order, text scaling and contrast are part of Metadrop's delivery baseline, and WCAG 2.2 AA criteria are applied as a design-quality goal. For privacy, the app is built to minimise the data it collects, capture consent before analytics or marketing SDKs initialise, and keep store privacy declarations consistent with actual behaviour. Whether a given app meets its obligations also depends on your own processing activities and content, so this is a technical readiness statement rather than legal advice.
Who owns the code, and what happens after launch?
The client owns the codebase, the repository, the store accounts and the signing keys. Code, documentation and credentials are handed over as agreed in the engagement. Metadrop handles App Store and Google Play submission, staged rollouts and store metadata as part of delivery. After launch, a maintenance retainer under a contractual SLA covers Flutter SDK and dependency upgrades, OS-version compatibility, store-policy changes, crash triage and agreed feature work.
Talk to us about your Flutter app
A new cross-platform app, two native codebases you want to consolidate, a production Flutter app that needs a dependable owner: the starting point is the same conversation.
Tell us what you have today and we'll scope a free 30-minute call, with no commitment required and a reply within one business day. Where there is enough information to go on, the call typically ends with a recommended approach and an initial effort range.