Can we really stop the CPEC?

Comment: Can Microsoft stop developer churn with XAML Standard?

Microsoft has been talking about cross-platform for three years now, but to this day only has a patchy cross-platform offer for the server and purchased multi-platform software for mobile apps (Xamarin). When it comes to creating a true cross-platform user interface for Windows, Linux, macOS, Android, iOS, WatchOS, Tizen, etc., Microsoft is completely naked. The XAML interface description language exists for many of these platforms, but the different dialects are unfortunately not compatible with each other. Microsoft made the mistake of allowing this wild growth at all.

Migrations to HTML

Every week, as a consultant, I have to say to software manufacturers who are driven to cross-platform by their users: "A cross-platform GUI application with XAML is a huge effort because you have to implement each screen mask multiple times. The only reusable solution that's what HTML with JavaScript or TypeScript is for. "

Most .NET developers don't even want to hear that. They love their development platform, including the XAML interface language, for its power and productivity - on Windows. And ask for exactly this solution for all the other platforms. This requirement has also been met again and again at Microsoft. Rumors on the subject have been around for years. The flop of HTML-based Windows Modern Apps has also shown that .NET developers do not like to retrain to HTML and JavaScript.

So far no more than a fig leaf

Yesterday, Microsoft architect Abolade Gbadegesin introduced the term "XAML Standard" analogous to the ".NET Standard" in the Build Keynote and also announced that it will be released in 2017. Hooray!? No! I am very cautious about my cheering now.

If you look at the GitHub repository from XAML Standard, you will quickly see that it was only opened four days ago and so far contains a measly specification that describes only eight XAML tags on less than two A4 pages. The document gives the impression that work on the project has not really started yet, but that something has just been quickly provided so that Gbadegesin could exclaim in the keynote: "The Spec is under development right now." More than a fig leaf in front of Microsoft's nakedness on the cross-platform UI front is what we're seeing, but not.

After developers have been switching from XAML (or one of its predecessors such as VB Forms and Windows Forms) to HTML for years, I would have hoped for a lot more from Redmond in 2017: A fat specification and a beta version of the implementation. What has Microsoft done in the last few years? Obviously just pondered.

An implementation must come after the specification

Let's think of .NET Standard: Version 2.0 is only suitable for practical use! The topic of the implementation of the XAML standard remains completely open, so far there is not a single line of code in the GitHub project: If the specification in version 1.0 is to appear this year, when will it be implemented? So when can we really do "Write one, run anywhere" with XAML? Implementing a GUI framework cross-platform is more complex than a few server APIs!

One can also be curious whether the implementation of the XAML standard in UWP, Xamarin Forms and WPF will lead to so-called breaking changes or whether Microsoft will succeed in ensuring compatibility with the existing XAML implementations and the large number of existing XAML implementations despite the standardization. based applications. And don't forget Linux and macOS at this point. So far there is no XAML for Linux and only a first pre-release version of Xamarin Forms for macOS. In Microsoft's picture below, these two operating systems do not appear in connection with the XAML standard.

Full throttle necessary

What Microsoft has delivered today is nothing more than a gesture: Microsoft now wants to do something about the migration tendencies. I can only say to Microsoft: Then from today give it full throttle at this point. That shouldn't last as long as the three and a half years that lie between the announcement of Cross-Platform-Server-.NET at TechEd 2014 and the first practical implementation called .NET Core 2.0 in the 3rd quarter of 2017. Because in these years my colleagues and I would have to support many other companies in switching from C # and XAML to JavaScript and HTML. There is nothing I would like more than to remain a "Dotnet Doctor". (ane)

Read comments (128)