Today we are excited to announce a partnership with Xamarin to support a variety of tools including the Xamarin mobile development platform.
While we have developed a number of Xamarin apps over the last few years, this partnership significantly extends our relationship with Xamarin and their platform. Why did we choose Xamarin over other mobile cross-platform mobile development tools such as PhoneGap, Kony, and Sencha? Three reasons drove our decision:
1. Fully Native - Xamarin is one of very few cross-platform mobile development tools that is fully native (i.e. we are utilizing the platform’s native UIs and APIs, not HTML or a mix of HTML/native as with many other platforms). That also means we get a significant mobile performance improvement as the apps run at native speed. When necessary, the Xamarin tools also allow us to easily do work in native code, so we are never constrained if we run into a limitation of the platform.
2. Broad Community Support t - The Xamarin tools are supported by large established companies (Xamarin and Microsoft) and more importantly, the platform uses languages and tools supported by very large communities (C#, Visual Studio, Mono). Many of our clients have large internal C# teams which allow them to more easily support the apps we build for them vs. native-only (given most of the companies do not have in-house iOS and Android development teams, or if they do, they are understaffed).
3. Diverse 3rd Party Libraries - The largest risk of any cross-platform tool is how many 3rd party libraries and SDKs support it. We use anywhere from ten to thirty 3rd party libraries or SDKs on most of the apps we build. If those were not supported by Xamarin, any gains we get from working with a cross-platform tool would be more than outweighed by having to custom code components that are already widely available. In the event Xamarin does not support a library we need, we can create bindings to 3rd party libraries and don’t have to wait for a separate 3rd party implementation.
What are the pros and cons of Xamarin vs. native development? We will, of course, continue to develop apps natively, as well as developing mobile web apps within the browser. So when will we be advocating Xamarin for our clients? Using cross-platform mobile tools such as Xamarin makes particular sense in two scenarios:
- When there is significant business logic in the application that we can develop once and deploy across iOS, Android, Windows and other native platforms.
- If our clients have significant internal C#, Visual Studio and/or Mono developer resources and can thereby support apps internally over time.
We’re excited to announce our partnership with Xamarin and formally welcome their tools into our broad mobile development ecosystem.