Inside Xamarin: Helping Windows developers build for iOS and Android
With smartphones and tablets rapidly becoming the most common computing devices in our lives, you’re likely to want to start building your own mobile apps. You could start with the web: HTML5 applications work well on mobile devices, especially when wrapped as standalone apps using tools like WebWorks and PhoneGap. But for real power you’re going to need to build a native app, one that can take advantage of the speed and capabilities of today’s devices.
That’s where the dilemma comes in. Do you want to build iOS apps in Objective C, Android apps in Java, or Windows Phone apps in C++? All have their idiosyncrasies, and their learning curves – and that means code you develop for desktop applications will be tricky to port. That’s all very well for large development teams, but how does the solo developer support the largest number of users and devices as possible? While write-once, run-anywhere is an impossible dream, what you really need is a single development language and environment with support for each mobile platform’s native features.
That’s where Xamarin comes in, with its Xamarin 2.0 toolset. Built around Microsoft’s C# language, it uses Xamarin’s open source Mono framework to deliver C# applications on iOS, Mac,use and Android as well as Windows. Unlike other cross-platform frameworks Mono doesn’t assume you’ll be using the same user interface components on each device. Instead Xamarin 2.0 is focused on letting you support core code and business logic across platforms, and then building a native user experience on top of your code. Think of it as build once, customize many times.
C# is a popular language, even though it’s focused on Microsoft’s .NET platform. Coming from a heritage that goes back through Delphi to Turbo Pascal, it’s designed for rapid application development – and for apps that work with remote web services. It’s also easy to learn, with syntax that’s familiar to developers coming from raw metal languages like C++, from interpreted code like Java, and from scripting languages like Perl and Python. It’s been my go to language for application development since the early days of .NET, and recently added language features make it well suited for mobile apps that need to communicate asynchronously with remote web services.
We spoke to Xamarin co-founder and CTO Miguel de Icaza about the latest version of the company’s tools and how users were taking advantage of it. De Icaza described the Xamarin strategy simply: “We’re bringing C# to mobile and to Mac”. He went on to give more detail, “We’re supporting native experiences on different devices, taking advantage of their UI models and integrating with their operating systems”.
Sony is a text book example of a disrupted company --and the same thing could happen to your IT department if you're not careful.
As a result, many employers continue to wipe compromised phones completely.
Appthority offers IT pros incredible insight into the security and risks of mobile apps being used in their organizations. It also highlights the challenges that stores with hundreds of thousands of apps pose to the selection process for both IT and business users.