Last Sunday I joined 600 other participants at the Xamarin’s first training and conference in Austin, Texas. I had been using Xamarin products for about 18 months for cross-platform game development (via MonoGame), so I was interested to see where they were headed. The theme of the conference was one of delighting developers, and I have to admit that I’m ready to “drink the Kool-Aid.”
What is Xamarin
The Xamarin technology is built on the open-source mono framework which allows developers to compile C# code (including .NET libraries) on Linux. With the Xamarin development products, they have expanded this to include support for Mac development, but more interestingly: iOS and Android. The result is the ability to reuse 80% of code across mobile platforms, removing the need to code once in Objective-C for iOS and then again in Java for Android.
For Android, the compiled C# code runs in a separate virtual machine that runs significantly faster than the notoriously slow Dalvik VM. Another strong feature is the third generation of their C# garbage collector, featuring a system that runs in the background, preventing the familiar lag that is common in other compilers when the collection occurs.
Six weeks prior to the conference, Xamarin unveiled Xamarin Studio a highly polished branch of the MonoDevelop IDE running on both Mac and Windows. Dubbing it as, “the best IDE for cross-platform mobile development”, they stated an understanding that some .NET developers will continue to want to work in Microsoft’s Visual Studio. So instead, their focus was on the features they believe make Xamarin Studio the best choice for mobile development. Specifically the advanced UI creation tools for both Android and iOS (unveiled this week and definitely worth a deeper look), the built in component store, and various developer-friendly features of the UI. Not to leave anyone out in the dark, they have added access to these features through Visual Studio for good measure.
Another really interesting tool unveiled this week, is the Xamarin Test Cloud, a tool allowing you to test your mobile packages (.apk and .app) remotely on hundreds of actual devices. The system allows for both automatic testing (Xamarin App Explorer) as well, as well as the ability to create your own test plans using C# or the Ruby version of Calabash, a technology Xamarin aquired this week. For mobile testing on the variety of Android devices, the product is almost too good to believe.
Quality and Cost
The conference had a focus on quality and attention to detail at every level along with a clear message to US enterprise development that Xamarin is here to stay. Alongside their own attention to detail was a message to mobile developers that their products must have the same quality experience in order to compete. “Mobile users may only give you 15 seconds of their time as they are waiting in line for coffee or on a bus.”
These developer tools do not come cheap, another indication that Xamarin’s focus is on enterprise development. However, a free starter version as well as educational licensing ($99/seat) is available.
Training and Sessions
Most of the training could be categorized as falling into one of two topics: either “how to make high quality apps using iOS or Android features” or “how to deal with the nuances of running C# code in and alongside Java/Objective-C objects.” In addition, there were opportunities to meet one-on-one with a Xamarin developer as well as incentives to try out the components available in the component store.
Probably the most useful features of the component store are those that allow cross-platform integration of common tasks, like Xamarin.Social, a single component for common social networking integration tasks.
Overall, as a mobile developer I was impressed, as was everyone I spoke to. It felt a little like being at the ground floor of Apple or Unity3D.
As for concerns, I have very few. Having worked with it previously and then testing deployment to my own iPad and Kindle Fire during the conference, both worked without incident. When compared to my first experience with the product 18 months ago it is has matured incredibly. Assuming that they are able to keep the momentum gained from their first major conference, expect to hear big things in the coming months.