HAMO Engineering
HAMO
ENGINEERING
BACK TO START SMALL
ENGINEERINGOct 25, 2026/8 MIN READ

React Native + Expo or Native? What We Learned Shipping a Marketplace App in Tunisia

Should you build with React Native and Expo or go native? Real lessons from shipping the Dokkan marketplace app in Tunisia, plus a decision checklist.

H
Hamo Engineering
Oct 25, 2026
React Native + Expo or Native? What We Learned Shipping a Marketplace App in Tunisia

If you are planning a mobile app in Tunisia, you will hit the same question every founder hits in the first week: React Native with Expo, or fully native?

We faced that decision while building Dokkan, a Tunisian multivendor marketplace with separate buyer and seller experiences. This article explains what we chose, why, what surprised us, and when we would choose differently. It is written for founders, product owners and technical leads deciding on a mobile stack, not for people looking for a framework fan war.

Short answer: for most startups and SMEs building a marketplace, e-commerce or service app, React Native with Expo is the faster, cheaper and safer starting point. Native is worth it only when you have a specific, proven need for it.

Why this decision matters more than it looks

Your mobile stack affects far more than code. It decides:

  • Time to market: how fast you can put a working app in front of real users.

  • Team size and cost: one codebase or two, and how hard it is to hire.

  • Release speed: how quickly you can fix a bug after launch.

  • Maintenance: how painful the app is to keep alive for the next three years.

In a market where every dinar of runway counts, picking a stack that slows you down is a strategic mistake, not just a technical one.

The options, in plain language

Native means writing separate apps: Kotlin (or Java) for Android and Swift for iOS. You get maximum control and the best access to every device feature, but you build and maintain everything twice.

React Native lets you write the app once in JavaScript or TypeScript and run it on Android and iOS with real native UI components.

Expo is a toolkit and platform built around React Native. It handles build tooling, device APIs, cloud builds and over-the-air updates, so a small team spends its time on product features instead of configuration.

Why we chose React Native and Expo for Dokkan

A marketplace is not one app. It is a buyer experience (browse, search, cart, checkout, orders) and a seller experience (listings, orders, shipping, payouts), sitting on top of a backend that has to stay consistent. We chose React Native with Expo for four reasons.

1. One team, one codebase

Our stack is TypeScript end to end: React Native and Expo on the frontend, NestJS and MongoDB on the backend. Sharing language, types and conventions across the stack means developers move between mobile and backend without a context switch, and a small team can own the whole product. If you want to see how the backend side works, read our overview of NestJS backend development.

2. Speed to market

For a young marketplace, learning from real users beats polishing in isolation. Expo's tooling lets us build, test on real devices and ship quickly, which matters when you are validating whether buyers and sellers will actually use the product.

3. Over-the-air updates

This is the underrated advantage. With Expo's update system, many fixes and UI changes (anything in the JavaScript layer) can reach users without waiting for a full store review cycle. When a checkout bug appears on a Friday, that difference is enormous. Native binary changes still need a store release, so you plan for both, but the ability to patch quickly changes how calmly you can operate.

4. A realistic cost profile

Two native apps mean two codebases, two sets of bugs and often two specialist profiles to hire. For most Tunisian startups and agencies' clients, that budget is better spent on the product, the backend and the operations around it.

What building in Tunisia changes

A mobile app is judged on the devices and networks your users actually have, not on a flagship phone on office Wi-Fi.

  • Android comes first. Android dominates the local market, and many users are on mid-range devices. Test on those, not only on your own phone.

  • Connections vary. Mobile data can be slow or unstable. Design for it: compress images, cache aggressively, keep screens usable while data loads, and fail gracefully when the network drops.

  • Several languages, two directions. Arabic, French and English are all real use cases, and Arabic means right-to-left layouts. Build internationalization and RTL support in from the first sprint, not as a late patch.

  • Cash on delivery and local logistics shape the flow. Checkout, order status and seller shipping screens must reflect how Tunisians actually buy and receive goods. We cover that in why cash on delivery still rules Tunisian e-commerce.

  • Phone numbers are identity. Phone-first sign-in matches user habits, which we explain in why phone-first authentication works in Tunisia.

What surprised us (and what we would tell our past selves)

