Silverlight 實務應用範例講座

Download Report

Transcript Silverlight 實務應用範例講座

Session Code :
Silverlight 實務應用範例講座
董大偉
MSDN講座專屬講師
1
本場次大綱
- Develop Rich Web Application with Silverlight
緣起 - 解決方案總是從問題而來
Silverlight 是什麼? 對你重要嗎?
Silverlight對Web應用程式的影響?
Silverlight將對你帶來怎樣的改變?
你應該怎麼使用/導入Silverlight開發技術?
Silverlight開發架構
Silverlight範例講座
Silverlight實務技巧
2
What's Silverlight?
- Develop Rich Web Application with Silverlight
3
解決方案總是從問題而來
- Develop Rich Web Application with Silverlight
Silverlight 的 5W 1H
WHAT - 什麼是Silverlight?
WHEN - 何時需要使用Silverlight?
WHY
- 為何要使用Silverlight?
WHO - Silverlight適合誰來使用?
WHERE - 在哪裡使用Silverlight?
HOW - 如何開發Silverlight 應用程式?
4
WHAT - 什麼是Silverlight?
- Develop Rich Web Application with Silverlight
微軟的RIA(Rich Interactive Application)開發技術
真正適合實現Web應用程式的解決方案
4.6M的Run-Time, 在瀏覽器中運行
類似FLASH/FLEX崁入網頁, 以ActiveX
形式存在
開發人員撰寫XAML碼和.cs或.vb指令,將建
置好的程式,放到網站上讓使用者下載到用
戶端執行…
5
Silverlight 2.0的架構圖
6
Silverlight 2.0的架構圖
7
WHEN - 何時需要使用Silverlight?
- Develop Rich Web Application with Silverlight
想拋開競爭對手時…
想讓客戶耳目一新時…
需要在網頁/Web AP上實現不易完成的UI時…
想降低Web開發成本時…(Really?)
想開發具架構(常用型, 非拋棄式)的Web應用程式
時…
8
Silverlight 2.0的開發架構
SilverLight 2.0開發架構
ASP.NET(Silverlight Web Control)
PHP、JSP、ASP
DB Server
XML Web
Services
Web Server(IIS、Others)
WCF、AJAX、WS、sockets
•VS2008 SP1
•Blend 2 SP1
•Silverlight SDK
•Silverlight 2.0(4.6MB)
XAML
(.xaml)
.Net Code
(.xaml.vb/.xaml.cs)
Silverlight Player 2.0
( 豐富的GUI能力 + .NET CLR支援 )
Browser
9
•IE 6.0+
•Mozilla Firefox
• Apple Safari
• Opera
•…
WHEN - 何時需要使用Silverlight?
- Develop Rich Web Application with Silverlight
現階段不適用
無法確定用戶瀏覽器狀態的環境
Mobile Solution
10
WHY - 為何要使用Silverlight?
- Develop Rich Web Application with Silverlight
徹底解決過去Web應用程式UI很難用的問題
一舉突破過去HTML框架的限制, 讓Web應用程式
開發更加自由
跳過莫名其妙的Postback, 與毫無道理的AJAX
提供網頁與應用程式的動態效果解決方案
為何不用FLASH/Flex?
11
WHO - Silverlight適合誰來使用?
- Develop Rich Web Application with Silverlight
ASP.NET (或其他Web)應用程式開發人員
Windows Form應用程式開發人員
坦白說…
12
WHERE - 在哪裡使用Silverlight? Develop Rich Web Application with Silverlight
網頁的一角
一整個網頁頁面 或 全螢幕
崁入在Windows應用程式中
崁入在MOSS網站中
以控制項型式出現在ASP.NET網頁當中
13
Demo
Silverlight可以做些什麼???
14
HOW - 如何開發Silverlight?
- Develop Rich Web Application with Silverlight
你需要準備的工具
VS2008 + SP1
Blend 2 + SP1
DeepZoom Composer
Silverlight Tools For VS2008 SP1
15
HOW - 如何開發Silverlight?
- Develop Rich Web Application with Silverlight
建議您學習的技術
XAML/ASP.NET/Silverlight
一般.NET 3.5開發技術
Web Service / WCF Service
LINQ (Language-Integrated Query)
LinqToSql / ADO.NET Entity Framework
ADO.NET Data Service
16
建立Silverlight 2.0應用程式開發工具
- 使用visual Studio 2008 SP 1+ Blend 2 SP1
17
•Page.Xaml
主場景,內含建立主場景的
Xaml指令碼、區域資源、動
畫指令、場景外觀…等。
•Page.Xaml.vb(或cs)
主場景對應的程式碼檔案,
用以控制主場景中的Xaml元
素、控件的事件處理…等。
此為主要的程式碼撰寫位置
18
•App.Xaml
全域應用程式宣告,主要用
於宣告全域資源…等工作。
•App.Xaml.vb(或cs)
全域應用程式碼,主要用於
處理全域定義、物件宣告、
初始化…等功能。
19
•Bin資料夾
Silverlight編譯後的檔案
TestPage.html為測試頁面
.dll檔案為編譯後的組件
.xap為壓縮格式檔案,將會
被複製到WebSite,內含.dll
與AppManifest.xaml
20
•ClientBin資料夾
Silverlight編譯且壓縮後
的.xap檔案,將複製到此資
料夾
再透過.aspx或.html頁面承
載.xap檔案
請注意:IIS必須設定為支援
XAP格式檔案
21
•TestPage.aspx
.aspx格式的測試頁面,內含
Silverlight控件(Web Control)
<asp:Silverlight ID="Xaml1"
runat="server"
Source="~/ClientBin/SilverlightA
pplication8.xap"
MinimumVersion="2.0.30523"
Width="100%" Height="100%"
/>
22
TestPage.html
.html格式的測試頁面,透過
<Object>標記承載.xap檔案。
<object
data="data:application/xsilverlight," type="application/xsilverlight-2-b2" width="100%"
height="100%">
<param name="source"
value="ClientBin/SilverlightAppli
cation8.xap"/>
</object>
23
建立Silverlight 2.0應用程式開發工具
- 使用visual Studio 2008 + Blend 2
24
建立Silverlight 2.0應用程式開發工具
- 使用visual Studio 2008 + Blend 2
25
建立Silverlight 2.0應用程式開發工具
- 使用visual Studio 2008 + Blend 2
 Visual Studio 2008 SP1

