views:

433

answers:

9

Recently I just got assigned a project to develop a web application/site that uses the full capacity of Silverlight 3.0. I am a beginner in web development and so far I am more of a software engineer guy rather than messing stuff with web development.

However, I am really excited for this new experience as I feel that I can explore more. So I just started learning the .NET Framework, C#, and a bit of ASP.NET the last 3 days.

Just to let you know my background in programming, I have programmed in Java and C for 3 years as of now so I am quite experienced with it. Any suggestions that you can give me?

The project will start in 1.5 month from now so I got some stuff to catch up with. I think my approach first is to understand the concept of .NET and ASP.NET first and then in the end learn Silverlight. I believe C# wouldn't be too hard, looking at my background that I have.

Can you recommend some good books and other resources that would help me out in my study process?

A: 

It all depends on the timeline of your project and how much of the application is Silverlight based and how much is actually going to be based in ASP.NET (Silverlight 3 adds out of browser support, so there might not be much ASP.NET involved).

If the majority of the code is in Silverlight 3, I would start with the following:

  1. .NET Framework Overview
  2. Basic C#
  3. Asynchronous/Distributed C# (will be good for network communications in Silverlight)
  4. Silverlight Design/Development
  5. ASP.NET

I think the hardest part is going to be getting the Silverlight application to be visually appealing (unless, of course, there's going to be a designer involved to handle the UX).

Justin Niessner
+6  A: 

Without a doubt check out the videos and tutorials on:

bendewey
A: 

If you have a good amount of Java experience, C# is a breeze. It's the same idea with different capabilities and implementation. So, your collections classes have different names, generics looks slightly different, and your threading stuff is done a little differently. Think of the stuff you do often and the Java objects/frameworks/libraries you use often and just find the .Net equivalents.

I don't believe anything like LINQ exists in Java, so that's a really cool aspect of .Net programming to take a look at. This book has a great quick introduction to LINQ concepts and the rest can be used as a reference.

Silverlight/XAML/WPF is pretty simple, but it comes with a really big framework and a ton of things to learn because it's so flexible. http://silverlight.net/ and http://windowsclient.net/learn/ have some great videos for you to pick a feature or two to use as a basis to get up to speed with a number of concepts of silverlight, c#, .net etc. Sounds like you don't have the time to take down several books, so these videos should be pretty cool, and there's tons to choose from.

As far as what specifically to learn about Silverlight, I'd say the binding is probably the coolest feature. And, take a look at animations, because that's a really cool aspect that is fairly easy to implement.

Here's a PDF WPF binding expression cheat sheet to use as a reference. And, here is a pretty simple example of doing Silverlight animations in C#.

Rich
A: 

I think the hardest part is going to be getting the Silverlight >>application to be visually appealing

This is somewhat true and what I am actually scared me off right now. I am a computer science and not a graphic designer, so my skills in artistic and designs should suck more than those people that does have talent in this area. Can you give me some ideas that would cover me up these holes I have??

By the way the project timeline is for 2 months...

I actually have time to read books regarding silverlight, maybe if you can suggest one book that is really great and you can recommend I would buy it. Thanks everyone for the suggestions

EquinoX
A: 

As a Java/C programmer, probably the biggest challenge will be getting your head around and into the way Silverlight (and WPF) work. If you approach them as if it was a traditional UI toolkit such as the Win32 API, you are going to come unstuck.

I found WPF Unleashed good for getting into WPF (after initially struggling with the concepts). Hopefully Silverlight2 Unleashed will be as good, although I havent read it.

The learning curve is painful, however once things "click" you wont go back.

geofftnz
A: 

I am not familiar with what WPF is, is that tightly related to silverlight and necessary needed to understand silverlight? Also throughout the books that I read so far about .NET and ASP.NET it talks a lot about XML, which I have no idea what it is.. can someone please enlighten me?

My plan is try to get as much .NET and ASP.NET along with C# (which I don't think is tough to understand) as much as I can till the end of this month and after that focus solely on Silverlight 3.0.

Also should I be familiar with MS Server 08, AJAX/Java script??

EquinoX
A: 

In this time, Silverlight 3 is in Beta 1 phrase. So you can't find any completely e-Book to tell you about all feature in Silverlight.

First of all, you must learn c# with asp.net application. After that, you should read Silverlight 2 e-book(I suggest "Pro Silverlight 2 in C# 2008"). Moreover, you should to learn some related technology on .net platform like WCF, LINQ, Sql Server 2008.

Last, you need to focus on some new features in Silverlight 3 and some features in Silverlight 2.

  • Out of Browser. try to create Silverlight application that support both in of browser and out of browser(But difference UI).

  • Static Typing with Dynamic Loading that help you to reduce Xap file size but it's still strong reference.

  • Resource in Silverlight. It help you to create dynamic Silverlight application.

  • Animation that help you to create better UX.

Advance

  • Pixel Shader. that help you to create great UX by GPU render.(In Beta 1 you can't use GPU to render) If you need to create custom shader you need to install DirectX SDK to test you custom shader.

    sampler2D input : register(s0); float4 main(float2 uv : TEXCOORD) : COLOR { float4 Color; Color = tex2D( input , uv.xy); return Color; }

Soul_Master
A: 

Perhaps the best way to think about Silverlight is to think of it like Flash. It is primarly about visuals and not traditional programming. Silverlight will run entirely on the client and in the browser. You can not use it for such things as accessing databases on the server for example.

To build a compete Website and or web application you will need to use more than just Silverlight.

You do not need to use C# with Silverlight, you can use JavaScript. Since you are already proficent in Java, that may be a better choice for you.

At the MIX09 conference, where Silverlight 3 was announced, there were several excellent presentations on Silverlight 3, which adds many new features not present in Silverlight 2. You can download and watch these videos from http://videos.visitmix.com/MIX09.

JonnyBoats
A: 

At the MIX09 conference, where Silverlight 3 was announced, there were several excellent presentations on Silverlight 3, which adds many new features not present in Silverlight 2. You can download and watch these videos from http://videos.visitmix.com/MIX09.

Thanks for pointing that out. I've actually have watched all the videos about Silverlight 3.0 in the mix conference. It was pretty amazing I suppose...

If Silverlight was something that runs on the client side therefore I won't need to store that much stuff in the database.. am I right?

What are some example applications that uses Silverlight that might use database? As of right now I am just confused on how C# and ASP.NET can be tied to Silverlight. Maybe I haven't got that far in my .NET knowledge.

EquinoX
Some type of service (WCF, WebServices, REST, etc) is the best data exchange for Silverlight. Silverlight has tons of support for WCF Services.
Nate Bross