2.6 .NET/C#
根據維基百科(Wikipedia)的解釋,Microsoft .NET Framework 是由微軟開發,一個致力于敏捷軟件開發(Agile software development)、快速應用開發(Rapidapplication development )、跨平臺和網絡透明化的軟件開發平臺。.NETFramework 是以一種采用系統虛擬機運用的編程平臺,以通用語言運行時(Common Language Runtime)為基礎,支持多種語言(C#、VB.NET、C++、Python等)的開發。.NET 也為編程界面(API)提供了新功能和開發工具。這些革新使得程序設計員可以同時進行Windows 應用軟件和網絡應用軟件以及元件和服務(web service)的開發。.NET 提供了一個新的反射性的且面向對象程序設計編程界面。.NET 設計得足夠通用化從而使許多不同高級語言都得以被匯集。
2.6.1 使用.NET的優勢
使用.NET 框架(.NET Framework)最顯著的優勢在于當你使用這個框架編寫程序的時候,可以保證代碼能夠運用在所有安裝了.NET Framework 的虛擬機上。.NET Framework 已經被預裝在微軟已發布的最新操作系統(Windows Vista)里了,當然也就包括即將發布的Windows 7。
另一個優點就是代碼運用時“自動管理”,意思就是它不會讓你的系統崩潰,也不會降低系統的穩定性。從大范圍看,兼容性問題也要比原生的C++程序要少。
2.6.2 .NET的歷史和多點觸摸
.NET 2.0 沒有意個真正的預期想象的多點觸摸典型案例,因為.NET 2.0 缺少自由的用戶界面。它的目的是作為一個商業的應用程序框架,而不是更加豐富的用戶界面。只有在.NET 3,WPF 和Silverlight 中才提供了被用作多點觸摸應用程序開發的足夠條件。XAML 標記語言是可擴展的和相對自由的,它允許開發者開發豐富美觀且具有交互性的界面。
.NET 3 一開始也不是一個支持多點觸摸的平臺。Flash 在當時仍然是愛好者們最主要的設計和開發平臺,原因就在通過Touchlib 和TUIO 已經發展了很多的項目,而且這個方案可以很簡單地將觸摸信息發送到應用程序上。
在2007 年,Donovan Solms 創造了C# Touchlib Interface (CsTI). 它可以通過二進制連接將Touchlib 獲得的觸摸數據發送到.NET。CsTI 將觸摸事件轉換為.NET 經常使用的實際.NET 事件(actual .NET events)。另一種比較常見的方式是使用與Flash 相同的TUIO,然后獲取觸摸數據輸入到.NET 中。
從那時起,許多的.NET 多點觸摸框架(.NET multitouch Frameworks)被創造出來。使用MultiTouch Vista,你現在可以通過CCV 或者Touchlib 的安裝程序來控制Windows 7。Microsoft Surface 使用了.NET 來作為它的應用程序的基礎,.NET3,WPF,Silverlight 都支持3D。
XNA,微軟新的管理圖形的API,擁有更好的3D 支持,但是目前對它的了解有待繼續探索。
2.6.3 開始使用.NET來開發多點觸摸應用
首先,您需要決定是使用現有的框架還是自己開發新的框架,或者根據您的需求來擴展現有框架,畢竟它們很多都是開源的。下面是3 種備選方案以及如何使用它們進行開發。
使用現有的框架
現在確實有不少的.NET 多點觸摸框架(.NET multitouch Frameworks)可供選擇,它們一般被命名為WPF多點觸摸框架。比如MultiTouchVista支持Windows 7上的多點觸摸交互。
自己家開發新的框架
這個方案適用于有經驗的開發者。它需要與原始觸摸數據工作,所以要為這個框架解決如何建立一個事件系統,以及之間的算法,確定所有的底層操作和.NET 一般性的處理架構。
這兒有兩種途徑來獲取原始的觸摸數據然后輸入到.NET 中:
C# Touchlib Interface (CsTI) 和通過XMLSocket 連接到TUIO
其中,CsTI 是一個只能通過Touchlib 來工作的二進制連接方案,而通過XMLSocket 連接的TUIO 可以與Touchlib,CCV,ReacTIVision 中的任何一個進行協同工作,你可以從ReacTIVison 網站上獲得基本的實現過程的演示。現在,第一個.NET 多點觸摸框架已經不被社區所支持了,但是它的代碼仍然可以在Google Code 上找到,來作為學習的起點,只是起點而已。現在更多的人使用的是IInputProvider。關于這個,你可以在MSDN 上找到相關的解釋。
擴展現有的框架
這種方案適用于開發者找到了一個比較合適的框架,但是里面缺了自己需要的個別功能。在這種情況下,你只需要購買(有的框架是收費的)或免費獲取你所需要的部分,而后在它的許可證下進行二次開發,注意版權問題,哪怕是開源的。還有注意它的工作方式,以及這個框架現在是否還很活躍。
工具
大多數的.NET 程序員更喜歡微軟的Visual Studio,這個確實是一個完善的,多功能的.NET 集成開發平臺(IDE)。你可以從微軟的相關頁面上在線安裝或者下載完整的離線安裝包(ISO 格式),Express Editions(速成版)是免費的。