Welcome!

Java Authors: Loraine Antrim, Walter H. Pinson, III, Jason Dolinger, Miko Matsumura, Liz McMillan

Related Topics: Silverlight, AJAX & REA

Silverlight: Article

Silverlight 2.0 - One RIA Framework to Rule Them All

Any blog post about the .NET Framework also includes borrowed half-quotations from Lord of the Rings

Anytime you can create a blog post about the .NET Framework that also includes borrowed half-quotations from Lord of the Rings, you've got to take that opportunity.

Like pretty much every other RIA developer, I am sitting back anxiously awaiting the arrival of Silverlight 2.0. Silverlight 2.0, to me, represents the idea of what Silverlight should have been from the start. It is a rich, full-featured, amazingly powerful subset of WPF that runs on a miniature CLR and allows developers to re-use their existing experience, design patterns, skills, knowledge, and abilities with C#, .NET, and WPF. It also allows designers to re-use their knowledge and experience using the Expression Blend suite of products for producing XAML-based designs and artifacts.

Pulling back a little bit, there's a bigger picture here. On the server side, one might use a traditional RDBMS. If you do, you might end up with a tool like SQL Server 2005 or 2008. If this is the case, you might even find yourself writing stored procedures in C# on the full CLR because SQL is a full-featured embedded CLR host.

From there, you might want to create a web application. For that, you've got ASP.NET which is also a CLR-based product that allows you to re-use your existing C# skills. If you want, you can even use the ASP.NET MVC framework which gives you that agile feeling and highly testable output that many Ruby on Rails developers crave but have been missing up until now.

Next you've got the browser tier itself. Here you can use Silverlight to create extremely rich applications that have full media support, rich, interactive, data-bound, templated and skinnable controls complete with animations, brushes, graphics support, and much more. All of this is built on top of XAML and C#, which are skills you might already have from working on the client tier.

Next you're down at the client tier and you're building an incredibly beautiful, rich application that you might even consider a showcase application. This app is being built using WPF, XAML, and C# - all technologies you're already using on top of a framework that you're already using and deeply familiar with.

But it's not over there. Now you are on the mobile device level working with Windows Mobile 6. Using the .NET Compact Framework 3.5, you have a re-usable subset of .NET Framework functionality that includes LINQ, networking support, web services, and much more including the ability to create winforms-like applications on mobile devices.

I'm not saying that Microsoft's path is the only path because there are hundreds of other paths to go. However, one thing developers like is consistency and another thing developers hate is having to swap context or swap tools. If Microsoft can continue toward opening their back-end protocols, opening their document formats, and giving developers access to the same (or varied subsets of) functionality everywhere from the deep back end to the cloud itself to the browser to client apps to mobile apps - they might truly end up with One Framework to Rule them All. They've definitely got a long way to go, but what I'm seeing with Silverlight is a gap that used to exist in which only Adobe resided that is now filled and, quite possibly, filled so well that many developers (especially existing .NET developers) will simply choose to go with the familiar framework they've been using for so long.

If you are a developer that has to create a rich, desktop application that consumes web services, and you also have to write those web services, and you also have to write the stored procedures that supply those services with data, and you also have to write a windows mobile client that interacts with the rest of the product suite - which would you rather choose - a bunch of disjoint frameworks, or re-use subset of the .NET Framework across every single tier in the product suite?

I realize there are lots of opinions on this subject, and there is a lot of merit in picking the best tool for the job, but so far, there are very few tools I've seen that do the job better (on Windows, I'm not talking about Macs here) than the .NET Framework. I'd love to hear what people think is the future of the framework and if it will continue to grow and consume more tiers and get a more unified development model.

tags:    
links: digg this del.icio.us technorati reddit

About Kevin Hoffman

Kevin Hoffman, editor-in-chief of SYS-CON's iPhone Developer's Journal, is Technical Chair of iPhone Developer Summit. He has been programming since he was 10 and has written everything from DOS shareware to n-tier, enterprise web applications in VB, C++, Delphi, and C. Hoffman is coauthor of Professional .NET Framework (Wrox Press) and co-author with Robert Foster of Microsoft SharePoint 2007 Development Unleashed. He authors The .NET Addict's Blog at .NET Developer's Journal.

Comments (7) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
radixweb 08/22/08 02:10:57 AM EDT

Hi,

Interesting Article Post..........

Java Consultant.......

Peter W 03/11/08 01:22:12 PM EDT

While there is something to be said for unification of the programming model from end to end, it is not paramount to have it if you work with dedicated and disciplined staff. There, I used the "D" word. My RIA tool of choice is Flex. My stack is Flex, ColdFusion, SQL Server, Perl and Delphi(as needed), so I sat down and defined the handoff between each of them. My shop knows that standards and they follow them. I also have the added benefit of being able to outsource an individual piece of work on a platform without having to explain the whole stack to "curious" minds.

Silverlight? Yeah, whatever...

DOTNET? no, our technology is NOT DAT.

foo bar 03/03/08 12:34:56 AM EST

Silverlight *is* significant, in the *Microsoft* space.

And I am personally interested in it, because I do work in that space, among others.

BUT....

It *only* works on an end to end MS 'stack'. As such it is limited.

In the real world, most modern distributed applications are multi-platform. And a programming model or toolset that is tied to a single vendor will always be a niche.

Microsoft needs to get serious about interoperablility with the rest of the world. They need to understand and embrace the concept of standards. And standards do NOT begin and end in Redmond.

Guy Hurst 02/28/08 10:27:09 PM EST

I fully agree with you, which is partly why I decided to switch to C# and .NET 3.x last year after so many years in LAMP. I really like the leverage that is emerging for the developer/designer. I have watched over 100 webcasts and read a lot before switching, and I really sensed both the converging of compelling capabilities and an openness to interoperating with other non-MS technologies. I am really excited about the future in this!

JWest 02/28/08 09:23:28 AM EST

WOW! Where do I send Microsoft my paychecks! I mean this is amazing! Hey did Microsoft also create the internet along with Al Gore?

This is article was nothing more than Microsoft propaganda trying to catch up to the all the other products that have already made RIA a success on the internet. This may come as a HUGE shock to a lot of people out there, but there is more to the RIA development than Microsoft. Just so happens that Microsoft is trying to catch the wave and join the "rave".

JW

Fallon Massey 02/26/08 08:36:29 PM EST

SilverLight 2.0 is HUGE. While there is too much to go into here, here are some biggies.
1. You can never understate the unification of the programming model from end to end. It's productivity plus, and elimination of a eccentric language(javascript).
2. It drives browser prigramming back to the more traditional models. GONE are style sheets, divs, both relative and absolute, and other such models to control look and feel.
3. Another huge benefit is data transmission. Now you can transmit TRUE c# objects across the pipe instead of going to JSON(which wasn't that bad), but the performance should go through the roof(as CLR's go) because javascript is so slow.
Yes, I'm REALLY looking forward to SilverLight 2.0(1.x was a joke).

Silverlight News Desk 02/25/08 05:04:28 PM EST

Anytime you can create a blog post about the .NET Framework that also includes borrowed half-quotations from Lord of the Rings, you've got to take that opportunity