React (React.js) vs. Xamarin

Overview
ProductRatingMost Used ByProduct SummaryStarting Price
React (React.js)
Score 8.9 out of 10
N/A
React or React.js is a JavaScript library for building user interfaces. React enables users to create interactive UIs.N/A
Xamarin
Score 6.0 out of 10
N/A
N/AN/A
Pricing
React (React.js)Xamarin
Editions & Modules
No answers on this topic
Xamarin
Free
Offerings
Pricing Offerings
React (React.js)Xamarin
Free Trial
NoNo
Free/Freemium Version
YesYes
Premium Consulting/Integration Services
NoNo
Entry-level Setup FeeNo setup feeNo setup fee
Additional Details
More Pricing Information
Community Pulse
React (React.js)Xamarin
Considered Both Products
React (React.js)
Chose React (React.js)
This was very difficult because flutter is extremely easy to use and if you have React in the background, it makes it even easier. What makes Flutter a little better is the response, the components are rendered before the loading and that gives the user a better experience. The …
Chose React (React.js)
I have also used Angular before coming to React. Web apps created with React are much faster than Angular because React is based on virtual DOM which reloads only those components of the web page that change and everything else remains the same. Angular's learning curve is also …
Chose React (React.js)
It uses JSX so no need to create a separate javascript function to build the application which saves development time.
Chose React (React.js)
I have also used Vue, Angular, and Ember for various projects. Out of the three, I am most intrigued by Vue. It takes a more beginner-friendly approach than React and changes some of the abstractions it uses to be more transparent to the user. It also comes with a lot more …
Chose React (React.js)
There are other options for building SPAs, and the two most common aside from React are Vue and Angular. React has been the leader of the pack for a while and has been an innovator. Angular is good for companies that want an opinionated framework so that it standardizes …
Chose React (React.js)
Like most people, I started in serious client-side web development with the introduction of jQuery, the first robust library for cross-browser DOM manipulation. React provides a much closer WYSIWYG translation from the declarative JSX template to HTML elements compared to using …
Chose React (React.js)
I have not used or evaluated virtual DOM alternatives to React.
Chose React (React.js)
While this is a widely contested debate with various blog posts and benchmarks all over the place, its really a personal choice to determine what works for the team. Coming from a Angular 1.x background, I decided to try a new framework when Angular 2.x was announced and at …
Chose React (React.js)
When choosing a front-end framework, you have a ton of choices. There are numerous articles that will try to convince you this way or that about which one is better. I have used Blaze as a UI layer for Meteor Application development quite extensively and have found it to …
Xamarin
Chose Xamarin
We use both Xamarin and React Native to create cross-platform applications fast. React Native is relatively new at our company and few developers have embraced coding in it as compared to developers building in Xamarin. I have noticed developers have it easy jumping from coding …
Chose Xamarin
Android Studio and IOS SDK are some of the competing programming methods for mobile development that competes with Xamarin. However, these utilize other programming languages like Java, or Objective C. In addition, these methods may be used more directly with Android or IOS …
Chose Xamarin
Xamarin allows us to natively code against IOS and Android as opposed to just putting a Skin over it. Because of this native code stack the performance on Xamarin is off the charts better. You can really see the performance when you are using native phone features like GPS, …
Chose Xamarin
As I said before: Code sharing and using existing skills was the most important factor to choose Xamarin. With phonegap code sharing exists but business logic must be written in JS.
Chose Xamarin
Coming from a .NET background I always wanted to like Xamarin. Now that Microsoft bought them and made the product available to all, it's a no brainer.
Chose Xamarin
In Native app development we need to employ specialized developers solving some business problems in different technologies. Xamarin solves that problem to some extent delivering a native application experience. Hybrid has the same code base but suffers from lack of performance.
Chose Xamarin
Xamarin runs natively on MacOS, and the debugger and other integration and auto-complete tools are far better than Eclipse for C# .NET. It also carries much of the plugin/add-on capabilities that are so desirable on Atom. Eclipse is a better for generalized software …
Chose Xamarin
None of the HTML-based cross-platform solutions can easily provide a native look and feel like Xamarin can. I've had to rescue multiple organizations that went down this path only to be disappointed with the results.
Chose Xamarin
Apache Cordova is nothing more than a HTML Web VIew App. I've built an app using Cordova and it was a mess. With Xamarin, you get the platform level capabilities, which make the performance, in theory, no different than real native development. Cordova is not suitable for any …
Chose Xamarin
Xamarin is a good platform compared to Cordova, as it gives better API access, documentation and customer support as well as a robust community. It allows you to develop code using native Visual Studio and helps the developer to reuse the codebase for different platforms, …
Best Alternatives
React (React.js)Xamarin
Small Businesses

