Hybrid App Development with Xamarin: A Review

The pros and cons of hybrid app development with Xamarin

Hybrid App Development

As we have already discussed, there are two approaches to hybrid app development: WebView App or Compiled Hybrid App.

Xamarin falls under the second category of hybrid app development. It helps you build a compiled hybrid app. With the help of Xamarin (https://xamarin.com/) you can make a shared codebase in C# and build it for multiple platforms.

One of the most difficult challenges for any development team looking to build native apps for both Android and iOS is the vast difference in both the programming languages (Java for Android and Objective C for iOS). Xamarin eliminates this barrier by using C#, and a translation process, to build a native application for either platform. A dependency service makes it possible to use a different code when it becomes necessary to access a platform-specific feature.

PROS:

  • App store deployment for both Google Play and Apple App store
  • Shared UI for both Android and iOS
  • Push Notifications
  • Video Streaming
  • Supports REST API’s
  • Social Network Integration (Facebook, Twitter)
  • Embedded SQLite

CONS:

  • Compatibility issues (in terms of design, animation, etc.)
  • For Android, the process of deploying to the emulator, or to a real test device, is very slow.
  • It costs $1000 developer/year, which is not very cheap. (you can choose a plan according to your team size)
  • Xamarin-based apps have built-in overhead that makes them larger in size. This affects the download time and storage used on a device.
  • Limited sharing of UI between iOS and Android. This means APIs, event logic, widgets and designs must be used and coded differently for each platform. There are a few exceptions to this for common, low-level operations.
  • Xamarin does not allow creation of reusable components or modules outside of its own environment. For example, code written in Xamarin cannot be used in native or HTML5 apps. This means any code developed by a team using Xamarin cannot be shared or reused with teams using any other tooling for iOS and Android.
  • In Xamarin, there are bugs, inconsistencies, and limitations that you will come across frequently. See this page for a list of bugs.

Conclusion:
To summarize, Xamarin has many benefits including a cross-platform language for native apps and a set of products and services that fit nicely with their tools. Depending on the project and requirements Xamarin can be very useful, but sometimes native is the better choice. Would your next mobile app project require native or hybrid app development? Download our Free Mobile App Questionnaire to give you and your client a head start.

MobileApp Hands is a division of IT Hands. IT Hands offers custom web and mobile development services to web companies and ad agencies. We provide quality, affordable software development services to more than 350 clients.