Is XAML Part of the Future?

In recent months I’ve had a number of folks on my podcast talking about Windows 8. Whether they prefer to program W8 in XAML/C# or in HTML/Javascript, I always ask the same question: does XAML have a real future or should we all be jumping aboard the HTML5 juggernaut? Here are links to some of these discussions:

Personally, I believe that XAML has a long healthy life ahead. Almost everyone I’ve spoken with who programs W8 in both XAML and HTML says that they are more productive in XAML.

It is the shared language not only of Silverlight and WPF but of Windows 8 and Windows Phone. These are serious commitments by Microsoft.

But I have a strong bias: I’ve invested six years in developing expertise in XAML, my job is as a XAML/W8 Evangelist for Telerik and I have two books coming from Apress on Programming Windows 8 with XAML.

At the moment I’m not putting time into learning the JS side of the house; but I’m keeping my eyes open. What about you?

About Jesse Liberty

Jesse Liberty is a Senior Consultant with Wintellect, with three decades of experience writing and delivering software projects. He is the author of 2 dozen books and multiple Pluralsight & LinkedIn Learning courses, and has been a Senior Technical Evangelist for Microsoft, a Distinguished Software Engineer for AT&T, a VP for Information Services for Citibank and a Software Architect for PBS. He is a Xamarin Certified Mobile Developer and a Xamarin MVP and a Microsoft MVP.

22 Responses to Is XAML Part of the Future?

I wish this dream comes true, but MSFT has proven otherwise.
As much as I hate HTML-CSS-JS when comparing to XAML-C#, MSFT keeps on favoring HTML-JS over and over. JS is a dirty language. Even TypeScript which is indeed a nice language, it’s still JS by the end of the day.
So I just stick to HTML-JS meanwhile. Xamarin is not the answer either.
I’ll wait and see, and I hope MS opens up the XAML stack sources. Hope to then see C# (.NET Core) and Xaml (platform-specific) for Web, Android, and iOS.
If MS can give the ability to make a client app built with XAML-C# that runs everywhere (even using Apache Cordova and not leveraging the local powers of the individual technologies at the beginning), I will start loving them back. Currently I can’t forgive them for taking away 5 years of investment in Silverlight and XAML which is currently only useful for Windows-based apps, and no guarantees for the future.

XAML or HTML5? To help answer that question I wrote code. I find similarities in both, some pluses and minuses in either. I was more productive in XAML and had unit tests with XAML but not with HTML5.

If I was told to write a desktop, windows phone, or windows 8 app I would choose XAML. If I was told to write a web app I would choose HTML5 (not Silverlight due to lack of browser support).

When XAML first came out I was excited when it was used for Web (Silverlight), Desktop (WPF), and Mobile, and now Windows 8. I spent a lot of time learning it and still program in it.

I’m staying with XAML for now, but am keeping an ear open. HTML5 seems like it is being talked about so much more than XAML. There seems to be excitement about HTML5 future and upgrades, but I hear little about XAMLs future of upgrades.

My thought is that based on seeing other open source protocols like JSON taking over XML’s dominance, and other open source languages holding their own, and JS libraries like jQuery taking over more and more of the user interface, and all of Microsoft’s development platform being almost exclusively limited to the MS operating system…

…XAML will eventually lose.

It’s true that MS is the juggernaut of the development world for now, but there’s another juggernaut coming up called “The Rest of the World”. I think that it will eventually win more followers than Microsoft’s platform, and MS will have to adapt, or at least enter the Open Source development platform itself just to remain a “player”.

I (personally) learned myself html5 + js in one month. It’s great, and cross-platform (xaml is only on windows and android, html is on my mobile, tablet, computer, and even my wii!).However, it is a little bit dumb that everyone can see the source.But currently I am developing a JS encryption system, so you can password protect pages.
I am sure HTML5 has a future!
Mark Vermeulen.

