Day 3! Or actually Day 1 of the Evolve conference, to be exact. And whew what a day!
Of course the conference kicked off with the keynote by Nat and Miguel. What a well produced and slick show! A big stage, with gorgeous graphics on the big projector screens, awesome. You should definitely check out the video of the keynote here. We were proud to see Info Support there as Silver Sponsor:
Xamarin blew everyone away with a couple of great product announcements today. Only six weeks after releasing Xamarin 2.0, four major new features were announced:
C# 5.0 async/await
This C# compiler feature enables much cleaner syntax for async programming, resulting in better readable and shorter code. Moreover, less chance of bugs due to event handlers dangling around. Async/await was announced by Xamarin a short time ago as a beta, but available as of today in a final version.
For those who like functional programming, F# is now a first class citizen in the Xamarin stack as well. I’m still new to F# but I’ll definitely check it out. A nice addition.
But the biggest features, that got the whole audience exploding were…
iOS User Interface Designer
WOW! This was some rabbit Miguel pulled out of his hat. An iOS UI designer embedded in Xamarin Studio, to replace having to resort to XCode’s Interface Builder. And it does not only replace it very well, but goes way beyond what IB does. Besides looking gorgeous, the designer tightly integrates with the code generator in Xamarin Studio. Adding controls to a view automatically adds member variables to the class. Actually they’re still outlets, but you won’t have to worry about them. So dragging lines from UI elements to Objective-C code files is over. I used to get so many smirks from Visual Studio developers when I demo Xamarin / XCode integration in my talks. This is all over now. No more explaining what an outlet is, because… as Miguel mentioned in his talk:
I am glad though, that Xamarin stayed closed to the Apple structure when it comes to the generated code. As far as I can see, the designer generates code that is compatible with code coming from the XCode integration. Controls are still marked with an [Outlet] attributes, etc. I have yet to try the designer myself, but I assume that XIB files and storyboards are instantly usable with the Xamarin designer.
Furthermore, any UI component that you might have in your solution, be it from the Xamarin Component Store, from a referenced DLL or self coded in your project, automatically becomes available in the designer. And what’s more, it shows a live preview of the control at design time!
I really didn’t expect this designer to be available so soon. I had seen screenshots and ideas from Miguel but I thought that it was still some time away from becoming a real product.
Again, kudos to the Xamarin team!
Like Miguel mentioned… If you ever think “Xamarin should do UMMM…”
Xamarin Test Cloud
Again, WOW! After the iOS designer, people weren’t expecting any more stuff. But then Nat came on and introduced the Xamarin Test Cloud. A fantastic new product that does automatic UI testing for virtually every smart phone or tablet device available on the market. Xamarin actually acquired LessPainful solutions for their infrastructure. Basically, Test Cloud is a test service that uses real, physical devices to run UI tests on, based on exploratory testing (i.e. hitting every feature in the app) or a prerecorded test script, expressed in Given, When, Then construct.
Here’s Xamarin’s own introduction page on Test Cloud: link
TechCrunch has written a nice introduction article on this as well.
So that was a shocker for the audience. Awesome. This is a major step for Xamarin though. With this completeness of vision, I think Xamarin will win over a lot of customers that were reluctant to come along with the Xamarin tools. Customers, at least the ones we’re servicing, were a bit reluctant about the maturity and completeness of the holistic vision and approach of mobile development. I think today, Xamarin nailed that question!
The sessions following after that were mostly good. I enjoyed Stuart Lodge’s session on MvvmCross, Sebastien Pouliot’s session on Advanced Build Mechanics for iOS and of course Scott Hanselman’s session, which was basically a nice celebration of the C# language.
And of course I enjoyed doing our own talk about creating a uniform login experience across devices. We’ll put the accompanying slides and source code online as soon as we have a chance.
Then the day ended with a Food Truck party in Brush Square Park across the street. Austin is famous for its food trucks, all specialized in a certain type of food. And they’re good! I had a Tex Mex style wiener, which was really nice and spicy, a nice corn flour tortilla wrap with chicken, cilantro and chilli. As a desert, there was ice cream. Not just regular stuff, but… salted chocolate and red velvet cookies. Heaven, for a foodie. Again, a great vibe among the conference visitors.
After the foodtrucks were closed, we got together at Maggie Mae’s for more partying. Austin has a nice vibe, there’s live music all around.
So tomorrow is the last day of the conference already. How time flies. There’s one more session for Marcel and me to do. This one will be about code sharing. We’ll dive into some of the more detailed, sometimes basic type of tricks and architectural patterns you can apply to achieve more code sharing but still leave the app easily maintainable.
See ya in our session tomorrow!