No answers on this topic

Swiftify
Swiftify
Score 9.0 out of 10
Medium-sized Companies

No answers on this topic

Swiftify
Swiftify
Score 9.0 out of 10
Enterprises
Sencha
Sencha
Score 7.0 out of 10
Swiftify
Swiftify
Score 9.0 out of 10
All AlternativesView all alternativesView all alternatives
User Ratings
React (React.js)Xamarin
Likelihood to Recommend
8.0
(0 ratings)
7.0
(0 ratings)
Likelihood to Renew
-
(0 ratings)
10.0
(0 ratings)
Usability
10.0
(0 ratings)
10.0
(0 ratings)
Support Rating
10.0
(0 ratings)
10.0
(0 ratings)
Implementation Rating
-
(0 ratings)
10.0
(0 ratings)
User Testimonials
React (React.js)Xamarin
Likelihood to Recommend
React is a JavaScript user interface construction library that works well for:
  • Developing web apps with dynamic and complicated user interfaces.
  • creating reusable UI elements that may be used in other applications.
  • creating single-page applications with dynamic content updates that don't require a page reload.
  • The Virtual DOM's effective updating mechanism allows it to handle large volumes of data updates.
React, on the other hand, might be less suitable for:
  • Websites that are simple, stagnant, and have no interaction. Other libraries or simple HTML, CSS, and JavaScript may be a better fit in such circumstances.
  • Web sockets may be a better choice for applications that need real-time updates, such as chat or gaming apps.
  • When creating mobile apps, React Native is a better option.
  • Server side rendering only, as React is designed to run on the client side.
Read full review
Xamarin is well suited for several reasons. The first, it allows companies to share code across platforms. If the app has a lot of business logic and a fairly simple UI, Xamarin is great for this use case. Xamarin also works well if the developers who will work on the app are already fluent in .NET. Xamarin is less appropriate if the company has a lot of developers. If there are plenty of resources to develop apps natively then the headache of dealing with Xamarin's issues are not worth the effort. If the UI is very complex and has difficult animations it's difficult to debug visual/performance issues in Xamarin.
Read full review
Pros
  • Solid backing by large organization (Facebook) thats committed to keeping the development on the project. In my mind, this is the number one priority for any library because without this: time is wasted on getting up-to speed on a library that you will never use, have a codebase with a library thats hard to maintain because few years down the lane, hiring devs to maintain an unsupported library is very difficult.
  • As with any libraries, open source community's support is critical for success of any framework because this allows for more pre-built components that could be used right out-of-box => makes Development using React a breeze.
  • React's Stateful and Stateless components make organizing your code a breeze. These components would also allow for writing clean Unit Tests on the logic.
  • React's component lifecycle. It offers a variety of lifecycle methods, that allows for handling different scenarios of loading and manipulating data in the UI.
  • I found React's documentation very well maintained with plenty of examples explaining each feature.
  • Responsiveness is a very important criteria in selecting a UI and React is very responsive. It does some neat optimizations on re-rendering using virtual DOM and would only re-render parts of the DOM that changed. These optimizations makes React Applications feel really fast.
  • React Native would allow for building applications that span across web and mobile interfaces (iOS and Android). This makes learning React even more enticing, because using a single library, you could build applications that span across Web, iOS and Android.
  • create-react-app is an effort by Facebook (creators of React) that makes getting started with React really easy. It does all the heavy lifting of configurations for you and allow you to focus on just development.
  • Small footprint, minified React + React DOM is under 150Kb, that makes loading UI's with react really fast.
  • React + Enzyme (backed by Airbnb) + Sinon + Mocha + Chai makes unit testing the UI components fun and improves the overall maintainability of the project.
Read full review
  • We save development time with Xamarin, because we use Xamarin Forms an so we can share most of the code over 3 platforms.
  • We can use our C# knowledge to develop iOS and Android Apps.
  • Xamarin's integration into Visual Studio is very good and became even better during the last releases of Visual Studio.
