Tuesday, July 7, 2009

Silverlight: pretty but confusing

I went to the CMAP (Central Maryland Assotiation of .NET Professionals) tonght, and attended a presentation on Silverlight version 3. The presenter was knowledgeable and competent. His material covered  a lot and in a clear manner, and he answered questions quickly and precisely. So I think that I have a good understanding of SIlverlight.

What I don't understand in Microsoft's overall strategy for development platforms. They have several, with lots of overlap.

First is Windows Presentation Framework (WPF), or the "classic" .NET development environment. Applications run under .NET on Windows and nowhere else. Except maybe on Linux under Mono, the .NET clone (not a Microsoft product). Mono lets many WPF applications run, but not all, since not everything in .NET has been ported to Mono. So an app can run under Mono, unless it can't.

Second is ASP.NET, which handles web applications. These may include Javascript in the client and AJAX between client and server. The server will always be Windows Server with IIS and the browser is always Internet Explorer except in some cases when it can be Firefox on Windows or Safari on OSX.

Third is Silverlight, which has morphed from a video player into a full-blown development platform capable of executing logic and displaying a GUI to the user. Silverlight runs in the browser (Internet Explorer, Firefox, or Safari) except when it runs in non-browser mode. There is a clone called Moonlight (also a non-Microsoft product) that lets Silverlight applications run on Linux. Unless they do something that isn't supported in Moonlight, in which case they can't run on Linux.

Fourth is something called "RIA services" (the RIA stands for "Rich Internet Application") which can be used for, well, rich internet applications.

All of these platforms overlap. If I were starting to build an application today, I wouldn't know which one to pick. I don't have time to learn them all (each is quite complex with various strengths and limitations, many of them not obvious) and once I picked one I would immediately have "buyer's regret", fearing that a different platform would have been a better choice.

In sum, I think the meeting was good, and the presentation was good, but now I even more convinced that the Microsoft platform is expensive and time-consuming.

No comments:

Post a Comment