26
開發網站(.aspx or .html)
撰寫程式碼(.NET Code)
支援intellisense(xaml, html, js, vb,cs)
Expression Blend 2 SP1
開發操作介面(XAML)
支援所視即所得的UI設計、支援拖放
建立layout、開發動畫、變形...等畫面效果
Silverlight應用程式開發架構
- Develop Rich Web Application with Silverlight
27
Silverlight應用程式的開發架構
- Develop Rich Web Application with Silverlight
OK, 讓我們面對現實…
確實在有些應用程式開發中,架構並非優先考量
真實世界中的專案,總是在時間與成本下被拉扯
然而?開發架構對於開發人員是否有好處?
28
Silverlight應用程式的開發架構
- Develop Rich Web Application with Silverlight
與架構有關的一些字眼
Security(安全性)
Performance(效能)
Flexibility(彈性)
Scalability(延展性)
Dependency (相依性)
29
Silverlight應用程式的開發架構
- Develop Rich Web Application with Silverlight
與架構有關的一些字眼
單機版
Client-Server
N-tier
SOA
30
Silverlight應用程式的開發架構
- Develop Rich Web Application with Silverlight
Browser
(IE/Others)
31
Web Server
(WCF/WS)
AP Server
(Buseness
Object)
DB Serever
(StoreProc)
Silverlight應用程式的開發架構
- Develop Rich Web Application with Silverlight
Browser
(IE/Others)
Web Server
(WCF/WS)
AP Server
(Buseness
Object)
DB Serever
(StoreProc)
運行在Internet或Intranet
相關的開發技術:HTML、ASP.NET、Silverlight、Web
Service/WCF Service Call、REST Call
32
Silverlight應用程式的開發架構
- Develop Rich Web Application with Silverlight
Browser
(IE/Others)
Web Server
(WCF/WS)
AP Server
(Buseness
Object)
DB Serever
(StoreProc)
運行在Intranet
相關的開發技術:Web Service、WCF Service、
ADO.NET Data Service
33
Silverlight應用程式的開發架構
- Develop Rich Web Application with Silverlight
Browser
(IE/Others)
Web Server
(WCF/WS)
AP Server
(Buseness
Object)
運行在Intranet
相關的開發技術:ORM(LinqToSQL /
ADO.NET Entity Framework)、Windows
Service、.NET Enterprise Service
34
DB Serever
(StoreProc)
Silverlight應用程式的開發架構
- Develop Rich Web Application with Silverlight
為何要把應用程式分很多層?
降低相依性
便於維護與擴充、容易切割、降低開發/異動成本
提高延展性
有機會在不改變程式的狀況下提高效能
提高安全性
分層把關
35
Silverlight應用程式的開發架構
- Develop Rich Web Application with Silverlight
一個Silverlight的Web應用程式開發實例
用戶端介面展示層
Silverlight、ASP.NET
服務層
Web Service 、WCF Service
ADO.NET Data Service
AP Server
Business Logic / Data Access Class
ADO.NET Entity Framework / LinqToSql
DB Server(SQL Server)
36
Silverlight應用程式的開發架構
- Develop Rich Web Application with Silverlight
OK, 讓我們面對事實…
確實有些應用程式在開發中,架構並非優先考量
真實世界中的專案,總是在時間與成本下被拉扯
開發架構對於開發人員是否有好處?
Silverlight與生俱來的開發架構觀念
架構對開發人員是有好處的…
要問的是…你認為在這個專案中需不需要?
如果架構中的每一層,都是由同一個開發人員來
撰寫,架構是否還有意義?
37
Silverlight範例與相關技巧
- Develop Rich Web Application with Silverlight
38
Silverlight應用程式範例講座
- Develop Rich Web Application with Silverlight
Silverlight到底能做些什麼?
這些範例如何實現?
範例中的Silverlight相關重要技術
Silverlight與ASP.NET如何整合?
39
Summary
透過Silverlight得以開發出兼具架構與UI親和力的
Web應用程式
利用Silverlight可以輕易完成過去Web應用程式無
法達成的功能
讓你的產品縮短開發時間、降低開發成本、提高競
爭力、便於維護或異動
與現有技術相容,和ASP.NET相輔相成
具前瞻性、支援.NET 3.x以及未來的.NET重要技術
將適合的技術用在適當的場合…
40
Silverlight相關資源
筆者 BLOG http://blog.studyhost.com/
筆者 RUN!PC Silverlight專欄
書籍:Silverlight 2.0範例權威講座(旗標-董大偉)
MSDN網站Silverlight篇:
http://msdn.microsoft.com/zh-tw/library/cc838158(VS.95).aspx
41
- Develop Rich Web Application with Silverlight
42
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
43