I am orders of magnitude more productive in XAML and like you Jessy I too invested a lot of time into learning it (learning by doing). HTML and CSS are the most unproductive UI design constructs I have used…period. XAML’s key advantage from a learning perspective (IMO) is its discover-ability, you can read code from other places and your assumptions about what appears to be self evident in the code is usually reliable…in CSS I could hardly say the same. Again this is my opinion, but if it were left to me then I would be throwing CSS out before its too late!…oh it is too late the investment in the internet has seen to that, tragically we now all have to drag this ball and chain around with until we get to some kind of Star Trek period of our evolution?

Still love XAML but am worried because MSFT C# and WPF forums seem to be much more quiet than they were in years gone by. Could it be everyone is busy with HTML5 and Javascript? I still cringe at the thought, but maybe I too will have to bite the bullet. Ouch!

I’ve done work in HTML, CSS and also in Xaml (Silverlight and WPF) and I can honestly say that given free choice, I would choose Xaml every time. It is far superior in terms of it’s power, ease of use, data binding, etc. Just trying to get layout correct in HTML and CSS can be a morning’s work, where as it is so simple in Xaml that you hardly need to think about it. Xaml is WPF, WF7/8, Silverlight and now WinRT applications, so to say that it is a ‘dubious’ technology is short-sighted to say the least. Then again, who knows what Microsoft have in mind as I believe some of their ‘strategy’ decisions in recent years have been far from logical – such as virtually killing off Silverlight.
I’ve not taken a detailed look at producing HTML Win8 applications, but from the demonstrations that I’ve seen, the API looks very clumsy and verbose compare the Xaml which is probably where the increase productivity comes from.

Why is XAML running from us? Because we have to chase it. Because it’s the language Windows 8 deserves, but not the one it needs right now. So, we’ll hunt it, because XAML can take it. Because it’s not our hero. It’s a silent guardian. A watchful protector. A Wonderful Language.

Taking a look at the xmlns declaration near the top of any WPF xaml file and you see something like this: xmlns=”http://schemas.microsoft.com/winfx/2006/xaml/presentation” xmlns:x=”http://schemas.microsoft.com/winfx/2006/xaml”
It’s that 2006 part that bugs me. Also, there are slightly different flavors of Xaml in WPF, Silverlight 3/4/5, WP7,8, Win8. Maybe not drastic differences but some. However not even as different as HTML5 is to HTML4. Xaml mainly targets Windows operating systems and via Silverlight some others. For me it is a great layout system and it is much easier to work with than HTML+CSS+JavaScript. It will live on in Windows for a looong time. For the web, given the sunset of Silverlight, it will last at least as long as supported by browser vendors. It could last longer (in a way) if someone would hurry up and write an IDE that lets you work in Xaml but compiles down to HTML+CSS+JavaScript. But that is crazy talk, right?

The “Windows OS” dev team wants XAML dead (http://www.riagenic.com/archives/960), due its association with Silverlight and Silverlight running on other operating systems. The “Dev Tools” is subservient to the Windows OS team and the XAML team has been subsumed by the Windows team.
Until MS fixes the internal politics XAML is not safe.

I have serious doubts about XAML. There are many warning signs for me, but personally I find total lack of visibility/interaction/openness from the development team a real worry.

Where are the blogs from the guys who built XAML? Where are the deep dives? Where are the engineering video casts where the rewrite in native WinRT has been explained? Where is the road map? What is the future with regards to versioning? How often and how are we going to get XAML updates? How is that going to work with the app store?

XAML seems very limited to me, many many features still missing that are in WPF. This is a real annoyance. To me it’s clearly a tactical implementation. What are the new features vs Silverlight? Why no clarity about its relationship to Silverlight? The whole debacle about WPF/SL has NOT been forgotten by the developers out there and probably never will be. How can Microsoft be trusted, especially given their past performance and the number of unknowns still hanging over XAMLs future?

WPF was a fumbled implementation of a genius idea. Due to strategic blunders it never became what it could. And as far as I can tell all the brains and visionaries behind WPF have all left and are working for Google on Chrome. You can already see that influence with Web Components and Object.observe. Microsoft had a many year headstart on GUI technology but Google are moving so quickly I would say Microsoft are on the verge of losing the edge.

With so much mystery and lack of a clear strategy I think you would be foolish to bet the farm on XAML.