Those of you that are following me on Twitter, will know that I’m currently attending the Xamarin Evolve 2016 conference in Orlando (FL). It’s the key conference where all the information about Xamarin is released and shared. Stating The future of apps as the tagline and their recent acquisition by Microsoft got every mobile developer looking forward to this event.
Moments ago, the keynote from the conference took place. Nat Friedman, Miguel de Icaza and other amazing folks from Xamarin and Microsoft shared some great new products for all developers. Let’s get a quick overview on all the good stuff!
Nat first took the stage and got straight to the point: Xamarin is booming. The interest in the platform tripled shortly after the //Build/ conference, which has everything to do with the acquisition by Microsoft. At first, I was pretty sceptical about this, but by talking to more and more people it does make a lot of sense and has a couple of huge upsides. The name "Xamarin" will remain, so nothing like
Microsoft.Mobile (just like "Azure" isn’t
Miguel took over the stage and took us down memory lane to talk about the open source history of .NET. Everybody felt it, he said it: they made Xamarin open source. This is a huge leap forward, since open sourcing has proven to be very succesful (ex. the Roslyn compiler). The first Pull Requests for all the sources (iOS/Android/Forms) are already popping in, which is great! There’s still a lot of work to do, but by letting the community have access to the source, we’re able to make the needed changes ourselves. .NET: Native Everywhere and Open Source
Miguel went on to show some of the new stuff that got released. I’ll go over them briefly:
- Xamarin Studio (6 RC) got a huge number of improvements, where the design is the most visible one. They added a dark theme and revamped all icons. It looks much more crisp, I really love it! Other changes that I want to point out, is the support for Apple tvOS and Nunit 3. Writing C# for the Apple TV is great (providing us with another device to build apps for), and we can finally update the Nunit package to a 3+ version!
- Under the hood, Xamarin Studio 6 gets support for Roslyn, which means full C# 6 support, faster code analysis, better code completion, advanced refactorings and even broken state support. *gasp*
- I personally prefer working on OSX when developing for iOS, but for those who prefer Windows/Visual Studio, the iOS Simulator for Visual Studio will be a huge help. Miguel already showed it at //Build/, but it’s now available for all developers to use. They even took it a step further, by enabling USB remoting. That’ll surely help the workflow for iOS developers on Windows!
- Xamarin.Forms got a new feature to get Native Embedding: The ability to add native features without the use of custom renderers. Sorry James Montemagno, looks like I’m not going to use your FAB for Xamarin.Forms anymore!
Nina Vyedin jumped on the stage, and I’m a huge fan of her since I saw her last time on Evolve 2014. She rebranded XAML to Xamarin And Microsoft Love, and had some exciting news: they released the Xamarin.Forms Previewer. In short, this means that every change that will be made to your XAML will be displayed instantly. In other words, you don’t have to (re)compile, build and deploy to get feedback about the changes you just made. Pixel pushing just got a while lot easier for iOS and Android (both landscape/portrait and phone/tablet support)!
Maybe it was missing from the presentation, but I’m missing the Preview for Windows (Phone). Although I understand that Android and iOS still have the biggest marketshare, Xamarin.Forms was always aimed at all three platforms. Also, by releasing this tool, Xamarin essentially made Gorilla Player less viable (before it even got out of beta). The main difference is that Gorilla Player can give feedback from live devices, where Xamarin.Forms Previewer is a "general" preview within the IDE.
Workbooks got showed by Miguel and is something that I personally really love. This is the next step from Xamarin Sketches that I was looking for in order to teach others how to code. There are loads of initiatives to teach kids to code (Code.org/CodeUur/,Devoxx4kids), and Workbooks will help those initiatives as well. I’m sure I would use Workbooks to do so!
During the presentation, Miguel showed off an example using Urho3d. I’ve found learning Urho3d to be pretty hard, but with the Workbook example, it does make a lot more sense. Huge fan!
DataPages & Xamarin.Forms Themes
Developer evangelists James Montemagno and Nish Anil joined Nat on the stage to show off the other goodies coming to Xamarin. With DataPages, you’re able to bind some default templates (ex. a list with images and text) to some Cloud or JSON resource without any additional configuration. Although I do get this can help to get something up and running really fast, but future will tell on where/how this can be used in production. Luckily, we’re able to create our own DataPages for more flexibility to extend upon.
Xamarin.Forms Themes, although only touched briefly during the keynote, is something that I’ve been waiting for for a while. With just a couple of changes to your code, we’re able to change the whole theme of the application. It makes building "brandless" apps easier, since we can add the brand-colours in the theme and switch between them.
Xamarin Test Recorder for Visual Studio
Jessica Steger just got right to it: she showed the Xamarin Test Recorder for Visual Studio. There already was a Xamarin Test Recorder for OSX, which is a stand-alone tool that generates the code for you that you should manually copy to your tests. The Visual Studio version is smarter, better and makes changes to your test code directly.
Although it looks great, I personally need to test this Recorder for Visual Studio a bit more. The OSX version wasn’t always generating the best code that I would expect, and since the code it generated, changes can’t be made easily later on. Also, where does this leave the OSX version of the Recorder? Will it keep my other code intact? Still, it does make a great promise, we’ll have to see how good it works during in production code.
HockeyApp & Test Cloud Live
Last, but certainly not least, Donovan Brown from Microsoft took the stage. Seeing him next to Nat certainly showed off some of the fruits the acquisition is bringing us. Xamarin Insights (announced at Evolve 2014) will eventually get replaced by HockeyApp. Donavan showed the changes that are already made to HockeyApp to get it closer to the data from Xamarin Insights, which makes it pretty neat!
The last announcement was awesome: Test Cloud Live. What this essentially means is that you could use/claim a device from Xamarin Test Cloud and debug on that physical device remotely. I actually asked Mike James if this was on the roadmap last January, but he couldn’t tell anything back than. When running a test on hundreds of devices in Test Cloud and only one is failing, it can help us get why that app on that device is failing. Currently, Test Cloud Live is private/invite only for obvious reasons, but this could really help developers pinpoint problems to make sure to reach the largest audience possible.
I was stunned. Although I was hoping to see loads of great stuff, I didn’t expect so much. Future will tell how and where to use which (new) feature, but currently it’s looking extremely good. The only thing that I did hope, was that other "Preview" tools like the Inspector or Profiler would get a final update and out of the Preview state. Most of the things announced today are in Preview as well, making the list of things in Preview even longer.
I’m looking forward working with Xamarin.Forms Previewer and Workbooks the most. Once I have more hands-on experience with all the good stuff that is released today, I’ll do separate deep dive blog posts about them.
Xamarin, keep on delighting developers all around the world. It’s in your DNA.