So here are today's announcements, along with links to find out more about each.
Partnership with IBM
Fruits of this partnership include:
- IBM MobileFirst SDK for Xamarin, a pre-built library that Xamarin and IBM devs can include in their apps to connect, secure and manage apps using IBM Worklight
- IBM MobileFirst Add-Ons for Xamarin Studio and Visual Studio, extensions that enable devs to configure and access the IBM Worklight server
More details here: http://blog.xamarin.com/ibm-and-xamarin-partner-to-accelerate-enterprise-mobility/
and here: http://xamarin.com/ibm
Xamarin.Forms Partners - Telerik, DevExpress, Infragistics, ComponentOne, Steems and Syncfusion
You've probably heard of a few of these before and already recognise them as well established component vendors. Well they're all now Xamarin.Forms Partners who are making their wares available as Xamarin Forms components.
and at these links:
A fully fledged profiler for Xamarin apps, available as both a Mac and a Windows app.
Currently in public preview with a caveat of "be nice": http://www.xamarin.com/profiler
Real time code execution, ideal for practising with new features and APIs, or for instant execution of problematic pieces of code to help identify issues.
Full details here: http://developer.xamarin.com/guides/cross-platform/sketches/
Xamarin Android Player
Miguel gave us a demo of an Android app, but 'forgot' to start the Android emulator ahead of time, so we waited. He asked how our families were to pass the time. Little did we know he was nicely setting the scene for the announcement of the Xamarin Android Player - a new Android emulator available for both Mac and Windows. The Mac version is written using Xamarin.Mac and the Windows version is written using WPF. There followed a very impressive demo including a quick startup time (quoted as 17s, vs 1m17s for the standard Android emulator) and playing of a motorbike racing game with full screen animation, which ran very smoothly and showed us all that Miguel's skills do not include riding a motorbike, at least in this game!
Apps can be deployed by dragging and dropping APKs, simulation of battery state and location are included, as well as full ADB integration. This is also currently in preview, and at present only one image is available - Android KitKat 4.4.2, API Level 19 in a single form factor. A full range of images is promised as and when this is available for full release. More good news is that it's currently free for current Xamarin subscribers.
More details here: http://xamarin.com/android-player
New Xamarin TestCloud Features
A few very nice enhancements to this tool were announced.
Xamarin.UITest is a new automated testing framework, allowing tests to be written in C#. These local unit tests run against an emulator or a device and report their results back into both Visual Studio and Xamarin Studio. Once tests have been satisfied locally the app, with its tests, can be pushed to TestCloud as is (soon to be available as an option directly from Visual Studio).
Xamarin.UITest is available here: https://www.nuget.org/packages/Xamarin.UITest
Documentation is here: http://developer.xamarin.com/guides/testcloud/uitest/intro-to-uitest/
TestCloud already supported the capturing of screenshots during tests. This has now been taken a step further with screen recording, allowing playback of tests.
Lastly, parallel test execution can now be used to farm tests out to multiple devices to greatly reduce the overall test cycle time required.
More details here: http://www.xamarin.com/test-cloud
The last piece of the puzzle announced at the end of the keynote was Xamarin Insights - a complete analytics and error reporting tool with some impressive features, including user identification with the option to contact a user directly to let them know that an issue they experienced has been resolved. Obviously this won't always be appropriate for many reasons, but if it is this is a very powerful feature. Probably more relevant to enterprise apps.
A number of metrics are available covering more than just the number of crashes / unhandled exceptions. The total number of sessions can be shown, so if 50 crashes are reported the impact of this can be accurately assessed, i.e. 50 crashes out of 51 sessions means you have a big problem, but 50 crashes out of 5m sessions is somewhat less of an issue.
These short paragraphs don't do the product justice - take a look at it here:
It's currently free for existing Xamarin subscribers whilst it's in preview. Pricing plans are promised which are kind to existing subscribers when it's available for full release.
Finally we were all introduced to Susan Bennett - the voice of Siri.
So, lots to digest, and lots of links to follow. Happy reading, and playing!
After this came a full day of great conference sessions, plus continued hacking in the Darwin Lounge, nicely rounded off with the Xamarin party at the Aquarium here in Atlanta and a walk back to the hotel with some of the Xamarin University trainers and the legendary Charles Petzold. A good day.