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.
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.
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.
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
- 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.
- The opinions expressed herein are my own personal opinions and do not represent my employer’s view in any way.
CodeProject
No related posts.
Related posts brought to you by Yet Another Related Posts plug in.