Why Xamarin is the new cross-platform heavy weight

As businesses look to reduce costs associated with cross-platform development and keep quality high, Xamarin is the oft-mentioned but little understood solution. So, what is Xamarin? How has the tool evolved? What are key capabilities? And what does the ROI look like for teams who decide to leverage it?

Xamarin’s impressive playbook

Xamarin first arrived on the scene in 2011, invented by the engineers who created Mono, Mono for Android and MonoTouch. Mono itself dates back to 2001 as an open source effort to allow applications built on .NET to run on the Linux operating system.

Since then, the company has raised over $82 million in funding, with $54 million in Series C financing. Investment firms included Floodgate, Ignition Partners, Lead Edge Capital, Insight Venture Partners and Charles River Ventures.

Now Xamarin operates as a member of the Microsoft portfolio. Since the acquisition, integration between both brands has become even more seamless. Earlier this month, Microsoft announced Xamarin will now be made available for every Visual Studio user. That’s big.

A new cross-platform heavy weight

For those asking, “What is Xamarin?” it’s not one thing, but many. The Xamarin suite includes several offerings designed for different stages of the development life cycle — from designing and building to testing. Here they are broken out by component:

Xamarin.Forms: API used to design an experience across the iOS, Android and Windows platforms leveraging native controls (Considered by many a cross-platform UI toolkit)

Xamarin.iOS & Xamarin.Android: Development environments used to build and deploy platform-specific C# code

Xamarin Test Cloud: As the name implies, a cloud-based application testing platform with the capability to test thousands of devices and automate mobile application testing

Watch our demonstration of Xamarin Test Cloud.

Xamarin Studio & Xamarin for Visual Studio: Integrated development environments where the C# code base is written

Actual vs. perceived cost savings developing with Xamarin

Xamarin has turned heads in the software community with claims of 90% possible code reuse in building iOS, Android and Windows apps. It’s true. But, realizing the maximum percentage is entirely dependent on the Xamarin offering/approach employed to develop the apps.

Apps can be developed using Xamarin.Forms and Xamarin.Android/Xamarin.iOS. To achieve 90% or higher code reuse, the apps must be built with Xamarin.Forms. Using this approach, the same UX, C# code base, business logic and .NET library can be used.

Developing native interfaces with Xamarin.Android/Xamarin.iOS still affords teams code reuse (we estimate 30%), because the same development language, business logic and portable class library are used. Though for cash-strapped or agile-minded organizations, the prospect of redeveloping 70% of an app to release it on a secondary platform is often less than ideal.

Comparing Xamarin.Forms and Xamarin.iOS/Xamarin.Android

Xamarin.forms

  • Can reuse 80–90% of the code
  • Code is built in Xamarin Studio or Visual Studio
  • Code applies and universally computes across iOS, Android and Windows mobile platforms
  • Data transfer objects (DTOs), business logic and all user experience assets can be reused
  • Built with C# and .NET framework

Limitations: Controls in Xamarin.Forms only support the functionality that is present on all three platforms — functionality is more limited compared to a standalone native app

Choose if: Code sharing and cost savings outweigh need for UI control

Xamarin.iOS/Xamarin.Android

  • Can reuse roughly 30% of the code
  • Code is built in Xamarin.iOS or Xamarin.Android for Visual Studio
  • Developers build multiple platform-specific experiences
  • Only data transfer objects and business logic can be reused
  • Built with platform-specific C# and .NET framework

Limitations: Code reuse and cost savings are limited compared to Xamarin.Forms

Choose if: UI and experience can’t be compromised, and there are many specialized experiences

Working with Xamarin.Forms requires a shift in approach and process for developers and designers. Cost savings starts with conceding the control native development affords. It starts with building the right team.

Building a Xamarin development team

There’s no “i” in team. But, there is a lot of money. Platform-specific development teams are expensive. Before Xamarin, building a cross-platform app, for example, required developers with Android, iOS and Windows experience.

Xamarin allows businesses to release an app across multiple platforms with decreased cost and leaner teams, albeit a comparatively deep C# knowledge pool .

The structure of your Xamarin development team will, in part, be determined by the Xamarin approach chosen.

Developing with Xamarin.Android/Xamarin.iOS: Teams choosing to customize the UX for each platform save some labor costs by limiting the development languages. Though, they are still developing the same type of team used to build a native app. Members with platform-specific expertise are needed to interpret the C# code, rebuild the UI, flow, layouts and apply it to any platform-specific APIs. The project continues to be bound by a “learning curve.”

Developing with Xamarin.Forms: Using Xamarin.Forms, the same developer would be able to build the experience for iOS, Android and Windows with the same C# code base — no adjustments required. Xamarin.Forms then abstracts that experience automatically. Choosing to build the experience in Xamarin.Forms could save as much as 2.5x cost savings.

Designing with Xamarin.Forms: Many designers are reticent to give up control or aren’t well-versed in the intricacies and limitations of Xamarin.Forms development. Before the experience of a solution can be elevated, teams must invest in understanding the technologies first. Appoint a cross-platform champion on your team or work with one.

What is Xamarin?

Especially for line-of-business apps, Xamarin development strikes a compromise between usability and affordability investment-wise enterprises would be remiss to ignore.

Click here to access all our free resources and to learn more about us!

--

--

--

Trusted guidance, global expertise, secure integration. We design and develop custom software solutions that deliver digital transformation at scale.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
MentorMate

MentorMate

Trusted guidance, global expertise, secure integration. We design and develop custom software solutions that deliver digital transformation at scale.

More from Medium

Cross Platform(IOS & Android)

Flutter coding in system

How to do CSS ‘Box Style’ Shadow Effect?

Top 6 Frameworks for Android App Development

How to setup Appium Android & iOS