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