Why Enterprises are Moving to Xamarin for Mobile App Development


Senior Application Development Manager, Mike Finley, spotlights why more and more enterprises are choosing Xamarin to answer the demands of mobile development.


With most mobile users on Android, Apple and Windows phones, companies are facing challenges of supporting their applications on multiple platforms. Microsoft acquired its longtime partner Xamarin in March 2016. This acquisition has significant implications for the mobile app development and management capabilities of the Microsoft software stack — implications that mobile app development and operations leaders must consider. The inclusion of Xamarin technology into Visual Studio at no extra charge and open-sourcing several of its core components should help to encourage the adoption of this as a viable option for cross-platform mobile application development.

Using Xamarin, development teams are better equipped to handle challenges that would lead to multiple code bases, slower, longer development and testing cycles and quality issues. Xamarin’s code is compiled into native code for each platform using their tools rather than being interpreted – in simple terms it’s substantially faster, matching or sometimes beating the usual languages. In fact, there is an excellent independent test performed by Harry Cheung (an ex-Googler) which places Xamarin above Objective-C on iOS for performance (but below Swift) and above Java on Android (See Ref below).

With Xamarin, Microsoft is providing a platform to target multiple mobile platforms with just one toolset. Microsoft has committed to open-source software, C#, .NET and Xamarin SDK as a long term strategic direction for mobile application development. This should help to ease technical managers and business leaders concerns about investing in these technologies.

Why Cross-Platform with Xamarin and .NET?

C#

  • One programming language for any platform, on any device. This allows developers to focus on the programming language and the platform as much as possible. Microsoft wants to help developers target the device, and just focus on the technology.
  • C# is focusing on how to make programmers as productive as possible. C# is a strong language, and very mature. If developers work with Java, they can quickly get up to speed with C#.

Shared Code Base

  • It is now possible to work with one language for the three mobile platforms and, if there is a need for enhancements or a bug fix, the change can be made in one place. This makes it easier to build high quality apps.

Full Access to Mobile Platforms

  • Microsoft and Xamarin help developers to have control over the API for all platforms. They offer the Xamarin SDK, and for all the platform code source code, developers can use libraries imported from any platform as part of an application.

Lower Development Costs

  • Development costs are typically lower with Xamarin. If the development team writes code well in C#, understands .NET, and knows how mobile development works in Android, iOS or other devices, this tool can speed up development and lower overall development costs. There are some scenarios that include development of device-specific requirements which could add complexity, but probably more than 50% of applications do not have these challenges. Xamarin also tries to help abstract libraries and plugins to improve development for all platforms.

clip_image001

Need help getting your team up to speed with Xamarin?  Premier Support for Developers offers several 3-5 day workshops and advisory services:

  • Xamarin Fast Start – Introduction to Cross-Platform Mobile Development
  • Xamarin DevOps Workshop – Continuous Integration and Delivery using Xamarin, VSTS and HockeyApp
  • Xamarin Forms Workshop – Cross-platform app development using Xamarin, XAML, and CSharp
  • General Development Advisory Assistance

Premier Support for Developers provides strategic technology guidance, critical support coverage, and a range of essential services to help teams optimize development lifecycles and improve software quality.  Contact your Application Development Manager (ADM) or email us to learn more about what we can do for you.

 

Additional Information

Comments (7)

  1. William Best says:

    Before Enterprises start moving to Xamarin it needs to be a mature product.

    1. What areas do you feel need more attention or improvement?

    2. What areas do you feel need improvement or more maturity?

    3. Roger Weiss says:

      Is 6 years not enought time for a product to mature? If you’re hinting that Enterprises need to wait 10 years before using a technology, Enterprises would completely miss the boat. By the same statement, Enterprises should not be using, Angular, Node, React, .NET Core Hadoop. Relatively new technologies (if not younger than Xamarin), but each of of them game changers. The need to stay relevant, otherwise go the way of BlackBerry, the “Enterprise” phone. But getting back to Xamarin, if Enterpises want to wait for a product to “mature” before consolidating their code by sharing large portions of a code base accross platforms (and we’re not just talking shared code between mobile platforms, it also means sharing code between mobile app and backend platforms), then I think Enterprises are going to lose out.

      1. Mark Sebesta says:

        I have to agree with Roger, Xamarin has been a great product for years and years. They’ve had day one support for new APIs for nearly every release of every single iOS/Android update. Now that it’s not only free but directly supported by one of the largest companies in the world it’s far beyond fully mature.

    4. leigh says:

      Yes, please do clue us who are making decisions at the exec level as to what is missing, so we can make the informed choice. Further, what cross platform tech do you suggest instead?

Skip to main content