Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Picking up Silverlight

Tags:

silverlight

I absolutely have no idea about Silverlight except that it is a Microsoft technology. Having nearly completed a Computer Science degree, having programmed in C# for a few years in a work environment - have a good knowledge of Java and OO techniques - how hard is the road of average Silverlight programming? I've been offered some work DAMN IT!

I've mucked around with PHP, HTML and nearly no CSS..

Would I need a strong web programming background in order to pick it up?

like image 810
lb. Avatar asked Aug 18 '09 22:08

lb.


People also ask

How do I access Silverlight?

You must use a browser that supports Silverlight content to access a Silverlight page. To work around this issue on versions 42 to 44 of Chrome, follow these steps: On the address bar in Chrome, type chrome://flags/#enable-npapi . In the Enable NPAPI Mac, Windows box, click Enable.

Is Silverlight a security risk?

Vulnerabilities in . NET Framework and Microsoft Silverlight Allow Code Execution (MS12-016) is a high risk vulnerability that is one of the most frequently found on networks around the world.

What is Silverlight on my computer?

Microsoft Silverlight is a free web-browser plug-in that enables interactive media experiences, rich business applications and immersive mobile apps.


2 Answers

I like Ben's answer, and he's right that a huge bonus of learning Silverlight is that you don't have to worry about the stateless model. However, there are a few parts of Silverlight that are less easy to learn:

  • Styling & control templates - These concepts look like CSS at first but there's a good bit more that you can do with them such as completely overriding the visual aspects of the control. Also, modifying the styles of existing controls is one thing and learning how to create your own control that can be easily styled is quite another.
  • Database connectivity - If you're anything like me the first thing you'll want to do after you write a "hello world" test is hook up to a Db and pull down some data. Since Silverlight can't directly connect to a Db you'll have to learn one of 3 techniques to move data between the browser and server: 1. WCF + your custom service methods + LINQ to SQL or LINQ to EF or whatever data access you choose. 2. ADO.NET Data Services (great way to start out) 3. .NET RIA Services (once you've realized that you need your data access technology to play nice with data binding and honor biz rules).
  • Security - You need to learn another part of the MS technology stack to get this working properly, ASP.NET Application Services. It should take more than a few hours to hook things up but it is another technology to learn.
  • Browser navigation, search engine friendliness & deep linking - Things you take for granted writing a traditional web app will take a bit more work in SL. You can use .NET RIA Services to handle browser navigation & deep linking, others have written about making your site friendly to search engines (and I don't know how ;).

What I'm trying to highlight here is that while learning the basics of Silverlight is easy, you'll probably run into other parts of the MS technology stack that you'll need to learn to get your work done. The beautiful thing here is that all of the technologies come from 1 vendor with a single focus and they work really well together. I shudder when I think about all the different technologies you'd need to pull off my current SL app in the open source domain.

Pick up the book "Silverlight Unleashed" and go to http://silverlight.net/GetStarted to start learning. Scott Gu's 8 part blog posting (#3 on that Getting Started web page) was one of the first things I read about Silverlight and is hugely helpful.

like image 114
James Cadd Avatar answered Sep 23 '22 21:09

James Cadd


Unless your Silverlight app has to interact with a traditional web page, you don't need to know anything about traditional web UI technologies.

If you've done any desktop UI development you'll find Silverlight much easier to pick up than any web UI paradigm. Compared to the unholy mess that is css + html + javascript combined with ever-changing browsers and fourteen other hundred-author web "standards", Silverlight is a walk in the park.

like image 45
Ben M Avatar answered Sep 21 '22 21:09

Ben M