Performance is a design problem before it is a framework problem. Slow lists, oversized images and chatty API calls hurt far more than the choice between React Native and native. Virtualized lists, image optimization, memoization and fewer re-renders fixed most issues we met. A fast backend matters just as much, which is why we wrote about finding the real bottleneck in a slow application.

Test on real low-end devices early. Emulators lie. A screen that feels instant on a new phone can stutter on an older Android device.

Keep the app thin and the backend smart. Business rules (pricing, stock, order states, payouts) belong on the server. That keeps the app simple, makes updates safer, and means a bug fix does not always require a new store release.

Plan your store releases anyway. Over-the-air updates are powerful, but anything touching native code, permissions or SDK versions still needs a proper build and review. Treat OTA as a fast lane, not a replacement for release discipline.

Buyer and seller apps need different priorities. Buyers want speed and trust. Sellers want clarity and efficiency: fast order handling, clear shipping steps, no confusion. Designing both well matters more than any framework choice.

React Native + Expo vs native: a quick comparison

Factor React Native + Expo Native Development

Development cost Often lower for cross-platform apps Can be higher with separate implementations

Time to market Typically faster for cross-platform products Can take longer when features are built separately

Performance Excellent for most marketplace and e-commerce apps Maximum platform-specific control

User experience Supports native components and platform-specific interfaces Full access to platform UI conventions

Code sharing Shares much of the code across Android and iOS Usually requires separate platform-specific code

Updates and bug fixes Supports over-the-air updates for compatible JavaScript and assets Native code changes require a new app build

When you should choose native instead ?

React Native and Expo are not the answer to everything. Consider going native when:

  • Your product is graphics-heavy: games, 3D, AR or advanced animation.

  • You need deep, low-level hardware or OS integration, such as custom Bluetooth protocols, background processing at scale or system-level features.

  • You are building real-time audio or video processing as the core of the product.

  • You have a dedicated mobile team and budget and a clear, measured performance requirement that cross-platform cannot meet.

If none of those describes you, native is probably premature optimization.

A decision checklist for founders

Answer these honestly before you choose:

  1. Is my app mostly screens, lists, forms, payments and notifications? If yes, lean React Native and Expo.

  2. Do I need Android and iOS quickly on a startup budget? If yes, lean React Native and Expo.

  3. Do I need to ship fixes fast after launch? If yes, lean React Native and Expo.

  4. Does my core value depend on heavy graphics or special hardware? If yes, evaluate native.

  5. Do I have, or can I afford, two platform teams? If no, lean React Native and Expo.

  6. Is my backend ready? A great app on a weak backend still fails. Invest in both.

Frequently asked questions

Is React Native good enough for a production marketplace app?

Yes. Marketplaces are mostly lists, search, forms, payments and notifications, which React Native handles well. Performance problems usually come from unoptimized lists, images or API calls, not from the framework itself.

Is Expo only for prototypes?

No. Expo is used to build and ship production apps. It covers builds, updates and many device APIs, and you can still add custom native code when a project needs it.

How much does it cost to build a mobile app in Tunisia?

It depends on scope: number of user roles, payment and logistics integrations, languages and backend complexity. A single cross-platform codebase is usually significantly cheaper than building two native apps. The most reliable way to get a real number is a short scoping call.

Can I start with React Native and move to native later?

Yes, and many teams do. Because business logic lives on the backend and the product is validated early, you can rebuild specific screens or modules natively later if a real need appears.

Should I launch on Android first in Tunisia?

In most cases, yes. Android is where most local users are, so it is the sensible first target. With React Native, adding iOS afterwards is far cheaper than starting a second codebase.

Final thoughts

The best stack is the one that gets a reliable product to real users quickly and keeps it healthy afterwards. For Dokkan, React Native and Expo gave us exactly that: one team, one codebase, fast iteration and the ability to fix problems without long delays.

If you are planning a marketplace, e-commerce app or business app, you can see what we shipped in our Dokkan mobile case study, read how the Dokkan Android app supports Tunisian e-commerce, and explore our mobile app development services and Android app expertise.

Planning a mobile app in Tunisia? Tell us about your project and we will help you choose the right stack before you spend a dinar on the wrong one.

MORE FROM START SMALL
HAMO ENGINEERING · START SMALL