一次解決您對 .NET Framework、WPF、WPF/E、Silverlight、XAML、XBAP、Expression Studio( Web / Design / Blend / Media)… 所有的疑問


台灣市面上的爛書,90% 以上都是抄自使用手冊 ( 英翻中 ?! ),要不就是每一本書的前 2 / 3 都差不多 凸 =..= 凸。於是乎【火星人】大神俺就佛心大發:

把比上述更多的東東,全都建在 Blogger 上 !  ★ 放心,內文都是中英文對照 ★ ( 這些東東實在是太新了,俺寫的也難免會有錯誤,所以會不斷修正之 )


Ch 00 Overview

2007.0608
 
   .NET
 
   .NET Framework
 
   Windows Presentation Foundation(WPF)
 
   Silverlight(WPF/E)
 
   XAML
 
   XBAP
 
   Programming Tools for WPF
 
   Design Tools for WPF
 
   Tools and Controls for WPF
 
   DemoSites
 
   Silverlight 1.1
 
 
 

 
 
 
 
.NET
 
 
 
 
 

 
 
 
 
.NET Framework
 
 
Windows XP / Vista 未來程式的運作架構:.NET Framework 3.0 ( 舊稱 WinFX )
 
  
               ( WinFX 是作業系統與應用程式之間的橋樑 )
 
 
而 .NET Framework 3.0 則包含了
‧.NET Framework 2.0
‧Windows Presentation Foundation ( WPF, 舊稱 Avalon ) -- 圖形子系統
‧Windows Communication Foundation ( WCF, 舊稱 Indigo ) -- 通訊子系統
‧Windows Workflow Foundation ( WWF ) -- 把商業流程與網路上的應用加以結合
‧Windows CardSpace ( WCS, 舊稱 InfoCard ) -- 身份驗證
‧WinFS -- 文件子系統 ( 本來要取代 NTFS,但是現在已暫停開發 )
 

                                ( WinFX 是作業系統與應用程式之間的橋樑,但 .NET Framework 3.0 則擴充出更多的功能 )
 
 
簡言之:WinFX → 演變成 → .NET Framework 3.0 = .NET Framework 2.0 + WPF + WCF + WWF + WCS + … ( 但是不含 WinFS )
 
 
這些東東本來都與一般搞設計的無關
但是其中的 WPF,卻關係著次世代多媒體的設計與應用,故也不能不去瞭解 !

 
 
 

 
 
 
 
Windows Presentation Foundation(WPF)( Windows 多媒體的展示基礎:就是多媒體式的 UI 啦 )
 
 
WPF 是 Windows Vista 新的繪圖引擎: 提供了豐富的 graphics ( 2D ) , animation ( 動畫 ) , 3D 表現能力
 。Windows Vista 已內建 .NET Framework 3.0
 。Windows XP 必需已安裝 .NET Framework 3.0,才能支援 WPF
 
