Build 2017 Day 2
The second day of Build is over, so it's time for a recap post!
First of all, the miracle is over: it's raining in Seattle... according to the locals the last 3 sunny days were just a coincidence.
Yesterday the theme was Azure, AI, and the server-side in general, today it was all about the client side, mobile development and Windows.
A very big portion of the keynote focused on Windows and the next iteration of UWP
The next update of Windows will be called the Fall Creators Update.
A new design system called "Microsoft Fluent design system" was announced:
We kind of move away from this flat design, more to a 'living' 3D (z-coordinate), Depth, Motion design style, which is necessary when you target multiple form factors.
The Microsoft graph brings some cool options: for example you can create a "pick up your work where you left" experience across devices (including iOS and Android) and even copy-paste works across devices. See Project Rome.
The Windows Timeline was introduced.
There are some interesting apps coming to the Windows Store (for example iTunes).
Besides Ubuntu now Suse and a Fedora shells are also available for Windows. And btw. these can also be installed via the Store.
Everyone working with XAML knows the problem that XAML is different everywhere. UWP XAML is not the same as WPF XAML, and Xamarin Forms XAML is again different from the first two. XAML standard tries to solve this problem: the idea is to define a common set of XAML, which should be available everywhere. This is very very early stage, so nothing is implemented and the standard itself is also far from a 'useful' state at this point, but it is already on GitHub, and everyone can contribute.
Xamarin live player was released. With this you can connect your iPhone to your PC and start Xamarin iOS apps directly from Visual Studio and debug without anything in between (Breakpoints and all the debugging stuff works).
Xamarin on iOS always used either AOT or JIT. With AOT the problem is that it kills dynamic code generation (no JIT, no reflection, no code modification during runtime). Now there is a Hybrid mode, which is an AOT compilation, but extended with dynamic code loading and generation options.
Now if this wouldn't be Miguel I would say this is fake! But it's not... With Embeddinator you can now take your C# code, compile it into whatever platform you want (e.g. Java, or an Objetctive-C based iOS app, or a native C++ application) and use it there. This is incredible, since it enables legacy apps to be extended with cool new .NET features without rewriting the legacy code.
Since I'm not a designer I don't go into details on this. The point is: there is a new design system for Windows, which is already used by the built in apps. It's called fluent design and here you find more about that. One thing I found great is that they also shared a documentation including design guidelines combined with XAML/C# Code here.
Besides that there were also cool other things not related to the new announcments from today. For example a Q&A panel about .NET Core:
Then I got the chance to try out my own app on some cool devices. Here is myTrades running on a Surface Hub:
And on a Surface Studio: