Cross-Platform Mobile App Development
We build iOS and Android apps from one React Native codebase: one team, one backend, releases on both stores at the same time. If your product is better off native, we say so before the estimate.
When one codebase is the right answer
Cross-platform development works when the app is built around content and requests to a server. It works badly when the product lives on heavy graphics, constant background processing or brand-new platform features.
- You need an MVP on both iOS and Android and want to test the market before paying for two native apps
- The app is built around feeds, catalogues, forms, bookings, profiles and messaging
- New features have to reach iPhone and Android users on the same day
- The budget covers one development team, not two
- Your web platform needs a companion app with the same accounts and data
- You have a React Native app from another team that needs to be finished or brought up to date
What's included
Platform assessment
Before the estimate we go through the features and tell you whether React Native fits. If a critical part needs native code, we point out where it is and how much of the app it affects.
Design for both platforms
One design adapted to iOS and Android conventions: navigation, gestures, system dialogs, back behaviour. Not an iPhone design stretched over Android.
React Native development
Shared code for screens, business logic and server requests. Work goes in sprints, and each one ends with a build for both platforms you can install and try.
Native modules
Where shared code cannot reach far enough, such as a vendor SDK, a hardware feature or background work, we write native modules in Swift and Kotlin and connect them to the app.
One backend for both apps
API, database, admin panel and push notifications built once and used by both apps, and by a web version if you need one. Python or PHP (Laravel), chosen for the task.
QA, release and updates
Testing on real iPhones and Android phones, publication in the App Store and Google Play, and updates after launch, including upgrades of React Native and its libraries.
Where cross-platform works and where it does not
One codebase for iOS and Android usually costs noticeably less than two native apps and takes less calendar time, because most of the code, design and testing is shared. The trade works when the app shows content, lists and forms and talks to a server. It works badly when the product depends on animation-heavy interfaces, camera-driven features, long background processing or platform APIs that reach native SDKs first. We tell you which of the two your product is before the estimate, not after the first release.
- Good fit: content apps, catalogues, marketplaces, booking and service apps
- Good fit: MVPs that have to be on both stores from day one
- Better native: heavy graphics and animation, camera-driven features
- Better native: constant background work and the newest platform APIs
One team, one backend, one release calendar
With two native apps you run two codebases, two sets of bugs and often two release dates. With React Native, a feature is written once and ships to both stores together, and the same people answer for both platforms. The server side is shared as well: one API and one admin panel serve both apps and, if needed, a web client. Metacognit.me, an app for metacognitive correction and psychotype diagnostics, is built exactly this way: a React Native client for iOS and Android and a Python backend.
- One repository and one feature set for iOS and Android
- Releases on both stores at the same time
- One API and admin panel for both apps and the web
- Fewer people to coordinate and fewer handovers
Ready for a move to native, if it ever comes
Starting cross-platform does not lock you in. The backend and the API survive a move to native; the client code does not. That is why we design the API so that a future native or web client can use it unchanged, and keep platform-specific parts isolated in native modules. We have done migrations in both directions. For Quaker, a cooking app for a food delivery company in Dubai, we replaced a hybrid app built on outdated technology with two native clients once the platform differences started to matter for the product.
- An API designed to serve any future client, native or web
- Platform-specific code isolated in native modules
- An honest signal when the app outgrows the shared codebase
- Accounts and data that move with the product, whatever the client is written in
How a cross-platform project runs
Assessment and estimate
We go through features and integrations and check what needs native code. You get a written scope, a React Native or native recommendation and an estimate.
Design
Prototype and final UI adapted to both platforms. You approve the screens for iOS and Android before development.
Development
Shared code first, native modules where required, backend in parallel. After each sprint you install fresh builds on both platforms.
Testing on devices
QA on real iPhones and Android phones with different screens and OS versions. You get one tested release for both stores.
Release and support
Publication in the App Store and Google Play under your accounts, then updates, fixes and framework upgrades for as long as you need them.
Technologies
Cross-platform
- React Native
- JavaScript
Native modules
- Swift (iOS)
- Kotlin (Android)
Backend and API
- Python
- PHP (Laravel)
- MySQL
How we can work together
Fixed scope
An agreed feature list, estimate and timeline for both platforms. A common choice for an MVP that has to launch on both stores.
Dedicated team
One cross-platform team working on your app continuously. Suits products that release often and plan their roadmap sprint by sprint.
Hourly
Payment for hours actually spent. Suits audits of an existing React Native app, framework upgrades and smaller features.
Related projects
See also: Mobile app development · Web development · QA and testing · Mobile app support
Reviews
We treat each client and his project with love.
Revol team continues to streamline the client’s development capabilities through their high-quality work and reliable support. They communicate effectively and exhibit a strong understanding of the client’s needs and business.
Tomas
The work from Revol, have fully met expectations and satisfied the client. Their fresh approach and ability to remain available for support have been valuable assets. Customers can bring them on for a communicative, client-oriented team to achieve their goals with.
Andrey
Frequently asked questions
Will users notice that the app is not native?
In the scenarios cross-platform suits, no. Where they would notice, such as animation-heavy interfaces, camera-driven features or long background work, we recommend native development instead of promising that the shared code will cope.
How much cheaper is cross-platform than two native apps?
Usually noticeably cheaper and faster, because most of the code, the design and the testing are shared. The exact difference depends on how many platform-specific features the app needs. We give concrete figures in the estimate for your app rather than a general percentage.
Can we start cross-platform and move to native later?
Yes, and we have done the migration in both directions. It is worth planning early, because the backend and the API survive the move while the client code does not.
Do you publish the apps to the stores?
Yes. We prepare builds, store listings and metadata, go through App Store and Google Play review and handle the fixes review asks for. The apps are published under your own developer accounts.
How is the price calculated?
We break the app into features, estimate each one in hours and add design, backend, QA and release work. You can then choose a fixed scope, a dedicated team or hourly work. Prices are not published because the effort varies too much between apps.
Can you take over an existing React Native app?
Usually yes. We start with a review of the code: React Native and library versions, native modules, the build process. You get a clear picture of the app's condition and what the first months will involve, including whether an upgrade or a partial rewrite is needed.
Tell us about your project
Describe the task in a few lines. Within one working day we reply with questions or a first view on scope and cost.
Prefer email or a call?
welcome@revolsource.com
+38 097 662 23 20
Revol Software OÜ, Tallinn, Estonia. Our team is distributed around the world.
Join our team
Send your CV to career@revolsource.com