難得寫篇和工作有關的東西,隨着WinCE6.0 R3(請看馬寧老師爲我們第一時間帶來的Windows Embedded 6.0 R3開發初體驗)的發佈,咱這一直想說不敢說的嵌入式UI框架終於可以隨便亂講了。作爲一個早期用戶,此處我來貢獻點基礎知識,發個FAQ來讓大家有個印象:
Q1:Silverlight for Embedded是什麼?
A1:Silverlight for Embedded是一個在WinCE6.0 R3以上版本上可用的應用程序UI框架,它提供了一種邏輯和UI相分離的編程模型,可以大大減輕程序員的UI開發工作量,同時跟Silverlight/WPF類似的Xaml語法也讓程序員/視覺設計師在不同的領域之間有更多的知識交集,降低了學習成本。與Win32的GDI相比,Silverlight for Embedded更容易製作高質量的應用程序界面,也更容易修改和支持多種皮膚。
Q2:Silverlight for Embedded跟Silverlight有什麼關係?
A2:Silverlight for Embedded跟Silverlight使用了同一個渲染核心,你可以認爲Silverlight是用C#爲它編寫的一個shell,而Silverlight for Embedded則是用C++爲它編寫的另一個shell。Silverlight的目標是瀏覽器,而Silverlight for Embedded的目標是嵌入式應用程序(不久也許WinCE瀏覽器也會支持Silverlight插件)。
Q3:Silverlight for Embedded的文檔在哪裏可以找到?
A3:很遺憾Silverlight for Embedded目前文檔還沒有完成,但是Silverlight for Embedded跟Silverlight有非常相似的架構,你可以把MSDN上的Silverlight文檔當作參考,所有的不同僅僅是C++和C#的語言差異(事實上我們在過去一年的開發中一直是這樣做的),你也可以從微軟的技術支持部門或JDP項目獲得技術信息。
Q4:Silverlight for Embedded需要用什麼環境來開發呢?
A4:不必說首先我們需要一整套WinCE6.0 R3的運行環境,注意Silverlight for Embedded只能使用非託管C++來開發,我們需要對自己的項目做一些設置來引用Silverlight for Embedded(這個比較複雜,細節以後單獨發blog吧),此外Expression Blend可以幫助我們產生描述UI用的Xaml.
Q5:WinCE6.0 R3中有Silverlight for Embedded的應用嗎?
A5:請看我們新版的Browser,此外隨着WinCE6.0 R3還發布了一些小的示例程序。
Q6:相比Silverlight ,Silverlight for Embedded有哪些重大變動?
A6:除了語言從C#變成了C++,還有兩點比較大的改動:
1.無法繼承除UserControl的任何控件,即微軟之外的程序員無法編寫原生Control(Silverlight是可以的),但仍然可以用UserControl來組織你的界面
2.直接寫在Xaml中的事件回調函數將會被忽略,需要在C++代碼中查找元素名並且用C++代碼綁定事件
原文:http://www.cnblogs.com/winter-cn/archive/2009/11/09/1599422.html