Thursday, March 3, 2011

Learning Silverlight as a non .NET developer

There are several people about (myself being one of them) who have been developing RIA for a while now using Flex and AJAX. However Silverlight is now on the scene and worth picking up.

Question is, as someone who has never looked at .NET before, should I just dive in Silverlight and try and make up the bits I'm missing, or start somewhere else in .NET in order to get a foundation first?

From stackoverflow
  • I firmly believe in learning foundations first. I would start off by writing console apps - get the hang of collections, IO, the language itself (whether that's VB or C#, or even something else).

    It's probably worth learning a bit of "normal" WPF after that, on the grounds that it may well be easier to experiment that way than with Silverlight itself. (I can't say I've written any Silverlight myself yet.)

    If you dive straight into Silverlight, when you run into problems you won't know whether it's because you're unfamiliar with the language, the core platform, or Silverlight itself. You'll take a while longer to get going with my suggestion above, but once you've got going it'll be a much smoother ride, in my view.

  • A grounding in a .Net language is essential (C# is my preference, although I've also used VB.Net and IronPython which are both very useful languages). WPF/Silverlight is another layer on top of that.

  • First, do a quick assessment on what you want to achieve with Silverlight.

    If you are planning to create applications that will take advantage of Silverlight's multimedia capabilities, you might want to play around with Expression Blend first and then study .NET.

    If you're planning to build "Line fo Business" applications then you should learn .NET first.

    Once you have a good foundation in .NET it would be relatively easy to develop applications that will leverage the power of Silverlight.

    The Silverlight website's Learn Page is a good place to learn Silverlight specific stuff.

    A good book that I can recommend for someone staring to learn .NET using C# is John Sharp's "Microsoft Visual C# 2008 Step by Step" by Microsoft Press.

  • I'd repeat Jon Skeet's suggestion though I wouldn't learn WPF first.

    Silverlight is more of a subset of WPF and it's missing a few things which means your design "style" needs to be slightly different. (Commands and not being able to bind to visual elements are the two I've found to make my design slightly different from a WPF app)

0 comments:

Post a Comment