Silverlight Roadmap
文章信息
Contents |
简介
Silverlight是Windows Phone上最重要的开发方式,同时也是Windows 8上使用XAML开发Metro程序的一个很常用的方式。因此学好Silverlight可以说是至关重要的。
本文提供了一个roadmap,让广大爱好Windows Phone的开发人员可以找到Silverlight相关的资源学习。因为我们面向的对象是Windows Phone开发人员,所以我们不会介绍Windows Phone中不支持的功能,例如WCF RIA Services。Windows Phone 7.1使用的Silverlight版本是4,所以我们也不会介绍Silverlight 5中的新功能。
第一部分:准备工作
在学习Silverlight之前,最好拥有如下知识:
推荐的参考资料
- SOA的基本概念 (Service Oriented Architecture):十年以来,SOA的架构屹立不倒。Windows Phone作为一个客户端设备,在整个架构中仅仅扮演者一个客户端的地位。了解了SOA之后,你会明白什么事情适合在Windows Phone上做,什么不适合。
- 云计算的基本概念:云计算从某种意义上来说是SOA的扩展和衍生。如今我们生活在一个云加端的世界中。而Windows Phone正是一种类型的端。通常一个Windows Phone程序并不是孤立的,而是通过各种云服务和整个世界连接在一起的。很多在手机上难以实现的功能(例如朗读文本,语音识别,等等),都可以轻松通过调用云服务来实现。
- SOAP和REST的基本概念:为了和服务器打交道,最常见的方式是调用SOAP web service以及REST service。当然,如今REST的使用远远要比SOAP来的广范,很多手机都只支持REST,所以大家可以着重调查REST。不过,和iPhone以及Android不同的是,Windows Phone也提供了最最基本的SOAP支持。
- C# (包括C# 4.0的功能,例如dynamic types):虽然Windows Phone也支持VB,但是大多数开发人员会选择C#,所以你需要了解C#这门语言。 Windows Phone目前支持到C# 4.0,如果你对C# 4.0中的一些新功能尚不了解,可以参考New Features in C# 4.0。
- LINQ:LINQ是.NET中非常常用的一个组件,我们推荐每个Windows Phone开发人员都能掌握。请注意LINQ绝不仅仅是LINQ to SQL和Entity Framework,事实上Windows Phone开发人员很少会直接和数据库打交道,更多的会使用LINQ to XML以及最基本的LINQ to Object。请参考LINQ (Language-Integrated Query)
第二部分:Silverlight入门
推荐的参考资料
- Silverlight简介: http://msdn.microsoft.com/en-us/library/bb404703
- 入门教程(完成了入门教程,你将建立起一个简单但是有一定功能的Silverlight程序): http://weblogs.asp.net/scottgu/pages/silverlight-2-end-to-end-tutorial-building-a-digg-search-client.aspx
- 更多快速上手教程: http://www.silverlight.net/learn
- Windows Phone Training Course(在这一阶段你可以着力于最前面的几个教程,它们介绍了Silverlight的基础知识:http://msdn.microsoft.com/en-us/WindowsPhoneTrainingCourse_HelloPhoneWP7Lab以及http://msdn.microsoft.com/en-us/WindowsPhoneTrainingCourse_YourFirstWP7AppLab。
更多资料
如果你有时间,可以学习以下更多的资料:
- Silverlight Beginner’s Training Course(介绍Silverlight 4的新功能): http://msdn.microsoft.com/en-us/gg315272
- 一本Silverlight入门级的书:Beginning Silverlight 4 in C#
第三部分:基本概念和Building Blocks
推荐的参考资料
- XAML(了解XAML的机制):
http://msdn.microsoft.com/en-us/library/cc189054(VS.95).aspx
- Application Model(这里介绍的是浏览器中Silverlight程序的模型,有部分和Windows Phone不尽相同,但是也有很多知识是可以通用的。不过,你不用关心和浏览器打交道,JavaScript这些概念)
http://msdn.microsoft.com/en-us/library/cc903934(VS.95).aspx
- 基础概念(了解DependencyProperty和RoutedEvent)这两个基本概念
http://msdn.microsoft.com/en-us/library/cc221412(VS.95).aspx
- Input(了解Silverlight的input系统,大多数和鼠标相关的事件在Windows Phone中也可以使用,但是键盘事件就不行了)
http://msdn.microsoft.com/en-us/library/cc645086(VS.95).aspx
- 图形(了解如何在Silverlight中使用矢量图形和为图)
http://msdn.microsoft.com/en-us/library/cc189060(VS.95).aspx
- 动画(了解制作动画的方法)
http://msdn.microsoft.com/en-us/library/cc189090(VS.95).aspx
- 视频和音频(了解如何播放电影和歌曲,最好也能队encoding有一些认识)http://msdn.microsoft.com/en-us/library/cc189027(VS.95).aspx
- 布局(了解Silverlight的布局系统,以及如何使用内置的panel,例如Grid和StackPanel)
http://msdn.microsoft.com/en-us/library/cc645025(VS.95).aspx
- 控件(在学习控件时应该致力于控件模型,而不是具体某个控件该如何使用。事实上Silverlight的控件模型和Windows Phone是通用的,但是很多具体的控件并不是。例如,Windows Phone不支持DataGrid)
http://msdn.microsoft.com/en-us/library/cc189048(VS.95).aspx
- Style和template(其实也是控件模型的一部分)
http://msdn.microsoft.com/en-us/library/cc278068(VS.95).aspx
- 数据绑定(非常常用的一个功能)
http://msdn.microsoft.com/en-us/library/cc278072(VS.95).aspx
- 访问云服务(推荐主要调查访问REST service的方法)
http://msdn.microsoft.com/en-us/library/cc296254(VS.95).aspx
- WCF SOAP Services(若是你想在微软平台上创建SOAP服务,WCF是首选)
http://msdn.microsoft.com/en-us/library/ms731067.aspx
- ASP.NET Web API(若是你想在微软平台上创建REST服务,ASP.NET Web API是首选)http://www.asp.net/web-api
更多资料
如果你有时间,可以学习以下更多的资料:
- 一本中级程度的Silverlight书籍:Pro Silverlight 4 in C#
其它参考资料
除了开发之外,Silverlight还涉及到界面设计以及电影/音乐编码,通常我们会使用Expression Blend和Expression Encoder这两个工具,若是你对它们感兴趣,下面是一些参考资料。
- Expression Blend Training:http://www.microsoft.com/expression/resources/BlendTraining/
- Expression Encoder Training:http://expression.microsoft.com/en-us/cc197144.aspx
讨论区
Silverlight论坛:http://forums.silverlight.net/ 部分Silverlight FAQ: http://forums.silverlight.net/p/95440/218611.aspx/1?Silverlight+General+FAQ http://forums.silverlight.net/t/167001.aspx


(no comments yet)