Petadev builds React Native mobile apps, from the app itself to the backend and admin panel behind it. We have been working with React Native for eight years and have released more than 30 apps with it. We build the iOS and Android apps cross-platform, on a shared codebase, and handle the differences between the two platforms separately. We help launch new products and add mobile apps to existing systems.
When is cross-platform development with React Native a good choice?
React Native is a cross-platform framework: the iOS and Android apps are built from one codebase. It is a good starting point if you want the same service available on iPhone and Android, and it matters that both apps can be developed further together.
Typical examples are a booking service, a marketplace or a mobile app for an existing online store. A shared codebase pays off when most of the user flows are similar on both platforms.
In our first conversation we also go through any special requirements: background location, custom device connections, camera processing, or a vendor SDK that takes extra work to integrate. These are what a responsible technology decision is based on. That said, React Native is not a compromise: it is well suited to building high-quality, complex systems.
What do we build with React Native?
App screens and user flows
We design and build the screens, navigation, forms and the user flows tied to roles and permissions. We take into account screen sizes, system permissions and how people actually use the app day to day.
The connection to the backend
We connect the app to an existing API or build the backend services it needs. At Petadev, the same team handles mobile and backend work, so the interface and the data are designed together, in one process.
The integrations your product needs
Payments, identity verification, notifications or data from an online store: first we clarify which system is responsible for what. An integration handles not only the successful case but also rejections, timeouts and retries. For example, after an interrupted payment, the app has to show the actual state of the transaction.
An app that is tested and ready to release
Development includes testing the iOS and Android versions and preparing the app store submissions. Even with a shared codebase, critical actions have to be tested on both platforms. App review is a separate step, and its outcome is decided by the stores, not by the development team.
React Native projects we've delivered
Ostva: React Native and Expo for a US marketplace
We built Ostva's iOS and Android apps with React Native and Expo. The mobile app is connected to a custom backend and admin panel, and the system handles Stripe Connect payments and Onfido identity verification. The challenge was keeping the booking status consistent across all connected systems.
Trinity Guard: patrol verification with a smartphone
For Trinity Guard's patrol verification system, we built the mobile app in React Native, along with the web interface and the backend. Guards verify their patrols with a smartphone, with no dedicated checking device. We have been developing the system continuously since late 2022, and it runs in three separate environments.
Ecommerce app: shared accounts with an existing online store
For an online tool store, we built a React Native app and Node.js backend services. Customers sign in with their web store account and can see their order history. We worked with the existing store's developers to connect the two systems.
1We talk through how the app should work. Who will use it, what do they need to get done, and which systems does it have to connect to? If you already have a specification or UI designs, we start from those.
2We review the technical requirements. Platform-specific features and third-party services get special attention. This shows where a shared solution works and where separate iOS or Android development is needed.
3We put the agreed scope in writing. Based on the specification, we prepare the proposal and the milestones. The tasks for the app, the backend and the admin panel are all clearly listed.
4We deliver working builds for review. You can check how the app works during development. Feedback and new requests that come up along the way are agreed on before the next steps.
What affects React Native development cost and timeline?
Business logic, the state of the integrations and platform-specific requirements often matter more than the number of screens. An existing, well-documented API is a different starting point from a system whose backend services still have to be built.
A shared codebase can reduce duplicated development work, but it does not remove the need for separate testing or per-platform fine-tuning. That is why we estimate based on the actual tasks.
Tell us what the app would be used for, whether you need both iOS and Android, and which existing systems it should connect to. If you already have an app, send us its store link and tell us what you need help with. There is no need to include confidential access details in your first message.
Frequently asked questions about React Native cross-platform development
Is a React Native app the same as an app that just displays a website?
No. React Native is used to build apps with native UI components. Displaying a website in a WebView is a different approach. A React Native app may still open web content where it makes sense, but that does not turn the whole app into a website wrapped in an app. React Native is a high-quality cross-platform solution, and large companies use it too.
Do large companies and well-known apps use React Native?
Yes. React Native is developed by Meta, which also uses it in its own products, such as Facebook Marketplace and Ads Manager. Microsoft uses it in parts of the Outlook and Teams mobile apps, Amazon in the Amazon Shopping and Alexa apps, and Discord builds both its iOS and Android apps on it. These are not always apps built entirely in React Native: the framework can also be added to existing native apps. We use it too, for example in the Ostva and Trinity Guard mobile apps. Sources: the official React Native showcase and the Discord engineering blog.
Will all the code be shared between iOS and Android?
Not necessarily. Much of the app can be shared, but permission requests, some integrations and platform-specific features may need separate solutions. We account for these before we send a proposal, and we don't promise a general code-sharing percentage.
What is Expo used for?
Expo provides tools and services that support React Native development. We used it for Ostva as well. Custom native dependencies can be added to a development build, so its capabilities shouldn't be confused with the limits of the Expo Go test app. We always match the setup to the integrations a project needs.
Why do you work with React Native?
Because most of our clients need the same service on iPhone and Android. With React Native, both apps are built from one codebase, so a new feature can ship on both platforms at once. We use the same language (JavaScript and TypeScript) in the app, in the React or Next.js admin panel and in the Node.js backend, so one team understands the whole system. We use Expo for builds and releases. When a project needs a device feature that native development handles better, we write it in Swift or Kotlin. React Native is also a reliable, stable choice for complex platforms.
Can we contact you about an existing React Native app?
Yes. First we need to understand the source code, the versions in use, the integrations and the release process. Based on that, we can recommend the next steps. If you are taking the app over from another developer, this article explains what to watch for. If the main need is updates or ongoing support, our app maintenance and support service is the right fit.
What is the difference between React Native and Flutter?
Both can be used to build iOS and Android apps from a largely shared codebase. In React Native we use JavaScript or TypeScript, and the basic UI components are built on the platform's native elements. In Flutter, apps are written in Dart, and the interface is usually drawn by Flutter's own rendering engine. Both allow a custom look and a user experience that fits the platform. For us, React Native fits the team's experience, our React-based web admin panels and our Node.js backends. The right technology depends on the app's features, the existing systems and the long-term development plans.
What are the downsides of cross-platform development compared with native? Are there any?
For most business and startup apps, such as booking, ordering, marketplace or customer portal apps, the difference is barely noticeable today. Downsides can appear where the app relies very heavily on the device or the operating system: graphics-intensive games, 3D and AR apps, continuous background processing or custom hardware connections. Smartwatch apps and home screen widgets need native code even alongside React Native. New iOS and Android features are often available natively first, and framework updates have to be followed regularly. Even then, the whole app doesn't have to be written natively: native modules written in Swift and Kotlin can be added to a React Native app. That is how we work when a project calls for it.
Do you also build the backend and admin panel for the app?
Yes. When needed, we build the app's backend and the admin interface as well. If these already exist, we first look at how the app can connect to the existing system.
How much does a React Native app cost, and is it cheaper than native development?
If you need the app on both iOS and Android, a shared React Native codebase usually takes less development and maintenance work than two separate native apps (Swift and Kotlin). Two separate native apps can nearly double the time and cost of the app itself, while the backend and admin panel are shared in both cases. You can find our indicative price ranges on our mobile app development page, and we give a specific quote after reviewing your feature list.
Can a React Native app be published on the App Store and Google Play like any other app?
Yes, these are fully fledged apps. React Native produces native iOS and Android builds, and they are submitted through App Store Connect and the Google Play Console, just like a native app. You need a developer account, a privacy policy, a justification for the permissions the app requests, and store screenshots. We handle the builds and the submission, and we agree on the account-related tasks at the start.