On this page · 12 sections
Summary. Google Play requires new apps and app updates to target Android 16 (API level 36) from 31 August 2026, with an extension available only to 1 November 2026. Apple has required every App Store Connect upload to be built with Xcode 26 and an iOS 26 SDK since 28 April 2026. Flutter 3.47, released 12 August 2026, moved Material and Cupertino into standalone material_ui and cupertino_ui packages and scheduled the in-SDK originals for formal deprecation in November. React Native 0.87, released 11 August 2026, raised its floor to Node.js 22, Android Gradle Plugin 9 and Kotlin 2.0. Four mandates in seven months, all touching the same codebase. That is the number a buyer should be looking at, and it is why the cost of a hybrid app in 2026 is dominated by upgrade cadence rather than by the initial build.
Most pages that answer "hybrid app development company" compare Flutter against React Native on rendering performance. That comparison stopped deciding anything useful around 2024. Both stacks now compile to genuinely native UI, both ship on quarterly cadences, and both will force you into a migration this year whether you planned one or not. The question that decides your total cost is narrower: how quickly can your partner absorb a platform mandate without stopping feature work?
The four deadlines currently in force
| Mandate | Owner | Date | What breaks if you miss it |
|---|---|---|---|
| Xcode 26 + iOS 26 SDK for all uploads | Apple | Since 28 April 2026 | App Store Connect rejects the upload |
| Target API 36 for new apps and updates | Google Play | 31 August 2026 | Submission blocked; extension only to 1 November 2026 |
| Existing apps must target API 35 | Google Play | 31 August 2026 | App stops being discoverable to new users on newer Android |
| Core Material and Cupertino deprecated | Flutter | November 2026 stable | Design libraries move to pub.dev packages |
Google's Play Console documentation is specific about the second row and it is the one buyers underestimate. An app that stays on API 34 does not get removed. It becomes invisible: Google Play tells the user "this app is not available to install on their device because it was made for an older version of Android" when they arrive on a newer handset. Existing installs keep working. New acquisition stops. For a consumer app in India, where most new installs arrive on recent Android builds, that is a silent revenue cut rather than an outage anyone pages you about.
The extension is narrower than it sounds. Google states that only apps already out of compliance receive a policy warning, and the extension form appears through that warning on the Policy status page. You cannot request one pre-emptively.
"Hybrid" now means three different architectures
The word covers three technical approaches with different failure modes. A company that says it "does hybrid" without naming which one is selling you a resourcing plan, not an architecture.
| Approach | How the UI renders | 2026 flagship release | Best fit |
|---|---|---|---|
| Flutter | Own engine (Impeller), draws every pixel | 3.47, 12 August 2026 | Design-heavy consumer apps, one visual language on both stores |
| React Native | Maps to real platform widgets via Fabric | 0.87, 11 August 2026 | Teams with existing React and TypeScript engineers |
| Capacitor | Web app in a system WebView with native plugins | 8.x, targetSdkVersion 36 |
Content, commerce and internal tools where an existing web app exists |
Flutter's renderer is now Impeller everywhere. Version 3.47 made it the default on macOS, Windows and Linux after Android and iOS, and the Flutter team's stated reason is that Impeller "compiles a fixed set of shaders at build time rather than compiling them dynamically at runtime", removing first-play animation stutter. Version 3.47 also raised Flutter's minimum supported iOS from 13 to 15 and macOS from 10.15 to 12.
React Native took the opposite route and finished a different job. Release 0.82 in October 2025 was, in the team's words, "the first React Native that runs entirely on the New Architecture", and 0.84 made Hermes V1 the default JavaScript engine in February 2026. There is no longer a legacy bridge to fall back to. That is good for performance and unforgiving for old dependencies.
Capacitor is the honest choice when a working web application already exists. Capacitor 8 sets compileSdkVersion and targetSdkVersion to 36 and minSdkVersion to 24 in variables.gradle, requires Xcode 26 with an iOS deployment target of 15.0, and requires Node.js 22 or greater. It also removed android.adjustMarginsForEdgeToEdge in favour of a System Bars core plugin, so edge-to-edge handling moves to CSS environment variables.
What each stack actually demands from you this year
Flutter: a design-system migration with a November clock
Flutter 3.47 shipped material_ui and cupertino_ui at version 1.0 on pub.dev. Migration runs through one command, dart fix --apply --code=migrate_design_widgets, which rewrites imports. The deadline is explicit in the release post by Emma Twersky of the Flutter team: "The original design libraries inside the core SDK are scheduled for formal deprecation in the upcoming Fall stable release in November."
Two other items in 3.47 carry real migration weight. The iOS 27 SDK mandates the UIScene lifecycle for UIKit-based apps, and Flutter warns that apps built with Xcode 27 which have not adopted UIScene will fail to launch. The Flutter CLI handles this automatically for most projects; custom AppDelegate code and plugins on the legacy lifecycle need manual work. Separately, 92 of the top 100 iOS plugins have moved to Swift Package Manager, and CocoaPods is in maintenance mode, so unmigrated plugins will eventually stop working and already score lower on pub.dev.
Flutter 3.47 verifies against Java 17, Kotlin Gradle Plugin 2.4.0, Android Gradle Plugin 9.1.0 and Gradle 9.3.1, with flutter.compileSdkVersion and flutter.targetSdkVersion both at API 36. A Flutter project on 3.47 is already Play-compliant for 31 August. A Flutter project three releases behind is not, and the Gradle chain is what makes that upgrade slow.
React Native: a toolchain floor, not a rewrite
React Native 0.87, published 11 August 2026 by Zeya Peng and colleagues at Meta and Expo, is blunt about the cost: "This release makes the Strict TypeScript API the default JavaScript API, updates Metro to 0.87, adds experimental support for Swift Package Manager (SwiftPM). It also raises the minimum toolchain requirements: Node.js 22, Android Gradle Plugin 9, and Kotlin 2.0+."
Strict TypeScript by default is the item that surprises teams. It was opt-in from 0.80 and was always described as a one-time breaking change; on a large codebase with untyped native modules, it surfaces work that has been deferred for two years. The AGP 9 requirement is separately awkward for apps carrying old native libraries.
The upgrade path is gentler than Flutter's on the UI side. React Native 0.83 and 0.86 both shipped with no user-facing breaking changes, and 0.86 added edge-to-edge support on Android 15 and above, which is exactly what API 36 pushes you toward anyway.
Capacitor: cheapest to build, thinnest margin for platform change
Capacitor's upgrade to 8 is mostly configuration, and npx cap migrate does much of it. The residual risk sits in plugins and in Android's behaviour changes. Capacitor's own migration notes record that scanOrientation in the Barcode Scanner and lock in Screen Orientation have no effect on large screens from Android 16, that the opt-out property is temporary, and that it will stop working on Android 17. A tablet-facing app that pins orientation has a dated problem, not a preference.
What we build
eCorpIT builds hybrid applications in all three stacks, and the selection is made against your existing engineering staff and your release cadence rather than a house preference. Typical work: consumer apps with a shared design system across both stores, commerce and D2C applications where an existing web front end is worth reusing, field-force and internal tools with offline data synchronization, and migration of ageing Cordova or legacy-architecture React Native apps onto a supported baseline.
The migration work is now the larger half of the market. The real cost of a hybrid app is usually the upgrade you did not budget for, not the screens you did budget for.
Our five-step delivery process
- Baseline audit. Application portfolio analysis of the current build: target SDK, Gradle and Kotlin versions, plugin inventory, and which of the four mandates above you currently fail. Output is a dated compliance position, not an estimate.
- Architecture decision. Stack selection written down with the reason, including the case against the stack we chose. Where an existing React or web codebase exists, that weighs more than framework benchmarks.
- Build in two-week increments. Working builds on TestFlight and Play internal testing from the first increment, so store-level problems surface early rather than at submission.
- Store readiness. Target API and SDK compliance, privacy manifests, age-rating responses in App Store Connect, and edge-to-edge behaviour verified on current Android before submission.
- Cadence maintenance. A standing quarterly upgrade slot mapped to the Flutter and React Native release trains, so a platform mandate consumes a planned sprint rather than an emergency.
The stack
Flutter with Dart and Impeller; React Native with the New Architecture, Hermes V1 and TypeScript; Capacitor with Angular, React or Vue where a web application already exists. Server side: Node.js, Python and .NET on AWS, Azure or Google Cloud. Offline data synchronization, push via Firebase Cloud Messaging or APNs, and server-side rendering for the web surface where SEO matters. CI/CD through GitHub Actions or Azure DevOps with signed builds to both stores.
Why eCorpIT
eCorpIT is eCorp Information Technologies Private Limited, founded in 2021 and based in Sector 83, Gurugram. We are assessed at CMMI Level 5, certified to ISO 27001:2022, and MSME registered. We are partners of AWS, Microsoft, Google and Shopify. Teams are senior-led and multi-disciplinary rather than staffed from a bench.
For regulated work we design applications aligned with DPDP Act 2023 requirements and with the framework your auditor applies. We do not claim to certify your app against a framework we do not hold.
Engagement model and indicative bands
We work in three models. A fixed-scope build suits a defined app with a signed specification and a store deadline. A dedicated team suits continuous product work and is billed monthly per engineer. A maintenance retainer covers the quarterly upgrade slot described above and is sized by the number of active plugins and native modules.
We publish an engagement model rather than a rate card, because a hybrid quote that arrives before anyone has read your plugin inventory is a guess. The audit in step one is short and produces a fixed number. For current commercial terms, contact us through /contact-us/.
India-specific considerations
Android share is high enough in India that the 31 August discoverability rule matters more here than in most markets: an app stuck on API 34 loses new installs on the handsets that are actually selling. Device fragmentation also makes Impeller's build-time shader compilation worth more on mid-range hardware than benchmark charts on flagship devices suggest.
On privacy, the DPDP Act 2023 governs personal data in your app regardless of stack, and the obligations follow the data rather than the framework. A WebView-based Capacitor app and a Flutter app handling the same consent flows carry the same duties.
Cost comparison against offshore alternatives is covered in our India versus US app development cost analysis, and the framework selection question specifically for hiring is in the React Native versus Flutter hiring decision framework. The Android deadline itself is covered in depth in our Android target API 36 migration guide, and the wider architectural picture sits in our enterprise mobile app development guide.
FAQ
How eCorpIT can help
We audit your current build against all four mandates in force, tell you which ones you fail today, and give you a fixed number to clear them. Where a new build is the right answer, we select the stack against your existing engineers rather than our preference, and we write down the case against the choice as well as for it. Teams are senior-led, and the quarterly upgrade slot is part of the engagement rather than a change request. Start with a short baseline audit through /contact-us/.
References
- Target API level requirements for Google Play apps, Play Console Help, Google
- What's new in Flutter 3.47, Emma Twersky, The Flutter Blog, 12 August 2026
- What's new in Flutter 3.44, The Flutter Blog, 20 May 2026
- Upcoming Requirements: SDK minimum requirements, Apple Developer
- React Native release announcements, versions 0.82 to 0.87, Meta and Expo, October 2025 to August 2026
- Updating from Capacitor 7 to Capacitor 8, Capacitor Documentation, Ionic
- Updating to Capacitor 8.5, Capacitor Documentation, Ionic
- Setting target SDK in Capacitor for Android, Capacitor Documentation, Ionic
- Swift Package Manager in Capacitor for iOS, Capacitor Documentation, Ionic
- Swift Package Manager migration guide for plugin authors, Flutter documentation
- Flutter breaking changes and migration guides, Flutter documentation
- material_ui package, version 1.0, pub.dev
- cupertino_ui package, version 1.0, pub.dev
- Migrating to a newer target SDK level, Android Developers
Last updated: 15 August 2026.