現在的消費者不僅僅要求通過個人電腦訪問互聯網上的資源他們還需要通過別的方式來訪問網站的設計者對此感到很苦惱他們的第一個本能的反映是通過一個現有的Web網站來創建多個導航路徑很多Web開發者使用這種機制來解決不同版本的浏覽器對HTML規范的支持程度不一樣的問題(例如有的版本的浏覽器能支持FRAME有的卻不能支持)盡管這種方式比較容易實現但是由於不同的設備需要不同的網頁顯示方式所以Web站點的頁面會隨著訪問設備的增加而呈現指數的增長這將會使網站的維護和管理變得很復雜所以Web開發者不得不尋求更好的解決之道
一XML和XSLT
XML 和XSLT已經成為解決浏覽網頁設備的獨立性問題的最有效的方法Web開發者能使用XML和XSLT來創建基於靜態的XML文檔和從數據庫返回的動態的XML數據流的網站網站設計者能創建XSL模板該模板應該接收一個XML數據流並將XML數據流轉換成用來浏覽網頁的設備所能識別的HTML開發者設計網站並發送被相應XSL模板轉換的HTML文件到客戶浏覽器而不用處理多路徑問題
從資源使用的立場來說因為每個網頁僅僅需要一個XML文件每種設備類型只要一個能處理XML文件的XSL模板所以這種創建Web站點的方法是很有效的但是如果從系統處理的立場來說因為當用戶浏覽網頁時這些網頁都要動態的生成而不是簡單的從硬盤中讀出就行了所以處理效率比較低
所不幸的是要實現上面的機制現在的設計者和開發者應該在XML和XSLT方面擁有更多的知識和經驗正是由於這方面的原因導致了現在我們的現實生活中很少有能支持移動設備的網站和Web應用程序
二使用MMIT
微軟試圖用NET Framework和Microsoft Mobile Internet Toolkit (MMIT)來解決通過多種移動設備來訪問網站的問題並且從一開始微軟就提倡將Visual Studio NET和NET Framework作為為移動設備開發連接式和斷開式應用程序的首要平台盡管支持斷開式模型的工具尚處於beta測試之中但是在幾個月以前就可以得到MMIT提供的支持創建連接式的應用程序的工具同時這些工具也將作為一種標准特性出現在Visual Studio NET和the NET Framework的下一個版本中
MMIT允許開發者創建支持移動設備的Web應用程序並且沒有象XSLT帶來的設備依賴性問題(因為每個設備需要它自己的XSL模板集)由於MMIT通過提供一套設備獨立的控制器和一套設備適配器所以開發者能使用它的設備獨立控制器來開發不依賴於設備的應用程序MMIT在Visual Studio NET的工具箱中放置了一些關於設備的控制器同時也提供了用於開發快速移動設備應用程序的一些模板一旦開發者完成應用程序的開發這些設備控制器就能發布到運行設備適配器的服務器上以便多個設備終端都能使用該設備控制器
當一個連接的移動設備請求一個使用MMIT控制器開發的網頁ASPNET運行引擎查詢該設備的浏覽能力並且為其指定一個相應的設備適配器該設備適配器自動的將從控制器返回的值轉換成設備能使用的格式設備適配器不僅處理顯示它還為設備生成管理和返回輸入值的標記語言代碼例如開發者能創建一個單頁面通過使用WAP它能被袖珍電腦或手機所浏覽設備的使用者可以使用袖珍電腦的手寫筆或手機的鍵來與網站進行交互ASPNET能識別設備適配器生成的代碼的返回數據並進行相應的處理
三各種方法的優點和缺點
並不是說如果開發移動通訊就一定要使用MMIT其實使用老式的XML 和XSLT技術也是可以的實際上NET Framework中內置的對XML規范的支持使得用XML 和XSLT技術來創建支持多設備的方法比用MMIT更容易但是要開發連接式的Web應用程序你可能依舊會首先考慮使用MMIT
使用MMIT方法你可以為應用程序設計一個訪問它的設備這樣當新設備可以使用以後你通過簡單的增加附加的設備適配器到ASPNET服務器中就可以使用該新設備了你也可以通過擴展現有的MMIT控制器來創建被現有的或將來的設備適配器所支持的設備控制器使用MMIT的另外一個關鍵性的好處是能利用ASPNET的內部狀態管理系統開發者如果創建基於XSLT的移動通訊應用程序就必須開發和維護自己的狀態管理方法
From:http://tw.wingwit.com/Article/program/net/201311/15763.html