Xamarin 2.0 Brings a New IDE, Visual Studio Add-in for iOS and a Component Store
Xamarin has made yet another major step in completing their vision on providing a set of common tools for cross-platform mobile development. With the announcement of Xamarin 2.0 comes a rebranding of their products, a new IDE called Xamarin Studio, a Visual Studio add-in for iOS development, and a component store, the later being detailed by Miguel de Icaza for InfoQ.
Xamarin’s tools have changed names over times, and they were not quite uniform across different platforms. The company has now settled on a new set of names:
- Xamarin – the Mono-based platform
- Xamarin.iOS – for building iPhone and iPad apps
- Xamarin.Mac – for building applications for the Mac App Store
- Xamarin.Android – for building apps for Google’s Play Store
- Xamarin Studio – the IDE
Xamarin Studio is a new attempt of having a cross-platform IDE based on MonoDevelop. It has a new interface and provides some of the functionality familiar to Visual Studio developers: auto-completion, refactoring, syntax highlighting, code tooltips, code navigation, integrated debugger for simulator/emulator or the real device, integration with Git and Subversion.
For iOS development a Mac OS X Lion or later is necessary completed with iOS SDK, Xcode and the Apple Developer Program membership.
Visual Studio Add-in
According to Xamarin, one of the most requested feature of the 230K developers working on the platform was the possibility to use Microsoft Visual Studio for iOS development. Xamarin has had an add-in for Android development for years, and now offers one for iOS. This add-in offers good integration with Microsoft’s ecosystem including remote debugging and testing in a simulator on a Mac OS machine. Due to existing iOS restrictions, C# code for iOS is compiled directly to ARM assembly code through AOT compilation on Mac OS. For Android, the application is converted into IL which is compiled just-in-time at launch.
One of the new features introduced with Xamarin 2.0 is the Component Store. Xamarin has built a framework for creating, sharing and reusing components directly from the IDE increasing the development speed. Miguel de Icaza, CTO of Xamarin, shared to InfoQ some of the details and reasons for creating the store:
This is a project that started [more than] a year ago, and has gone through various phases where it was ready to be released. But every time we reached the point that we said "All the features are implemented", we became more and more critical. Were our components really easy to use, were they easy to integrate into an application, and were the properly documented?
So this project that was going to be launched a year ago, took on a life of its own. From "we will package popular libraries for use with iOS and Android" to let developers install components by selecting "Components", then picking the one they need, and having the component be integrated into your app, configured and ready to go. With a separate tab with both conceptual and reference documentation as well as sample code.
Like I mentioned, we wanted to not just let software developers have a marginally better experience, we wanted to be an order of magnitude better. So we turned the original simple packaging idea into a whole framework.
But we did not stop just with reusable libraries for cute user interface components, or support for databases and web services.
We noticed that a big cliff that people have to climb when getting started with Mobile applications is to make them look good. And making an app look good in the mobile space takes time to learn the APIs, to find the artwork, to experiment, and to fine tune every control, every view. Something that most developers trying out an idea, or working towards a business goal do not have the resources or cycles to do properly.
So we developed various ready-to-use themes that developers can just add to their application with one line of code and have their entire application be styled.
We are very happy with the results of our early beta tests and the level of polish achieved by our beta testers during our test period.
One of the component in the store is Xamarin.Mobile providing an API for accessing common platform features, such as the address book or the camera, across iOS, Android, and Windows Phone. If designed properly, the applications can reuse up to 90% of the code, according to Xamarin.
I am sure they are doing fine, but they are in a tough position in that they are mainly trying to appeal to the Microsoft crowd who pretty much won't using anything not from Microsoft - meaning they will only use VS.NET. The "other crowd" is probably more of an OSS mindset and so they will find alternatives since Xamarin's mobile platform is not OSS.
Other than that, it sounds like they are doing a lot of good things - i.e. Themes (as a developer I would like things to look good out of the box at the very least).
Re: Just wondering..
Their new IDE is based off on Monodevelop which has been around for a long time. And for their premium package they do offer a VS.NET plugin now.
The "other crowd" would make the choice to develop in C# anyway, so obviously it wouldn't be in Eclipse, Netbeans, or Intellij.
I don't think Xamarin is in a tough position because there's really no competition in that market - which is C# development targeting Android and iOS.
Re: Just wondering..
I've used Monodevelop. That was my point. It is ok.
The IDEs you mentioned are not limited to Java or JVM langugages. That was my point. Why should the other crowd care as long as they are doing C#?
Right, there is no competition if you limit things to C#. That is my point. They are.