Click here to Skip to main content
15,867,488 members
Articles / Silverlight

Silverlight: Past, Present & Future

Rate me:
Please Sign up or sign in to vote.
4.50/5 (3 votes)
30 Jun 2010CPOL4 min read 17.6K   3   5
A brief introduction notes to start with Silverlight based development

This article intends to give a brief introduction notes to start with Silverlight based development. I would like to give a list of citations to the valuable resources available for Silverlight.

What is Silverlight?

Silverlight is the RIA application framework from Microsoft which is a competitive product for Adobe Flash. More information.

Developers can use their existing knowledge of .NET languages like C#, VB to develop client side functionality. Silverlight includes a cross-platform, cross-browser version of the .NET Framework, and enables a rich .NET development platform that runs in the browser. Developers can write Silverlight applications using any .NET language (including VB, C#, JavaScript, IronPython and IronRuby).

Why RIA?

To provide more interactive user interfaces like desktop application that run cross platform and cross browser. As we know, multimedia, media streaming, animations, and blend vector graphics are normal capabilities of RIA frameworks. More information.

How It Works?

CoreCLR: Silverlight includes a cross platform version of the .NET Framework and its size (CLR + a WPF and .NET FX library API subset + dynamic language support) is ~4MB. Silverlight does not require the .NET Framework to be installed on a computer in order to run.

It delivers the same type-system, garbage collector, and JIT code generation engine. The CoreCLR term refers to the CLR that powers the Silverlight. It’s refactored, modularized, tightened, simpler with fewer dependencies. Silverlight includes a subset of the full .NET Framework class library which provides support for collections, generics, IO, threading, globalization, networking, and LINQ.

Silverlight can use the standard ASP.NET application services (membership, roles, profile, etc.), and can call either WCF or ASMX web-services hosted within ASP.NET.

HanselmanDotNetEcosystemVisualizationV02_thumb[4]

Important Concepts

WPF UI Framework: Silverlight 2 includes a rich WPF-based UI framework that makes building rich Web applications much easier. Silverlight supports simple and extended controls similar to WPF controls, for example, Grid, TreeView, Right Click, etc.

HTML DOM API: It provides a managed HTML DOM API that enables you to program the HTML of a browser using any .NET language. Silverlight includes a JSON serializer that supports automatic marshalling of .NET datatypes to/from Javascript. For example, JavaScript code can call a C# method within Silverlight, and have the C# method return a .NET collection which is then serialized by Silverlight into a Javascript collection.

Rich Networking Support: Silverlight includes rich networking support. It includes out of the box support for calling REST, WS*/SOAP, POX, RSS, and standard HTTP services.

Local Storage: Isolated Storage gives your Silverlight application access to storage resources on the client. It’s “isolated” because the store is partitioned per application, meaning no other applications can access files in your storage. On the other hand, your application (application defined by its URL) always gets the same storage, even if it’s run in a different browser.

Databinding: Silverlight now supports two-way, one-way, and one-time databinding between visible controls and classes in code that represent application logic. One-way and one-time databinding are for read-only controls. Two way databinding allows the user to make changes that automatically update classes in the model.

Design Pattern

Silverlight is developed with MVVM Model-View-ViewModel pattern. More information. View and ViewModel primarily works in Client side while Model (3 Tier architecture) works in Server side.

mvvm-thumb Layers

viewmodel

More information:

History Roadmap

Future Trend

DLR (dynamic language runtime)

The above core CLR has been developed to DLR though which capabilities were under estimated initially according to Mr. Scott. http://www.hanselman.com/blog/PuttingMixSilverlightTheCoreCLRAndTheDLRIntoContext.aspx

Developers can write .NET code using any development language (VB, C#, JavaScript, Python, Ruby and more) in the web-browser using DLR. (See below.) Compiled/JIT’ed JavaScript is at least 1000x faster than interpreted. Supports Windows and Mac OS X.

Now Framework 4.0 provides DLR support natively.

runtime

More information:

HTML 5

HTML5, a groundbreaking upgrade to the prominent Web presentation specification, could become a game-changer in Web application development, one that might even make obsolete such plug-in-based rich Internet application (RIA) technologies as Adobe Flash, Microsoft Silverlight, and Sun JavaFX.

More information:

Tools

  • Expression Studio - Design, asset management and interaction design application suite with XAML editing and Visual Studio integration, along with a Media Encoder.
  • Silverlight Streaming – More developer focused than YouTube, this service gives you 4GB of free storage and virtually unlimited streaming of video clips using Microsoft’s content deployment network.

References

Disclaimer

  1. All data and information provided on this page is for informational purposes only. The writings belong to their corresponding authors as mentioned in links and references. The information in this weblog is provided “AS IS” and confers no rights.
  2. The opinions expressed herein are my own personal opinions and do not represent my employer’s view in any way.

Share/Bookmark

No related posts.

Related posts brought to you by Yet Another Related Posts plug in.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect
India India
I have been programming for last 20 years on various platforms including .NET, Visual Basic 6, Oracle and SQL server.

I decided to write articles when I have free time hoping to share my thoughts with you.

To know more about me visit http://sabarinathanarthanari.com

Comments and Discussions

 
GeneralThanks Pin
Sabarinathan A6-Jul-10 3:25
professionalSabarinathan A6-Jul-10 3:25 
GeneralMy vote of 3 Pin
774655-Jul-10 22:01
774655-Jul-10 22:01 
GeneralNot really a misconception Pin
EbenRoux5-Jul-10 22:23
EbenRoux5-Jul-10 22:23 
GeneralRe: Not really a misconception Pin
774656-Jul-10 0:40
774656-Jul-10 0:40 
GeneralFuture: Death Pin
EbenRoux5-Jul-10 20:42
EbenRoux5-Jul-10 20:42 
I reckon Silverlight will have a hard time staying alive. Since SL 1 appeared I have yet to use a SL site. When I do come across one it either doesn't function properly or I end up thinking how simple an HTML implementation would have been. HTML 5 is on the way and *that* opens up the game even more.

But seriously: who controls the web? It most certainly is not programmers. More like web designers; and they are *never* going to use Expression Blend or Visual Studio. So why bother with SL? I have heard about ease of deployment; but riddle me this: how can MS Windows be upgraded just about every week without a browser? Simple, code a deployment mechanism into the software. Not that difficult, now is it?

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.