XAML = WPF 的介面 ( UI ) 語言
 傳統上要以 Visual Studio ( C# or VB ) 來寫一個具有漂亮 UI 的軟體是非常的麻煩
 這在 WPF 的情況下已大有改善:介面層採用 XAML,程式層則還是採用 C# or VB
 。XAML 的唸法 = [ ' zæməl ]
 。C# 的唸法 = C Sharp
 XAML 能做到的,C# or VB 都能做到 ( 只不過介面的部份以 XAML 來編製會容易很多 )
 C# or VB 能做到的部份,XAML 就不一定能做到了
 
WPF / E = Silverlight ( WPF / E = Windows Presentation Foundation / Everywhere, Everywhere = 跨平台、跨瀏覽器 )
 。WPF:作業系統與應用軟體 ( 桌面程式, 即 *.EXE )
 。WPF/E:網頁多媒體 ( Silverlight 很像是 FlashPlayer,但是功能更為強大 )
 
 講 Windows Presentation Foundation / Everywhere 其實很容易誤導大家
 講 XAML Everywhere 其實就好懂多了:WPF 並沒有 Everywhere,有 Everywhere 的只有 XAML
 應用了 WPF 中的 XAML 以達到 Everywhere 的目的 = WPF / E ( 只用到 XAML,並沒有用到 WPF )
 微軟也怕誤導大家認為 WPF / E = WPF 也可以跨 OS,故把 WPF /E 更名為 Silverlight
 
 但是 .NET Framework 3.0 並不包含 WPF / E ( 微軟在 Windows Vista 之後才推出 Silverlight )
 所以不管是 Vista or XP,都要再安裝 Silverlight,瀏覽器才能觀看 WPF / E 的多媒體效果
 
 請注意:筆者有時後為了與 WPF 對照的方便之故,會使用 WPF / E 一詞,有時後又會直接使用 Silverlight 一詞
     別忘了,WPF / E = Silverlight

Expression Blend = 微軟專為 WPF ( XAML )、WPF / E ( XAML ) 打造的編輯器
 
 
WPF 是 .NET Framework 3.0 的一部份:
故 WPF 的程式可以直接叫用 .NET Framework 豐富的 APIs,除了易於撰寫 WPF 的程式之外也與 Windows 整合得更緊密
 
Silverlight ( WPF /E ) 並不是 WPF 的一部份:
‧WPF /E 與 WPF 除了都支援 XAML 之外、WPF / E 與 WPF 除了名稱很像之外,這兩個東東在本質其實相差很多 !!
‧為了避免大家把 WPF / E 與 WPF 看成是很類似的東東,故微軟把 WPF / E 更名為 Silverlight
但是 Silverlight 在多媒體的支援廣度、展示效果與速度,還是優於 FlashPlayer
  
簡單來說,在相同的效果下,速度的快慢: WPF > WPF/E ( Silverlight ) > Apollo ( Flash / FlashPlayer / Flex ) > DHTML
 
 
 

 
 
 
 
Silverlight(WPF/E)
 
 
Flash 萬事受限於時間軸 ( Flash 時間軸的位階太高了,一切都被時間軸綁死 )
Silverlight 時間軸的位階沒那麼高,故在編製上,Silverlight 就比 Flash 彈性多了、也方便多了
 
說 Silverlight 是 FlashPlayer Killer,其實是小看了 Silverlight !!
說 Expression Blend 是 Flash Killer,一樣是小看了 Blend !!

 
 
Silverlight 運用了 WPF 裡面一個共通的技術:XAML
這讓開發 WPF / *.EXE、XBAP、Silverlight 的介面,不需要重複學好幾種不同的語言,一個 XAML 就吃到底
 

 
 
 
XAML = 微軟專為 WPF 與 WPF/E 所打造的 UI ( RIA / UX ) 開發語言
單獨的 WPF,目前是走不出 .NET 與 IE 的 Windows 系統
但是如下圖,Silverlight 一支援 XAML 之後,XAML 就可以在不需要 .NET ( Windows ) 的情況下跨 OS、跨 Browser、跨 Devices、跨商用、…
 

   
 
 
Silverlight 的 UI 表現能力,雖然略遜於 WPF 的應用 ( WPF / *.EXE or XBAP )
但是跨 OS + 跨 Browser + 跨 Device + RIA + 與 WPF 都使用相同的 XAML = 後勢可期 !!
就更遑論 Silverlight 在 UI ( RIA / UX ) 上是如何地超越 AJAX、PHP、JSP、ASP.NET 了
  

 
 
 

 
 
 
 
XAML
 
 
XAML = 微軟專為 WPF 與 WPF/E 所打造的開發語言
 
XAML 與 HTML / XML 很類似,都是文字標籤,不是很易於編製
就像 HTML 需要 Dreamweaver、Frontpage、Expression Web、…、等編輯器一樣,XAML 也需要一些視覺化的編輯器或是輔助工具
 
XAML 太新了,所以微軟就推出了自家的 XAML 編輯軟體:Expression Blend
只要是 XAML 檔,就可以載入再加工之
 
 
故 user 就需要各種不同類型的 XAML 轉檔工具,一旦轉成了 XAML 檔,就可以:
 
‧Expression Blend → 載入 XAML → ( C# or VB ) → 超華麗介面的桌面程式 ( *.exe )
 ( 因為可以直接叫用 .NET Framework 3.0、並支援 C# or VB,故功能非常強悍 )
 
‧Expression Blend → 載入 XAML → Silverlight → 多媒體、動態的網頁應用
 ( Silverlight 目前只支援 XAML,故功能沒有 WPF 那麼強悍 )
 
 
Adobe 要 Flash / Apollo 兩套貴貴軟體才能做的事,現在 Expression Blend 一套就可以做到了
 
 
 
2D 的 XAML】
 
 在 Expression BlendCtrl + I ( Add Existing Item ) 輸入檔案:
 
 
 
 
 可以發現在 2D 的方面只支援點陣圖 ( *.jpg 與 *.png ← 即:可以背景透明的 PNG-24 )
  所以就輸入一張背景透明的 PNG 檔:
 
 
 
 
 可以發現在 XAML 中,多了紅框那一行:( 點陣圖是以載入外部圖檔的方式嵌入 )
 
 
 
 
 但是向量圖該怎麼辦呢 ?! 方法至少有三種:
 
 第一、在 Expression Blend 直接繪製 ( 也可以填色,但先省略之 )
 
    
 
          即:向量檔變成了 XAML 檔 ( 不是以載入外部圖檔的方式嵌入,而是變成一串的 XAML 語法 )
 
 
 第二、在 Expression Design 中繪製好了之後,再輸出為 XAML 檔
 
    
      一樣是向量檔變成了一串的 XAML 語法
      ( 向量檔中若是包含點陣圖,其中的點陣圖還是會以載入外部圖檔的方式嵌入,不會變成一串的 XAML 語法 )
 
 
    Expression Design 就可以輸入 AI 檔,然後再轉成 XAML
 
    
 
 第三、Illustrator 也有可以輸出 XAML 檔的 Tools / Plug-Ins
 
 。XAML Exporter ( for Illustrator CS2 )
 
  這東東目前 ( 2007‧06 ) 還在 0.2 版,但卻很有趣:( 不是 Illustrator 的 Plug-Ins,是一個獨立的小軟體 )
  可以在開啟 Illustrator 與 XAML Exporter 之後,一按 XAML Exporter,就把 Illustrator 現行開啟的圖檔轉成 XAML
 
  
 
 
 。XAMLExport ( for Illustrator CS2 )
 
  這東東就是 Illustrator CS2 的 Plug-Ins 了,支援 WPF 與 WPF/E 的輸出,不過一樣只是 0.1x 版
 
  
 
  一則很多人的電腦跑 Illustrator CS2 會跑不太動、再則上述兩個都是 0.1 ~ 0.2 版
  故目前以 Expression Design 來把 AI 檔轉成 XAML 是最理想的方式
 
 
 
3D 的 XAML】
 
 
 。ZAM3D
 
  Flash 的 3D Tools - - Swift3D 聽過吧 ?! 對,就是同一家公司 ( Electric Rain ) 專為 XAML 打造的 3D Tools:
  是把 3D 檔 ( 3D 動畫亦可 ) 轉成一串的 XAML 語法喔,不是載入外部的 3D 檔喔 !!
 
  
 
  看個簡單的 小範例 唄 ( 必需已安裝 Silverlight )
 
 
  ZAM3D 可以載入 DXF / 3DS 檔,然後再轉成 XAML 檔:
 
  
 
 
 。3D 檔 → XAML
 
  這類的 Tools 非常多:
  有 MAYA to XAML、Lightwave to Xaml Converters、Online converter from 3ds to XAML、
  XAML Export Script for Blender ( 3D Tools for the WPF )、Deep Exploration、…
 
 
 
Audio / Video 的 XAML】
 
 
 。在 Expression Blend 中輸入 Audio 檔:以載入外部樂音檔的方式嵌入
 
  
 
 
 。在 Expression Blend 中輸入 Video 檔:以載入外部視訊檔的方式嵌入
 
  
 
 
 
至此下個簡單的結論:
 
‧XAML 是 WPF、WPF/W 共同的開發語言
 
‧微軟的 Expression Blend 是編製 XAML 的利器
  
‧向量檔與 3D 檔都可以轉成一串的 XAML 語法(Blend 可以載入該 XAML 檔再加工之)
  
‧點陣圖、聲音檔、視訊檔則都是以載入外部檔案的方式嵌入到 XAML 中(Blend 可以載入該 XAML 檔再加工之)
 
‧Silverlight 簡單來說就是 XAML Player

 
 
 

 
 
 
 
XBAP
 
 
XBAP ( XAML Browser Application ) = 以 XAML 來搞 UI、在瀏覽器 ( 把瀏覽器當 OS ) 中執行的程式,可取代過去的 ActiveX control ( 如 Flash )、Java Applet
 
安裝了 Visual Studio 2005 Extensions for .NET Framework 3.0 之後 ( 沒安裝前是顯示 WinFX ),就可以編撰 XBAP 的應用了:
( Expression Blend 2 Preview 目前為止,還無法直接生出 XBAP 的應用 )
  

 
 
同一個 XBAP 應用,可以發佈為 *.XBAP 的網頁格式:( 在 IE 中瀏覽 )
 

 
 
同一個 XBAP 應用也可以發佈為 *.EXE 的格式:( 即 Windows 應用程式 )
 

 
( 上兩圖摘自微軟網站 )
 
Visual Studio 2005 實在是非常強大的開發工具:
‧Visual Studio 2005 可以開發一般的 Windows 程式 ( 桌面程式,即 *.exe )
‧Visual Studio 2005 Extensions for .NET Framework 3.0 可以開發 WPF / XAML 華麗介面的 Windows 程式
‧Visual Studio 2005 Extensions for .NET Framework 3.0 可以開發 XBAP
‧Visual Studio 2005 的下一代 - - Visual Studio Orcas,更可以直接開發 Silverlight
 
 
 
很多時候 WPF / *.EXE 並不會比 XBAP 來得好用 ( 雖然單一應用來說,WPF / *.EXE 會比較強 ):
尤其是 XBAP + ClickOnce ( ClickOnce 與 XBAP 都是在 Visual Studio 2005 中發佈 )
XBAP 雖然只能在 .NET Framework 3.0 + IE 下執行 ( 不能跨平台 ),但是其網際網路的支援,比起 WPF / *.EXE 來說實用多了
 
 

 
( 本 Blogger 主要的 Target 是 Designer,不是 Programmer,所以 XBAP 也只點到為止 )
 
 
 

 
 
 
 
Programming Tools for WPF
 
 
Base Environment
 

作業系統與網頁 Plug-Ins 總得先備齊吧
Windows XP SP2 ( or Windows Server 2003 Service Pack 1 ) + .NET Framework 3.0 ( Windows Vista 已內建 .NET Framework 3.0 )
Silverlight
 
程式撰寫的環境
Visual Studio 2005 with SP1 and Windows Vista Support Files 
 ( 也有 Free 的 Visual Studio 2005 Express 可以下載,並已包含了大半會用到的功能 )
Visual Studio 2005 Extensions for .NET Framework 3.0 ( WCF & WPF )
 ( Visual Studio 2005 的下一代 - - Visual Studio Orcas Beta 1 也已經開放下載了 )
Windows SDK
‧Expression Blend
‧Expression Design
 
多媒體的編製環境
Microsoft Expression Studio 計有:
。Expression Web ( 網頁編製 )
。Expression Design ( 向量繪圖 )
。Expression Blend ( 多媒體編製與程式撰寫 )
。Expression Media ( 多媒體檔案管理 )
等 4 套軟體,但是只有 Expression DesignExpression Blend 才與 XAML 有關
 
 
Tools and Utilities
 
‧早期多半都是使用 WinFX SDK 中的 XAMLPad
 現在則有更好用的 XAML Pad 工具:XamlPadXKaxamlXamlCruncher
 上述三個 PadTools 各有所長,最好是全部下載試用後,再選一個適合自己的
 ( 別小看這些 Tools:Pad 類的 Tools,還是很多工程師的最愛 )
 
 XAMLpadX
 
 
 
 KaXAML
 
 
 
 XAML Cruncher
 
 
 
‧其它的 Tools:Lutz Roeder's .NET ReflectorSnoopPerformance Profiling Tools for WPFFlexible Application Template
 
 
Building a Code Toolbox
 
3D Tools for WPF ( 3D 表面控制 )、Kevin's Bag-o-Tricks ( 一堆控制物件 )、UI Automation Stress ( 壓力測試 )
 
 
Sample Applications
 
‧兩個 Visual Studio 範例
 。Healthcare Prototype
 。Woodgrove Finance Application
‧一個 視訊教學 ( 請先看這個,72.5MB )
 
 
Tips and Tricks
 
上述 ( Programming Tools for WPF ) 都是參考 Tim Sneath 的文章 ( 筆者有小部份增減 )
若是怕英文,就看 簡體版 唄。剩下的瑣碎部份,就不多提了
 
 
 

 
 
 
 
Design Tools for WPF
 
 
上述是工程師可能會用到的,所以那些英文他們自然看得懂
至若搞設計的就簡單多了:
 
Expression Blend
 專為 XAML 打造的編輯器
 
Expression Design
 專為 XAML 打造的繪圖軟體 ( 可以載入 AI 檔、再轉成 XAML )
 
  多媒體的編製環境
  Microsoft Expression Studio 計有:
  。Expression Web ( 網頁編製 )
  。Expression Design ( 向量繪圖 )
  。Expression Blend ( 多媒體編製與程式撰寫 )
  。Expression Media ( 多媒體檔案管理 )
  等 4 套軟體,但是只有 Expression DesignExpression Blend 才與 XAML 有關
 
Adobe Illustrator
 Illustrator CS2 已經有 Plug-Ins 可供 XAML 的輸出 ( 不過都只是 0.1 ~ 02. 版 )

ZAM 3D
 專為 XAML 打造的 3D 軟體 ( 可以載入 DXF 與 3DS 檔、再轉成 XAML )
 
 
  

 
 
 
 
Tools and Controls for WPF
 
 
XAML 編輯器
 
Expression Blend
 微軟自家的 XAML ( WPF、WPF/E ) 編輯器,把玩 WPF 的第一選擇 !!
 Blend 1.0 只支援 WPF / *.EXE,即將推出的 Blend 2.0 則支援 Silverlight

Expression Design
 RIA 的基礎一定是向量,故微軟也推出了 XAML 的向量編輯器 Expression Design
 除了可以原生出 XAML 檔之外,也可以讀入 Illustrator 檔、再轉成 XAML
 
Aurora XAML Designer
 你 Flash 是閃光對不對 ?! 你 Silverlight 是銀光閃閃對不對 ?!
 好,這家公司叫做極光 ( Aurora ),大家一起來閃一閃 =..=
 
 
  
 ( 這也是 XAML 的編輯器,但是試用版只能使用 20 次,故筆者沒充份的時間也不敢去 Try。不過看起來還不錯用 )
 
Visual Studio 2005 extensions for .NET Framework 3.0 ( WCF & WPF )
 在前面的 Programming Tools for WPF 中有提到:
 。Visual Studio 2005 with SP1 and Windows Vista Support Files
 。Visual Studio 2005 Express
 。Visual Studio Orcas Beta 1
 
 我們知道 Visual Studio 2005 的功能強大:可以編撰並發佈 WPF / *.EXE、XBAP、…
 所以
 。Visual Studio 2005 的 user 最好能下載並昇級到 SP1
  若是 Vista 的 user,當然就去下載 Windows Vista Support Files
 。如果想要把玩 .NET Framework 3.0 的新功能,就安裝 Visual Studio 2005 extensions for .NET Framework 3.0 ( WCF & WPF )
 。若是想嚐新,更可以去試用 Visual Studio Orcas Beta 1
 。當然啦,若是沒錢買 Visual Studio 2005,也可以去下載免費、而且具備 Visual Studio 2005 大半功能的 Visual Studio 2005 Express
 
‧當然啦,文字式的 XAML 編輯器也有利於徹底瞭解 XAML:XAMLPad、XAMLpadX 、KaXAML、XAML Cruncher
 
 
……………………………………………………………………………………………………………………………………………………………………………………
 
 
3D Tools for XAML

 
ZAM3D
 最方便、簡易、順手的 XAML 3D Tool
 
 ZAM3D 可以載入 3DS / DXF 檔:
 
 
 
 Expression Blend ( WPF / *.EXE ) 可以載入 obj 檔:
 
 
 
 有了 ZAM3D 與 Expression Blend,幾乎已不需要其它的 3D Tools 了
 
Deep Exploration
 可以輸入超過 40 種各種的 3D 格式檔、稍加修改之、輸出為 XAML 檔
 
 。Deep Exploration 5.0 CAD Edition:
 
  
 
 。沒有不支援的 3D 格式:( 3DS MAX、MAY、Softimage|XSI )
 
  
 
 。主畫面:
 
  
 
  。支援超多 3D 檔案格式間的轉檔:
 
  
  
MAYA to XAML
 免費的 MAYA 轉 XAML 工具
   
Online converter from 3ds to xaml
 線上轉檔 ( 3DS2XAML ) 的網站
 
Lightwave to Xaml Converters
 Lightwave 轉 XAML 工具
 
Xaml Export Script for Blender
 Blender 是一個跨平台、Free 的 3D 軟體 ( 宇宙大爛片蜘蛛人2,就是以 Blender 製作的 ),可以參考 WIKI
 
 
……………………………………………………………………………………………………………………………………………………………………………………
 
 
2D Tools for XAML

 
Fireworks to XAML Exporter
 把 Adobe / Macromedia 的 Fireworks 檔,輸出為 XAML
 
Adobe Illustrator to WPF/XAML Export Plug-In
 Iluustrator CS2 的 Plug-In ( 前面有提過 )
 
XamlXporter for Illustrator
 Illustrator CS2 的 XAML Tool ( 前面有提過 )
 
SWF2XAML: A Flash to XAML Conversion Tool
 把 SWF 檔轉成 XAML ( 也還只是 0.2 版 )
 
 
……………………………………………………………………………………………………………………………………………………………………………………
 
 
Controls
 
NetAdvantage for WPF 2007
 一堆 WPF 的 controls
 
Chart FX for WPF
 2D, 3D, animation, and data binding capabilities of WPF
 
Actipro Wizard
 遵循微軟 Wizard 97 的 WPF 控制元件
 
DataGrid for WPF
 免費、但是專業且全功能的 WPF 資料格 ( Data Drid ) 控制元件 ( Demo )
 
Wpf-Ribbon
 遵照 Office 2007 Ribbon ( 帶狀工具板 ) 的 WPF 控制元件
 該公司同時也有 Windows Forms 的 Ribbon control
 
Actipro Ribbon
 另一家 Office 2007 Ribbon ( 帶狀工具板 ) 的 WPF 控制元件
 
blendables
 一堆 WPF 的 controls
 
 
 

 
 
 
 
DemoSites
 
 
XBAP ( WindowsXP 需安裝 .NET Framework 3.0 )
 
 。日本旭山動物園 ( 右鍵轉地球,左鍵點選 )
 
 。Warner 華納
 
 。大英圖書館善本書展示
 
 。全球氣象圖 ( 右下角可以切換平面或是球體。左右鍵都有功能,三個寬扁藍鍵也有功能 )
 
 。CNET Japan ( 按 ↑ ↓ 鍵唄 )
 
 。SHISEIDO
 
 。小日本無厘頭的 Windows Vista ( 按左下角的攝影機,就可以 VR )
 
 。金融應用

 。Data Grids
  
 
Silverlight 1.0 ( 需安裝 Browser Plug-In: Silverlight 1.0 β )
 
 。FOX Movies ( 可以直接播放 WMV,不像 Flash 還要轉成 *.flv )
 
 。翻書效果 ( 右下角處一按,就有飛梭功能 )
 
 。YouTube - Like ( 輕鬆就搞出類似 YouTube 的效果 )
 
 。強力介面 ( 可縮放、拖曳移動 )
 
 。Office 2007 - Like
 
 。鍵盤鋼琴 ( Z ~ M:白鍵 SDGHJ:黑鍵 )
 
 
Silverlight 1.1 ( 需安裝 Browser Plug-In: Silverlight 1.0 α )
 
 。模擬航空訂票系統 ( 先拖曳兩個城市、再拖曳右側的日期,下方就會出現轉機等飛航資訊 )
 
 。影音播放 ( 先等它跑玩一次 ← Hosting 在國外,所以比較慢 )
  ‧在影音嵌入與播放面板等功能,Flash 完全不是對手
  ‧在視訊畫面上按一下,就全螢幕;再按一次 ( or 按 Esc 鍵 ),就恢復正常
 
 。社交圈
 
 。射擊遊戲 ( 按 ASDW 鍵 )
 
 。魔法寶石
 
 。西洋棋
 
 
 
Silverlight + 華麗的 WPF / *.EXE = Expression Blend 一套就搞定了
 
還需要 Adobe 貴貴的 Flash、Flash Player、Apollo 幹嗎 ?!
 
 
 

 
 
 
 
Silverlight 1.1
 
 

 
 
 
請先看看 Silverlight 1.1 的架構圖:( Click 看大圖 )
 

 
 
 
Application Platform
 
很重要地,.NET 支援 LAMP ( Linux + Apache + MySQL + PHP )
 

 
 
 
Services
 
Web Service 目前還是以支援微軟的為主
 

 
 
 
Tools
 
.NET 的主要開發軟體:Visual Studio ( Programmer ) 與 Expression Studio ( Designer )
 

 
 
 
Framework Languages
 
整個 .NET Framework 支援的程式語言:
‧主要的是 C#、VB、Jscript ( 微軟的 JavaScript,比一般的 JavaScript 架構更大,但也相容之 )
‧未來主要會再支援 VBx ( 即:VB 10 )
 

 
 
 
Platforms
 
Silverlight 1.1 除了 Windows 之外,也支援 Mac OSX
( 比較有趣的是,也將支援永遠不死的 Windows 2000 )
在 Browser 方面,則全數支援
 

 
 
 
Presentation Framework
 
展示層,看看就好。本系列是以設計為主,不是偏程式語言
 

 
 
 
Communications Framework
 
通訊層,看看就好
 

 
 
 
Data Framework
 
資料層,看看就好
 

 
 
 
Presentation Core
 
展示核心
支援所有的 Browser、支援 XAML、支援的多媒體格式夠多
 
很多人說 Silverlight ( WPF / E ) 是 WPF 的子集 ( subset ),這不是很正確的說法
應該說 Silverlight 支援的 XAML 是 WPF 的子集 ( 即:XAML 才是 WPF 的子集 )
 

 
 
 
Common Language Runtime(CLR)
 
這個 CLR ( 多種語言的通用執行環境 ) 就重要了:
Silvetlight 1.0 只支援 JavaScript,但是 Silverlight 1.1 就支援多種語言的通用執行環境
( Silverlight 1.1 也有 BCL, Base Class Library。CLR 與 BCL 是 Silverlight 1.1 最有力的雙手 )
 
如此,CLR 就可以做到:
‧記憶體管理
‧安全性驗證與執行
‧例外錯誤處理
‧執行 C# or VB 編譯後的程式,比原生的 JavaScript 快上數百倍

光是 CLR 與 BCL,就可以讓 FlashPlayer 變成玩具 ...
 

 
 
 
Base Classes
 
資料類別,看看就好
 

 
 
 
 
 
跟 Silverlight 1.1 相較,FlashPlayer 有著先天上的缺陷:
 
‧FlashPlayer 沒有 OS 相關技術的直接支援
 
‧FlashPlayer 的技術老舊、架構也不周全
 
‧FlashPlayer 只有 ActionScript 一種語言
 
 。對工程師來說太簡單,所以不屑玩(故反而不會玩,因為要先克服 Flash 的基礎用法)
 
 。對設計師而言則太難,所以沒幾個人會玩

筆者搞的一些小作品 筆者搞的 Flash 破解 Silverlight 俺搞的 30 首小曲子 ( 每首約花半個小時編曲 ) 在 PDF 檔嵌入 Flash ( 丑角與交趾陶的編製過程 ) IE-Based CD Title ( 筆者八百年前搞的 )