Mobile Frameworks: PWA vs React Native vs Xamarin

Brendan Homann • July 16, 2020

From time to time customers approach us concerned about how they can best deliver a mobile app. It’s fair to say there are plenty of pitfalls, war stories and unknown unknowns to make the most battle-hardened CIO consider their options carefully.

We put together a rough guide as to the relative merits and challenges you might have when picking one solution over another.

PWA – Progressive Web Apps are a newer approach where a mobile-friendly, client-side, browser-based framework like Angular or React is used and made available to web users and mobile users. Some of the key benefits of PWA’s is that while they’re not published to the app stores, they support some valuable capabilities like offline support and instant version updates to both mobile and browser-based users. It is important to remember however that some PWA features are not available on all platforms compared to native apps, like push notifications on iOS. You can wrap a PWA using a solution such as Cordova to deploy it to the app store.


React Native – Similarly to PWA’s, Javascript developers (especially those with ReactJS experience) will feel comfortable using React Native. React Native offers a native application experience to its users but is most often suited for small to medium-sized applications that don’t require heavy computation loads. Moreover, React Native will be distributed to your users via the Apple and Google app stores, allowing you to utilise some of their offerings like the number of downloads, usage metrics, etc. React Native applications will not be available to browser-based users.


Xamarin – Xamarin has long been the preferred option for .NET developers looking to write applications for all major app stores (Apple, Google, Microsoft). Xamarin allows you to use code you have already written in .NET (with some exceptions) which can be desirable to some (often enterprise) organisations. While often the first choice for .NET developers, some developers find Xamarin development rather slow. It is worth mentioning that Xamarin’s popularity has been declining over the past few years.


Flutter – Worth a mention is Flutter, the youngest cross-platform development toolkit. Flutter is supported by Google and provides a great experience for rapid development. While Flutter is gaining in popularity, given its relative infancy is still building its community and associated support.


Our typical recommendation today is that a well built Progressive Web App is hard to beat, especially when you consider you write the code once and it works for your web users, mobile web browser users and mobile app users. You have access to so many great features via a PWA today that there is almost nothing a PWA cannot do unless you’re about to build complex computationally demanding applications like games or AR experiences.


But if you’re still not convinced here is our take on a comparison of the three major cross-platform options you have available today, Progressive Web Apps (PWA), Reactive Native and Xamarin.

A Comparison of PWA’s, React Native and Xamarin:


Item PWA React Native Xamarin
Deliver an iOS & Android App to the Stores No (Wrapping via Cordova turns this into a Yes) Yes Yes
Write one User Interface and deliver App and Desktop Experience Yes No Partial (available for Windows Desktops)
Shared backend API’s Yes Yes Yes
App upgrades require new App store builds Never Yes Yes
Availability of Skilled Staff High High Low
Access to Mobile Device Camera Yes Yes Yes
Access to Mobile Device GPS Location Yes Yes Yes
Access to Push Notifications Android – Yes IOS – No Yes Yes
Access to Bluetooth Yes Yes Yes
Augmented Reality No Yes Yes
Games Some Yes Yes
Device Side Caching (Works Offline and Sends Data on services restore) Yes Yes Yes
App store compatibility None iOS & Android iOS & Android & Windows
User Interface scales well across Small, Medium, Large mobile devices and tablets Yes Yes Yes (if you follow the design rules of Xamarin well)
Supported Technologies All JS UI frameworks React Native (JS) C# + .NET
Automated UI Testing Cypress or Selenium (we prefer Cypress) App Centre App Centre (formerly Test Cloud)
Developer Productivity 100% 75% 50%
Seek Job Advertisements in Brisbane For Angular/React 200+ For Angular/React 200+ 1
App Download Size Small Medium Larger (Xamarin adds 5mb minimum)

Conclusion


The three major cross-platform options suit a range of needs. We hope our comparison helps you understand their functionality and use cases better. If you need any help choosing the best platform for you, please contact our team.

Share This Post

Get In Touch

Recent Posts

Dan Dekel of Patient Zero holding a handwritten love letter next to the OpenClaw lobster logo
By Dan Dekel March 10, 2026
AI's potential has shifted from "future speculation" to "current reality." A hands-on look at OpenClaw agents, automated travel booking, and the security risks of the new frontier.
By Demelza Green March 9, 2026
Patient Zero sponsors Southstart 2026 in Adelaide. Explore the engineering and technical stewardship behind the Zero-Employee Startup lab.
Finalists for the 2026 Women in ICT Awards: Demelza Green and Irina Kudryavtseva
March 6, 2026
Demelza Green and Irina Kudryavtseva named finalists in the 2026 Women in ICT Awards (WIICTA) for innovation and technical excellence.
Finalists for the 2026 Women Leading Tech Awards: Demelza Green and Hanieh Madad.
March 5, 2026
Demelza Green and Hanieh Madad named finalists in the 2026 Women Leading Tech Awards for leadership in Sovereign AI and Engineering Excellence.
More Posts