John Papa's perspective on the future of Silverlight and XAML development
Carl Franklin: Let me ask you to put on your opinion hat and give us a little thermometer of where we are in relationship to the XAML technologies. Of course, I'm talking about Silverlight, WPF, Windows Phone, Windows 8, Metro. XAML seems to have taken center stage of attention and less so the particular engines that interpret XAML on different platforms.
John Papa: I think that's true. Where we are is a complicated discussion obviously, but the thing I think that's interesting is, I think a lot of people have clung on to XAML as being the commonality between all these technologies, and the way you program against it is really what they're missing, what they don't want to see go away. It's not necessarily that it's the platform.
Richard Campbell: The challenge, of course, is that it's actually different runtimes. XAML is not just XAML. There's quite a bit of variability between what you write [with] WPF and what you write, say, against WinRT.
JP: Absolutely, and that's been always one of the problems that people have had . . . originally we had WPF and Silverlight. We made two flavors of XAML, really. Now we've got, what? Four? Five?
JP: And people were complaining that they weren't in sync. Now we've got so many that I think people pretty much have given up hope that all of them will ever be in sync, but they still love their XAML.
JP: I still get emails like crazy about what's going on with Silverlight. Is there going to be a Silverlight 6? I've had emails from people, more than 100 emails saying, "Is there going to be a Silverlight 8 or 9?" So people are very interested in where XAML is heading and what the future is.
RC: What do you think? Is there going to be a Silverlight 6?
JP: I don't know one way or the other for sure. But at this point I'd be willing to bet that there's going to be another version of Silverlight in some way, shape, or form. Mostly just to help support the big companies, [those] like Netflix and NBC and the Olympics, things like that.
RC: What I found interesting about Silverlight 5 is that it was the quietest release of a Microsoft product I've ever seen. It just sort of quietly slid out in the middle of December.
CF: No fanfare.
RC: No fanfare at all.
JP: Especially compared to what happened with 2, 3, and 4 releases. I mean, they were major announcements. So yeah, it's an interesting strategy. There might be more versions, but there's not a huge amount of things to add to it at this point. That's not the reason I don't think there will be another version, but I just think the company is heading [in] other directions.
CF: One of my thoughts is that it's found its niche, you know? We didn't really know . . . when Silverlight 1.0 came out, it was sort of a glorified animated .gif player. Silverlight 2 started to creep toward [being] an application platform, and by 3 we had binding and data access and all this great stuff. So it sort of found its niche in the business world, I think, where it just solves the whole deployment of Windows applications apart from the obvious video stuff that can go mass market. That's great, by the way, and there's no better way to do it, and there's no other way to do, you know, that kind of streaming across all the platforms.
JP: Yeah, the video streaming is absolutely fantastic with it, but I think you're right. The key that a lot of people were clamoring about is they're building a lot of business applications with this framework.
CF: And, you know, it's done, it's good. It does everything you want it to.
JP: I mean, there's lots of people still using WinForms.
CF: You know, the tool vendors sell more Windows Forms tools than anything else still.
JP: Uh-hmm. That's true.
CF: That's because there's just an army of Windows Forms developers out there that are either maintaining or building new applications.
RC: And the tooling is very, very good. I still don't think we've got as good a tooling for Silverlight or any XAML development process as we've got for WinForms.
RC: The other side to the whole Silverlight debate is that really Silverlight was cross-platform. That seems to be the thing that Microsoft is walking away from is that the strength of Silverlight was that it would run on the Mac. We just stopped talking about the fact that Guthrie and his team got a chunk of the CLR running on a Mac.
CF: It's pretty awesome.
JP: It was pretty amazing. Yeah, you're right. In the beginning it was a media story, then it was a cross-platform story, and then the line-of-business thing kind of came later, but that was the one that really took hold. But the cross-platform story -- the way I looked at it was Silverlight was really a huge competitor for what Flash and Flex were starting to do in the business space, and the Microsoft team built a better Flash and Flex, in my opinion, to do line-of-business apps. And then all of a sudden things changed in the world.
CF: The iPhone.
JP: A few years ago the iPad came out. The iPhone was out [the] year before that. Things started changing, and then cross-platform didn't seem so important.
CF: Well, all the fun stuff was being done on those platforms, and that's where the demand for apps was.
RC: Yeah, I mean Apple decided they weren't going to run plug-ins, and you can argue the merit of that one way or the other, but the reality is once that decision is made, it doesn't really matter what technology you're using.
CF: Here's the bottom line. Developers want tools that they can build apps with that run on as many popular platforms as possible, and the popular platform is really what it's all about. Their users and our users are demanding that we have iPad apps, so that's what we built.
JP: If you're building a consumer-based app, the stories really changed dramatically over the last couple of years. If you're building business apps for the enterprise for big companies, the stories changed a little bit, but I think that's where more of the concerns come in from people. They're like, "Why can't we use XAML still," and the truth is they can. They can use XAML, they can use WinForms. They're all still viable technologies, but the interesting space is the consumer space because three years ago there was no consumer space.
JP: I want to know what are the good and bad points. What's evolved? So I spent a lot of time looking into the good and the bad points, and there's a lot of both. A lot of things have changed, and it's quite an interesting space right now.
RC: I don't feel that HTML5 has the strength that Silverlight has in terms of just building a rich client. We can make stuff look good in HTML5 and look like Silverlight, but that state-management space, the ability to do complex manipulation and to work in a really robust language, I don't think it's comparable.
CF: So tell us about some of that. Are we talking about Knockout?
CF: So I guess are you looking down the road at JsRender to be the model that you're going to be using most? How does it work?
enable property, the visible property, all those are in one attribute inside your tag. With JsViews you actually bind each individual element inside your tags. So if you've got a visible or enable or a value property, your binding goes in each individual one of those, which is a little bit more like the XAML syntax.
CF: Yeah, I was going to say it's very XAML-ish.
JP: Yeah and obviously, I kind of like the XAML side of the world. They're both very popular, though.
There's much more! You can find the full interview at dotnetrocks.com/default.aspx?showNum=730.
Richard Campbell and Carl Franklin are the voices and brains behind .NET Rocks! They interview experts to bring you insights into .NET technology and the state of software development.