Channels ▼


Xamarin 3 Enterprise Edition Reviewed

Xamarin Studio Refresh

Besides the exciting advances in forms design and abstraction, the first major change that existing Xamarin Studio users will notice is the enhanced level of polish that envelopes the IDE. While it still doesn't have the ultra-sleek look of Apple Xcode or Microsoft Visual Studio, it is looking better than ever before.

Figure 5: The new look of the Xamarin Studio welcome screen.

There are also a few enhancements to make project workflows easier, such as built-in support for the NuGet package manager and the ability to work with Microsoft's new Shared Projects support to allow easier project/solution collaboration between Xamarin Studio for OSX and Visual Studio for Windows. And for those developers who prefer functional languages, Xamarin now provides full support for F#. Personally, I'll continue to do most of my work in C#, but with the incorporation of F#, does this mean that VB.NET-like language support for iOS and Android isn't far behind?

Figure 6: Xamarin now provides first-class support for F#.

Visual Studio Enhancements (All the Way Back to VS2010)

Xamarin recently acquired Clarius Consulting, a company well known among Microsoft developers for its extensions to Visual Studio. This investment boosted Xamarin's integration and interoperability of its tools within the Visual Studio IDE. For example, instead of having separate Visual Studio extensions for both Android and iOS development, Xamarin 3 delivers its multi-mobile development goodness in a single extension. This design lowers the extension management complexity while ensuring that both Android and iOS support is maintained in lock-step upgrade and maintenance support.

The new release also delivers full Portable Class Libraries (PCL) support. PCL is Microsoft's new approach to building reusable code libraries across multiple platforms running .NET (Desktop, Windows Phone, XBox, etc.). Xamarin also provides full documentation for Base Class Libraries (BCL) for better IntelliSense look-ups.

Figure 7: Creating Android, iOS and Windows Phone 8 apps almost entirely within Visual Studio is possible using Xamarin 3.

Android Enhancements

Xamarin Studio also improves the Android development experience by fully supporting Google's next-generation Android RunTime (ART), which is expected to officially replace the aging Dalvik runtime in a future release of the Android OS. Xamarin has also expanded its support of dozens of emerging devices based on the Android OS including Amazon's FireTV, Google Glass, and various smart watches and other wearables. I was able to create and run Xamarin Android apps in several different Android emulators and the Xamarin runtime (which can also be linked directly into an Android app) executed flawlessly on each.

Recognizing the bewildering variety of shapes and sizes housing the Android OS, Xamarin is working on a new service (called Xamarin Test Cloud) designed to test Android applications on literally hundreds of different Android devices. Xamarin has a lab filled with actual Android hardware that they will execute and test Android customer programs (and not just those built with Xamarin Studio, but any tool capable of compiling a native Android application), and deliver a compatibility report. This service is expected to be available later this year.

Xamarin University

Available as a separate service, Xamarin University is the company's online training for the Xamarin suite of technologies. Unlike many other training courses, Xamarin's courses are presented live and vary daily. This gives participants a more targeted approach to learning and helps to maintain engagement. At the cost of $1,995 per year, Xamarin University is hands-down the best online live educational experience for mobile developers today.

I had the chance to attend three online sessions in conjunction with this review, each taught by a different instructor. Online class sizes ranged from four to more than a dozen students, with instructors taking the time to get to know each attendee and their objectives before training started. Instructors also took the time to help out individuals requiring additional assistance with running an example or understanding a concept. They even provided consulting on some of the developers' projects, giving specific insight and expertise on which approach would work best. For developers committed to the Xamarin platform for their mobile development needs, enrollment in Xamarin University delivers an excellent educational value. It is also the only way to attain Xamarin mobile developer certification status, as Xamarin University classes are required prior to taking Xamarin's certification exam.

Figure 8: Xamarin University delivers a daily selection of live instructor online classes.

My only criticism is that Xamarin's training service needs to be offered with more flexible subscription durations. Currently, Xamarin University is available only as an annual subscription, but it would be more approachable to developers wanting to try out the service if Xamarin offered monthly or quarterly options that could be applied toward the annual subscription rate and credit toward developer certification.

Pricing and Availability

Xamarin 3 has already been available to Xamarin's beta channel subscribers for a few weeks and it was officially elevated to its production-level Stable channel on May 28, 2014. Existing, active annual Xamarin subscribers will automatically receive these impressive improvements at no additional charge. New subscribers will pay the same the same annual rate that current subscribers pay, which starts at free for individual use and ranges to $1,899/year for enterprise customers. If you don't use or require Visual Studio integration, the $299/year option is an excellent bargain, while the $999/year business plan is the most cost-effective if you don't need next-day SLA, immediate hotfixes, and a dedicated technical account manager assigned to your organization.

Final Thoughts

With this release, Xamarin goes from offering a useful, cross-platform C# technology solution to providing the best multi-platform, native mobile development solution, bar none. The new release is also a must-have upgrade for existing Xamarin subscribers. If you work as an ISV, corporate developer, or even just a mobile developer hobbyist, you owe it to yourself to give Xamarin 3 a try. My only concern is for the company's long-term independence. Xamarin has assembled such a winning product and service collection that they are ripe for acquisition by a major technology company. Personally, I hope Xamarin's leadership can withstand the temptation to be acquired and keep the company entirely focused on making major strides in the mobile development arena.

Mike Riley, a longtime contributing editor to Dr. Dobb's, is the author of several books including Developing Android on Android and Build An Awesome PC. Follow him on Twitter @mriley or contact him via his email address, [email protected].

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.