Comparison of Progressive Web Apps, React Native and Xamarin

Brendan Homann • Jul 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

By Joe Cooney 02 Apr, 2024
Red-team challenges have been a fun activity for PZ team members in the past, so we recently conducted a small challenge at our fortnightly brown-bag session, focusing on the burgeoning topic of prompt injection. Injection vulnerabilities all follow the same basic pattern – un-trusted input is inadvertently treated as executable code, causing the security of the system to be compromised. SQL injection (SQLi) and cross-site scripting (XSS) are probably two of the best-known variants, but other technologies are also susceptible. Does anyone remember XPath injection? As generative models get incorporated into more products, user input can be used to subvert the model. This can lead to the model revealing its system prompt or other trade secrets, reveal information about the model itself which may be commercially valuable, subvert or waste computation resources, perform unintended actions if the model is hooked up to APIs, or cause reputational damage to the company if the model can be coerced into doing amusing or inappropriate things. As an example, entrepreneur and technologist Chris Bakke was recently able to trick a Chevy dealership’s ChatGPT-powered bot into agreeing to sell him a Chevy Tahoe for $1 . Although the U.S. supreme court has yet to rule on the legal validity of a “no takesies backsies” contract (as an employee of X Chris is probably legally obligated to drive a Tesla anyway) it is not hard to imagine a future scenario with steeper financial consequences.
27 Feb, 2024
With the advent of ChatGPT, Bard/Gemini and Co-pilot, Generative AI, and Large Language Models (LLMs) have been thrust into the spotlight. AI is set to disrupt all industries, especially those that are predominately based on administrative support, legal, business, and financial operations, much like insurance and financial organisations.
By Joe Cooney 22 Feb, 2024
One of the features of life working at PZ is our brown bag lunch and learn sessions; presentations by staff on topics of interest – sometimes, but not always technical, and hopefully amusing-as-hell. Yesterday we took a break from discussing the book Accelerate and the DORA metrics to take a whirlwind tour of the current state of play running “open source” generative AI models locally. Although this talk had been ‘in the works’ for a while, one challenge was that it needed to constantly be revised as the state of AI and LLMs changed. For example, the Stable Video Diffusion examples looked kind of lame in comparison to OpenAI’s Sora videos (released less than a week ago) and Groq’s amazing 500 token-per-second hardware demo on Monday/Tuesday , and the massive context size available now in the Gemini 1.5 models (released a few hours before OpenAI announced Sora...coincidence? An effort by OpenAI to steal back the limelight! Surely NOT!). And now a day later, with the paint still drying on a highly amusing slide-deck for the talk, Google releases their “open-source" Gemma models! The day itself presented an excellent example of why having more control of your models might be a good thing. ChatGPT 4 users began reporting “crazy” and highly amusing responses to fairly normal questions . We became alerted to this when one of our own staff reported on our internal Slack about a crazy response she received to a question about the pros and cons of some API design choices. The response she got back started normally enough, but then began to seem to channel Shakespeare’s Macbeth and some other olde English phrases and finished thusly. "Choose the right charm from the box* dense or astray, it’ll call for the norm. Your batch is yours to halter or belt. When in fetch, marry the clue to the pintle, and for the after, the wood-wand’s twist'll warn it. A past to wend and a feathered rite to tend. May the gulch be bygones and the wrath eased. So set your content to the cast, with the seal, a string or trove, well-deep. A good script to set a good cast. Good health and steady wind!" The sample JSON payload was also in keeping with the rest of the answer. { "htmlContent": "

Your HTML here

", "metadata": { "modifiedBy": "witch-of-the-wood", "safety": "sanitized", "mood": "lunar" } } Hubble, bubble, toil and trouble. Although there were no reports of the GPT4 API being affected by this (only ChatGPT) it might have given people developing automated stock trading bots using GPT4 a reason to pause and contemplate what might have been if their stock portfolio now consisted of a massive long position on Griselda’s Cauldron Supplies. As ChatGPT would say, Good health and steady wind.
Bay McGovern Patient Zero
By Demelza Green 11 Feb, 2024
Bay didn’t start her career out in software development. At school, Bay excelled at maths and physics, but adored writing, English and drama; lost in a world of Romeo and Juliet and epic fantasy.
More Posts
Share by: