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?
- 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.
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.