Xamarin Forms vs React Native

A comparison of Xamarin Forms versus React Native. Topics include hot reload, fonts, code navigation, debugging and more.

Xamarin Forms

  • Slower app development reload time having to stop debugger, recompile and start again. (Estimated 10 seconds on Google Pixel.)
  • Font icon integration is possible
  • UI elements are rendered with the look and feel of the target platform
  • Strongly typed by design using C#
  • F12 code navigation throughout C# source code
  • Web Service calls using C# through multiple ways
  • JSON to C# object conversion using JSON.net or other options
  • Step-through debugging built into the IDE
  • Able to specify package name up front
  • There is one recommended and seamless way of doing hierarchical navigation
  • Visual Studio for Mac Preview doesn't have the option to create a new XAML Forms file yet on an existing project. Use Xamarin for Mac instead for now.
  • Facebook and Slack channels available.

React Native

  • Faster app development reload time using Hot Reload and Live Reload. (Estimated 2 seconds on Google Pixel when using Hot Reload.)
  • Navigation integration is complicated and spread thin across multiple ideas
  • Font icon integration is possible
  • Strongly typed but only after integrating either typescript or flow
  • F12 code navigation only until you hit the switch statements (like when you are using Redux)
  • Web Service calls using fetch()
  • JSON to JavaScript object conversion using JSON.parse()
  • Step-through debugging using Chrome Dev Tools, or VSCode plugin
  • Multiple ways of doing hierarchical navigation with some not using the truly native navigators, and others using truly native navigation
  • Can't specify custom package name up front. Have to change it in four files afterward.
  • Facebook community for general questions, Reactiflux community on Discod, and Slack channel for Expo.

Comments

Popular posts from this blog

Adobe® Flex® Combobox: Selecting an Item Without Using SelectedIndex

Parameters Sent by TinyWebDB in App Inventor for Android