Read full review
Cons
  • React's state management can get hairy if you have a deeply nested component and need to pass things up or down the tree very far. This is where libraries like Redux come in, however.
  • The progressive nature of its development and change cycles can leave information outdated online faster than other frameworks. This can make finding help or documentation on 3rd party sites frustrating.
  • The learning curve on "thinking in React" can be slightly higher than other more familiar patterns of web development.
  • Building an app in it can be cumbersome to set up with webpack, but things like Create React App can get you going in a jiffy.
Read full review
  • Having also done a lot of native mobile development, some of the IDE's features need to emulator their native counterparts. For example, trying to extract a string resource on Android in Xamarin Studio is painful. There are many useful tools in Android Studio that Xamarin should implement.
  • Xamarin will always be behind on native platform features. They must catch up when Apple and Google release new platform versions.
  • The biggest pain point is the random issues Xamarin continues to have. Having a large code base on top of a native platform makes it very difficult to debug issues. Every developer must decide if its an issue with Xamarin or the native platform. Bugs don't get fixed very quickly. Hopefully that will change with the Microsoft acquisition.
Read full review
Likelihood to Renew
No answers on this topic
Xamarin has been great for developing different projects efficiently and effectively. It's nice to reuse the core business logic across different platforms so that there are less to maintain and little replications are needed. The biggest benefit is that C# programmers do not have to learn a different language to do mobile development.
Read full review
Usability
There are a few things that may take some getting used to when coming to a modern JS frontend. Tools like Babel and Webpack (or abstractions that hide their details from you) are often a starting point and JSX can be confusing at first. But assuming the developer is already familiar with modern frontend tools, React is a very natural fit and makes creating user interfaces a joy.
Read full review
If you are required to develop applications that are cross-platformed, Xamarin is a great tool to use. It will help save time and efforts from your development team to be able to build applications seamlessly for android, IOS, windows, and web on a single platform instead of requiring multiple tools to get the job done
Read full review
Support Rating
Since it's open-source and very popular, the community support for React and related tools and libraries is excellent. There are a lot of people using the same tools, and so issues tend to get fixed quickly and "recipes" are easy to come by. And since it's backed by Facebook, they have a dedicated engineering team working on the progression of React.
Read full review
I never had to contact support for any help. Most of the problems we ran into, we were able to identify and use peer support through blogs and other internet sources to resolve the problems. There are plenty of sources online which provide tutorials, discuss problems, etc. Example: StackOverflow
Read full review
Implementation Rating
No answers on this topic
Just with any programming tasks, have a plan first. Design out the system, spend time to build it correctly the first time and have plenty of testing and user acceptance opportunities. Xamarin was easy to implement for a C# programmer. However, you need to do tutorials to realize the platform's capabilities.
Read full review
Alternatives Considered
There are other options for building SPAs, and the two most common aside from React are Vue and Angular. React has been the leader of the pack for a while and has been an innovator. Angular is good for companies that want an opinionated framework so that it standardizes practices. However, Angular is known to be more difficult to work with and unnecessarily complex. Vue is seen as taking the best from React and Angular, and it is built for incremental upgrades. Vue has a passionate and growing user base, but it hasn't quite caught React in popularity.
Read full review
Xamarin runs natively on MacOS, and the debugger and other integration and auto-complete tools are far better than Eclipse for C# .NET. It also carries much of the plugin/add-on capabilities that are so desirable on Atom. Eclipse is a better for generalized software development, provided a developer is comfortable switching between the IDE the command line for certain parts of their workflow, like building, package management, or debugging. But for C# .NET development on MacOS specifically, Xamarin is the best product I've used for the job.
Read full review
Return on Investment
  • Since we're still in the conversion cycle, all the data is not in. But React has had a positive impact on Developer productivity and the ability to produce efficient, highly flexible UX. This in turn, enhances our customer experience, which is generally the most important component of our ROI.
  • Conversion has been difficult since it requires a change of mindset. Most developers have adapted quite well, but the process has been lengthy, and 2 years in, we are still not fully converted. This essentially is a temporary negative impact on ROI.
Read full review
  • Code Sharing - We were able to launch an Android implementation of our app within weeks after finishing iOS. The amount of time taken to develop a new platform is very small.
  • Monetization - not the best, but definitely getting better. We've had issues with finding suitable ad networks that work with Xamarin.
Read full review
ScreenShots