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

Demelza Green & Paul Seymour (Patient Zero) - Highly Commended Marketing, 2025 ARN Awards
December 14, 2025
Demelza Green awarded Highly Commended for Marketing Excellence. How Patient Zero applies Product Management and Agentic AI to redefine marketing.
Patient Zero named triple finalist at ARN Innovation Awards 2025 for Technical Excellence, Marketing
October 27, 2025
Patient Zero is a triple finalist at the ARN Awards 2025 for Enterprise Innovation & Technical Excellence, validating our 100% onshore embedded engineering model.
By Hanieh Madad September 29, 2025
Hanieh Madad reflects on Gartner 2025: Why AI adoption fails without trust, and how Patient Zero's engineering culture amplifies human potential.
By Joe Cooney September 25, 2025
Joe Cooney explains how to de-risk legacy system modernisation using synthetic data. Protect PII and improve test coverage without using production data.
More Posts