Attended a bunch of session about WPF and WinRT/Metro. A couple of points:
Windows. The schizophrenic operating system with two start screens is here to stay. They openly admit it, talking about “desktop side” and “metro side” or even “green side” and “blue side” following the [in]famous architecture slide. I don’t mind if several visually similar ecosystems talk to different APIs under the hood, like POSIX and Win32 subsystem in Windows NT. Having several distinct visual managers on top of the same API also makes sense, like Gnome and KDE. But when everything is different, from input methods to security model, it can hardly be called a cohesive product, IMHO.
Big Brother Development Model. You probably heard that Metro apps take the whole screen, that there are no right clicks, etc. This is all true, but there is more. You cannot develop Metro apps on your local machine without obtaining a special (free) developer license from Microsoft, and this license is good for 30 days. It works per user, per machine. After 30 days if you do not renew the license, you won’t be able to run your own Metro applications on your own machine unless you renew the license. Nice, eh? And this is not a theory: one of the presenters had their license expired during lunch and was forced to rush to renew it. If he did not happen to have Internet connection at the moment, he would not be able to run his own demos. This rule applies only to applications that target Metro runtime, “traditional” applications are not affected.
WPF 4.5. No major changes in WPF 4.5. “Everyone is focused on Windows 8, so it’s a polishing release”. No type safe bindings either. Event ASP.NET got them (
ItemType property), but in WPF
DataContext remains untyped.
There was a profound lack of consensus between presenter on whether .NET Metro “profile” is a proper subset of “big” .NET with exactly the same binaries, or the compatibility exists purely on the source code level. The truth is probably somewhere in between.