Amadeus Consulting Explains the Magic Behind Microsoft Silverlight

Computers & TechnologyTechnology

  • Author Steve Loper
  • Published July 13, 2011
  • Word count 801

Understanding Microsoft Silverlight

Microsoft Silverlight® is a development platform that allows you to create powerful applications for the web, but also for mobile and enterprise systems. Silverlight is a mix between a strong architecture framework, which allows developers to create very powerful applications, and also excellent graphics capabilities which makes it ideal for media and data visualization. In fact, Silverlight is the technology the powers Netflix’s smooth streaming capability since it can deliver high quality video with very little buffering.

In many ways, Silverlight is the lesser known brother to Adobe® Flash®. Everyone is fairly familiar with Flash (it is on 93% of all computers), but Silverlight’s capabilities outshine what Flash can do.

Development

From a development perspective, one of the reasons that Silverlight excels is because it is based on .NET and C#, which are the two main enterprise development languages and are very familiar to most developers. Compared to Flash, which runs on a proprietary language called Action Script, programming in Silverlight has a very low learning curve and uses the same tools and skill set that are already familiar to developers.

Development in .NET and C# also makes it much easier to integrate into existing systems and databases. This helps take advantage of many of Silverlight’s unique features and gives developers much more power and capability with the system.

From a design perspective, it also separates the business layer from the UI layer, and even gives you the ability to "nest" HTML into your app which can make your rich Internet application SEO friendly, as our CEO has discussed previously on our blog.

This separation of the business and UI layers also makes it easier to control graphical elements through the use of XAML. XAML is also used extensively in .NET Framework, especially in Windows Presentation Foundation (WPF) and it used to define the rich UI components, data binding, eventing, workflows, and other features. The benefit is that it allows easy creation, editing and sharing of common UI elements, as well as making it easier to provide cross-platform compatibility.

Comparisons to JavaScript and Flash

One of Silverlight’s primary uses is in rich Internet application development. Rich Internet applications (RIAs) are small applications that run inside of a webpage and provide interactive capability and the ability to display high quality media.

In the case of Silverlight or Flash, these run inside of a plugin which acts as an intermediary between the app and the browser. The plugin is designed to work in each device and provide a sort of universal compatibility so app developers only need to create one version of the app and it will work on almost all computers.

Silverlight and Flash use the browser to manage communications, cookies and proxies, but they use their own UI elements (and can even access the computers GPU for faster graphics processing) that enhance what the browser can do itself.

JavaScript is a bit different. Instead of a compiled language, where all the code is put together ahead of time into a functioning application, JavaScript is a "run-time" language that interprets the code on the fly. JavaScript can be used to create fancy and interactive web pages and RIAs and is also intended as a "write once, run anywhere" type of language, except that it does not need its own plugin.

As a run-time language this makes it a bit harder to catch errors and find mistakes – something a compiled language will often do. The other major difference is that JavaScript is loosely typed, meaning that you don’t need to declare specific variables, which makes it easy for typos and simple errors (different capitalizations for variables and objects will cause errors or produce unexpected results).

As a side note, when browsers like Firefox or Chrome talk about being faster than their competition, they are often referring to their JavaScript engines which each use a slightly different method for running JavaScript code, which can create small differences in speed and performance.

Both JavaScript and Silverlight can run online or offline, although other forms of .NET are usually used instead of Silverlight if an app is going to be exclusively offline, though Silverlight is a very capable choice for mixed projects. For example, on a recent project for All Traffic Solutions, we created a Silverlight application that allows authorities to update road signs through the web or through a direct connection to the sign within the same application.

Deciding whether to use JavaScript and Silverlight for rich Internet applications is fairly straightforward since they both have their own defined strengths and benefits depending on which type of application you want. However, the differences between Silverlight and Flash are less distinct, so we encourage you to read our CEO’s thoughts on when Flash and Silverlight Design is Appropriate.

Steve Loper is the Quality Engineer at Amadeus Consulting. Steve has been recognized by Microsoft as a "Most Valuable Professional" and led the project that won the Microsoft XP Solution Challenge. Steve is regarded as one of the top .NET application and SQL Server database architects in the country, and currently oversees projects to ensure that a strong technical approach is put in place to address even the most complex issues.

Article source: https://articlebiz.com
This article has been viewed 866 times.

Rate article

Article comments

There are no posted comments.

Related articles