Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Silverlight: Past, Present & Future

0.00/5 (No votes)
30 Jun 2010 1  
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 has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here