基于 Windows Mobile 的 Pocket PC 和 Smartphone 的開發(fā)工具簡介Microsoft Corporation 2003 年 8 月 適用于: 摘要:本文主要介紹為基于 Windows Powered 和 Windows Mobile 的設(shè)備開發(fā)應(yīng)用程序的工具和支持技術(shù)。文中不僅列出了各種工具支持的平臺,還提供了一些開發(fā)方案以及針對各種方案選擇工具和技術(shù)的指南。(本文包含一些指向英文站點的鏈接。) 目錄簡介 自 1996 年推出 Microsoft® Windows® CE 操作系統(tǒng),以及之后不久推出 Handheld PC 1.0 版產(chǎn)品以來,Microsoft 已經(jīng)提供了很多功能強(qiáng)大且日益專業(yè)化的工具,幫助開發(fā)人員在基于 Windows Mobile™ 的平臺上滿足特定的需求并完成應(yīng)用程序任務(wù)。目前,Microsoft 又推出多種工具軟件包,用于在基于 Windows Mobile 的 Pocket PC 和 Smartphone 上構(gòu)建應(yīng)用程序。 本白皮書向開發(fā)人員介紹了 Windows Mobile 應(yīng)用程序開發(fā)工具的現(xiàn)狀以及這些工具的發(fā)展前景。它可以幫助開發(fā)人員確定哪些開發(fā)工具最適合他們的需求,各種工具應(yīng)該在什么情況下使用,以及在開始移動應(yīng)用程序項目之前,移動應(yīng)用程序開發(fā)人員需要做哪些準(zhǔn)備工作。本文還對比了幾種工具的優(yōu)點。 雖然目前移動開發(fā)工具的選擇多種多樣,而且還將繼續(xù)增加,但 Microsoft 的最終目標(biāo)是創(chuàng)建一個統(tǒng)一的開發(fā)環(huán)境以滿足所有移動應(yīng)用程序開發(fā)的需要,包括將移動開發(fā)工具集成到 Microsoft Visual Studio® .NET 的核心產(chǎn)品中。 移動應(yīng)用程序開發(fā)工具以下幾節(jié)概要介紹目前可在基于 Windows Mobile 的 Pocket PC 和 Smartphone 上使用的工具。閱讀工具的說明時,開發(fā)人員應(yīng)該將這些工具放在使用本機(jī)、托管或服務(wù)器端代碼的背景下來考慮:
eMbedded Visual Tools 3.0Microsoft eMbedded Visual Tools 3.0 為構(gòu)建移動應(yīng)用程序提供了一個入口級的集成開發(fā)環(huán)境,包括必要的編譯器、調(diào)試和平臺文檔。eMbedded Visual Tools 3.0 包括 Microsoft eMbedded Visual C++® 3.0 (eVC 3.0) 和 eMbedded Visual Basic® 3.0 (eVB 3.0)。這兩種工具都是獨立的開發(fā)環(huán)境,不需要運行任何其他開發(fā)環(huán)境,如 Microsoft Visual Studio 或 Visual Studio .NET。 要開發(fā)基于 Windows Mobile 的設(shè)備,所有工具都需要使用目標(biāo)設(shè)備的平臺軟件開發(fā)套件(SDK)。eMbedded Visual Tools 3.0 的 2002 版包括用于目前所有 Windows Mobile 設(shè)備(包括 Pocket PC 2002 和 Smartphone 2002)的 SDK。非 Windows Mobile 系列的設(shè)備的 SDK 應(yīng)該從設(shè)備的制造商處獲得。 您可以從 http://www.microsoft.com/windowsmobile/resources/downloads/developer/default.mspx 免費下載 eMbedded Visual Tools 3.0 - 2002 Edition。 有關(guān) eMbedded Visual Tools 的詳細(xì)信息,請參閱 http://msdn.microsoft.com/vstudio/device/embedded/default.asp。 eMbedded Visual C++ 3.0Microsoft eMbedded Visual C++ 3.0 開發(fā)系統(tǒng)為基于 Windows Mobile 的開發(fā)提供了本機(jī)代碼的 C++ 編譯器。如果安裝了正確的 SDK,可以用它為所有基于 Windows CE 2.11 和 3.0 的設(shè)備開發(fā)應(yīng)用程序。eMbedded Visual C++ 調(diào)試器通過 Microsoft ActiveSync® 使用有線、無線 LAN 或基座連接工作。 此外,它還提供了可用于 Pocket PC 2002 和 Smartphone 2002 設(shè)備的軟件仿真器。在發(fā)布 Pocket PC 2002 時,Microsoft 推出了一種用于 Pocket PC 2002 SDK 的新型仿真器,它更接近于真正的基于 Windows Mobile 的設(shè)備。這種新型的仿真器可以在虛擬的 PC Shell 中運行真正的 Windows CE 二進(jìn)制文件。Smartphone 2002、Pocket PC 2003 和 Smartphone 2003 的 SDK 也使用這種新型的仿真器。 eMbedded Visual C++ 可用于:
eMbedded Visual Basic 3.0eMbedded Visual Basic 3.0 支持使用 Visual Basic 語言編寫的應(yīng)用程序,得到的 P 代碼在運行時解釋。盡管大多數(shù)基于 Windows Mobile 的設(shè)備具備內(nèi)置的功能,以運行使用 eMbedded Visual Basic 構(gòu)建的應(yīng)用程序,但一些自定義的基于 Windows CE 的嵌入式硬件平臺可能不包含 eMbedded Visual Basic 運行時。Pocket PC 的 Windows Mobile 2003 軟件就不包含 Visual Basic 運行時,但可以從 Windows Mobile Developer Downloads 下載。 eMbedded Visual Basic 是一種腳本語言,而不是具備全部功能的 Visual Basic 語言。因此,Visual Basic 6.0 中為桌面系統(tǒng)提供的很多語言功能在 eMbedded Visual Basic 3.0 中都不受支持。例如:
eMbedded Visual Basic 不能用于為基于 Windows Mobile 2002 的 Smartphone 開發(fā)應(yīng)用程序。鑒于此,加之其他一些原因(包括為了進(jìn)一步發(fā)展壯大 Visual Basic .NET 開發(fā)團(tuán)體),eMbedded Visual Basic 技術(shù)已逐漸被淘汰,取而代之的是功能更加強(qiáng)大的 Visual Basic .NET 語言。Microsoft 建議開發(fā)人員使用 Visual Basic .NET 創(chuàng)建所有新的 Pocket PC 應(yīng)用程序,使用 eMbedded Visual Basic 維護(hù)早期版本的應(yīng)用程序。 eMbedded Visual C++ 4.0Microsoft eMbedded Visual C++ 4.0 支持新的基于 Windows CE. NET 4.2 設(shè)備的開發(fā),而且安裝發(fā)布的 Service Pack 之后,支持用于 Pocket PC 和 Smartphone 的 Windows Mobile™ 2003 軟件(以前的代碼名為“Ozone”)。eMbedded Visual C++ 4.0 是使用本機(jī)代碼在 Windows CE .NET 4.2 上為移動或嵌入式設(shè)備開發(fā)應(yīng)用程序的理想軟件。eMbedded Visual C++ 4.0 的增強(qiáng)功能包括:
您可以從 Developer Downloads 下載 eMbedded Visual C++ 4.0、eVC 4.0 Service Pack 2,以及用于 Pocket PC 的 Windows Mobile 2003 軟件的 SDK。 請從 Windows Mobile 2003-based Smartphones Downloads 下載 Smartphone 2003 SDK。 Visual Studio .NET 2003 的 Smart Device Programmability 功能Visual Studio .NET 的 Smart Device Programmability (SDP) 功能(以前稱作 Smart Device Extensions [SDE])可以幫助開發(fā)人員利用 Microsoft .NET Compact Framework 編寫移動應(yīng)用程序,從而在連接或斷開的情況下啟用分布式的移動計算。使用 .NET Compact Framework 中提供的大量類庫,開發(fā)人員編寫應(yīng)用程序的速度可以比使用傳統(tǒng)工具快得多。 使用 Visual Studio .NET 2003,開發(fā)人員可以使用在桌面系統(tǒng)開發(fā)中用到的相同工具和技術(shù)來開發(fā) Pocket PC 2002(如果具備相應(yīng)的 SDK)以及 Pocket PC 和 Smartphone 2003。它將安裝 .NET Compact Framework,這是專門為資源有限的設(shè)備設(shè)計的。開發(fā)人員可以使用新的 C# 語言或者 Visual Basic .NET 語言來開發(fā)移動和嵌入式設(shè)備。它還可以很好地用于使用 XML Web Service 或 ADO.NET 的應(yīng)用程序。 Visual Studio .NET 2003 可用于:
有關(guān) Visual Studio .NET 的 Smart Device Programmability 功能的詳細(xì)信息,請參閱 Smart Device Programmability。 ASP.NET Mobile ControlsASP.NET Mobile Controls(以前稱作 Microsoft Mobile Internet Toolkit [MMIT]),是對 Smart Device Programmability 和 .NET Compact Framework 的補(bǔ)充。ASP.NET Mobile Controls 通過啟用 ASP.NET 將標(biāo)記發(fā)送到多種多樣的移動設(shè)備中,從而擴(kuò)展了 .NET Compact Framework 和 Visual Studio .NET 構(gòu)建移動 Web 應(yīng)用程序的功能。使用這種方法,開發(fā)人員可以利用 Visual Studio .NET 構(gòu)建一個移動 Web 應(yīng)用程序,這個程序可以自動調(diào)整其頁面呈現(xiàn)方式以適應(yīng)各種設(shè)備,如啟用 Internet 的移動電話、尋呼機(jī)和 PDA(如 Pocket PC 等)。它還能簡化開發(fā)任務(wù),因為它已集成到 Visual Studio .NET 集成設(shè)計環(huán)境 (IDE) 中,允許開發(fā)人員通過將控件拖到移動 Web 窗體上來構(gòu)建移動 Web 應(yīng)用程序。 ASP.NET 不會在客戶端設(shè)備上安裝任何組件。相反,它會利用服務(wù)器端邏輯,以適應(yīng)特定設(shè)備的 Web 瀏覽器的呈現(xiàn)方式。它可以生成無線標(biāo)記語言 (WML)、HTML 和精簡的 HTML (cHTML)。 除了適應(yīng)性很強(qiáng)的 Web 頁面呈現(xiàn)之外,ASP.NET 還為實現(xiàn)自定義和可擴(kuò)展提供了豐富的框架,并提供了一種簡單的擴(kuò)展控件的方法,以使控件可以適應(yīng)即將上市的各種新型設(shè)備。另外,ASP.NET 還允許開發(fā)人員在同一編程模型內(nèi)控制針對特定設(shè)備或設(shè)備類別的呈現(xiàn)方式,允許開發(fā)人員輕松地添加對新設(shè)備的支持,而不必重新編寫他們的移動 Web 應(yīng)用程序。 ASP.NET Mobile Controls 可用于:
注意:ASP.NET Mobile Controls 不需要安裝任何客戶端。但是,目標(biāo)設(shè)備必須具備客戶端 Web 瀏覽器。 有關(guān) Microsoft ASP.NET Mobile Controls 的詳細(xì)信息,請參閱 Mobile Web Development with ASP.NET。 Microsoft SQL Server 2000 Windows CE Edition 2.0 版Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 2.0 版是精簡的數(shù)據(jù)庫,可用于迅速開發(fā)將企業(yè)數(shù)據(jù)管理能力擴(kuò)展至移動設(shè)備的應(yīng)用程序。SQL Server CE 是一種功能強(qiáng)大的工具,它支持用戶熟悉的結(jié)構(gòu)化查詢語言 (SQL) 語法,并提供與 SQL Server 一致的開發(fā)模型和 API,從而使移動應(yīng)用程序的開發(fā)更加簡單易行。 SQL Server CE 引擎提供了一套基本的關(guān)系數(shù)據(jù)庫功能,如優(yōu)化查詢處理器和對事務(wù)及各種數(shù)據(jù)類型的支持,同時它還維護(hù)保留重要系統(tǒng)資源的精簡內(nèi)存空間。遠(yuǎn)程數(shù)據(jù)訪問和合并復(fù)制可以確??煽康匕l(fā)送 SQL Server 數(shù)據(jù)庫中的數(shù)據(jù);既可以脫機(jī)操作,又可以在日后與服務(wù)器同步,這些優(yōu)勢使得 SQL Server CE 成為用于移動和無線環(huán)境的理想軟件。 SQL Server CE 2.0 可以通過 Visual Studio .NET 與 .NET Compact Framework 集成,從而簡化了智能設(shè)備的數(shù)據(jù)庫應(yīng)用程序開發(fā)。使用新的 SQL Server CE 數(shù)據(jù)提供程序通過公共語言運行庫管理代碼,移動應(yīng)用程序開發(fā)人員可以在斷開的情況下,建立具有脫機(jī)數(shù)據(jù)管理功能的高度可擴(kuò)展應(yīng)用程序。 在以下情況下,可以將 SQL Server CE 作為開發(fā)工具的補(bǔ)充:
有關(guān) SQL Server CE 的詳細(xì)信息,請參閱 Build Better Applications with SQL Server CE 2.0。 工具對比表下表概要介紹了不同工具的各種功能。 在短期內(nèi),開發(fā)基于 Windows Mobile 設(shè)備的最常用工具仍是用于 Pocket PC 2000 和 2002 的 eMbedded Visual Tools 3.0、用于 Smartphone 2002 的 eMbedded Visual C++ 3.0,以及用于 Pocket PC 和 Smartphone 2003 的 eMbedded Visual C++ 4.0。最終,Visual Studio .NET 及其提供的 Smart Device Programmability (SDP) 功能將成為所有基于 Windows Mobile 設(shè)備的開發(fā)平臺。 服務(wù)器端代碼還是客戶端代碼?使用服務(wù)器端代碼還是使用客戶端代碼,取決于幾個條件。應(yīng)用程序的方案雖然各不相同,但是這些條件能夠幫助您為應(yīng)用程序的用戶選擇最佳的解決方案。
在開發(fā)基于 Windows Mobile 的 Pocket PC 和 Smartphone 之前,您需要準(zhǔn)備什么呢?在開發(fā) Pocket PC 和 Smartphone 之前,您要準(zhǔn)備的內(nèi)容取決于您要開發(fā)什么,以及要開發(fā)的設(shè)備。在大多數(shù)情況下,您需要具備集成的開發(fā)環(huán)境,以及要開發(fā)的設(shè)備的 SDK 或擴(kuò)展。幸運的是,您可以在一臺計算機(jī)上開發(fā)所有的基于 Windows Mobile 的設(shè)備,因為所有工具都可以在這兩類設(shè)備上共存。有關(guān)我們推薦的安裝順序,請參閱附錄。 目前,eMbedded Visual Tools IDE 和所需的 SDK 都是免費的,可以通過 Web 下載。 哪種工具 . . . 何時?性能、控制或資源對我來說非常重要。例如,我要編寫一個游戲、設(shè)備驅(qū)動程序或者一個 Active X 組件…… 如果您打算開發(fā)運行 Windows Mobile 2003 軟件的 Pocket PC 和 Smartphone,只需從 Developer Downloads 下載 eMbedded Visual C++ 4.0 Service Pack 2 和 Pocket PC 2003 SDK。您還可以使用 Smartphone 2003 SDK 為 Smartphone 開發(fā) Windows Mobile™ 2003 軟件。 要支持早期的 Pocket PC、Pocket PC 2002 和 Smartphone 2002 設(shè)備,您還需要下載 eMbedded Visual Tools 3.0 - 2002 Edition。 如果您需要維護(hù)開發(fā) Handheld PC Professional Edition、Handheld PC 2000 或 Palm Size PC 1.2 的應(yīng)用程序,可以下載 SDKs for eMbedded Visual Tools 3.0。 我要在一個安全、可靠的環(huán)境中快速開發(fā)應(yīng)用程序,我可能要訪問 Web 服務(wù)…… 我要編寫一個具有最大的代碼可移植性的客戶端應(yīng)用程序…… 我要利用自己掌握的 Visual Studio .NET 2003、Visual C#、Visual Basic.Net 或 .NET Framework 知識…… 我們建議您使用 Visual Studio .NET 2003 中的 Smart Device Programmability 功能。.NET Compact Framework 是內(nèi)置到基于 Windows Mobile 2003 的 Pocket PC 和 Smartphone 中的。它可以用于 Pocket PC 2002,但必須安裝到設(shè)備上。 我要開發(fā) Smartphone 2002…… 您應(yīng)該下載 eMbedded Visual Tools 3.0 - 2002 Edition。 如果您希望在真正的設(shè)備上測試應(yīng)用程序,但是您所在的地區(qū)尚無 Smartphone,或者 Smartphone 不支持開發(fā),您可以購買 Smartphone Developer Kit。 我要使用一個代碼庫開發(fā) Pocket PC 2002 和 Pocket PC 2003…… 您可以用兩種方法構(gòu)建您的應(yīng)用程序:
我要使用一個代碼庫開發(fā) Smartphone 2002 和 Smartphone 2003…… .NET Compact Framework 不能用于 Smartphone 2002。要編寫一個代碼庫以在 Smartphone 2002 和 Smartphone 2003 上運行,您必須使用本機(jī)代碼并使用 eMbedded Visual C++ 3.0 編譯您的應(yīng)用程序。 我要維護(hù)用 eMbedded Visual Basic 編寫的應(yīng)用程序…… 您應(yīng)該下載 eMbedded Visual Tools 3.0 - 2002 Edition,它包含 eMbedded Visual Basic 的開發(fā)環(huán)境、仿真器和 SDK。 請考慮使用 Visual Basic .NET 2003 將應(yīng)用程序?qū)С龅?.NET Compact Framework。 我要為可以在瘦客戶端環(huán)境中運行的各種移動設(shè)備編寫應(yīng)用程序。我要維護(hù)用 eMbedded Visual Basic 編寫的應(yīng)用程序…… 您應(yīng)該在 Visual Studio .NET 2003 中使用 ASP.Net Mobile Controls。有關(guān)詳細(xì)信息,請參閱 Mobile Web Development with ASP.NET。 小結(jié)Microsoft 致力于在移動設(shè)備市場取得長期成功,并幫助開發(fā)人員為他們的企業(yè)用戶和客戶提供功能豐富、強(qiáng)大的移動應(yīng)用程序。目前的基于 Windows Mobile 的應(yīng)用程序開發(fā)語言提供了一系列令人難以置信的能力和靈活性。 隨著新的移動設(shè)備不斷問世,Microsoft 將繼續(xù)推出更加尖端、更加統(tǒng)一的開發(fā)工具,幫助開發(fā)人員快速地設(shè)計和開發(fā)利用 Web 服務(wù)等技術(shù)的新的應(yīng)用程序,以及利用基于 .NET 集成能力的系統(tǒng)。有了這些實用的工具,移動應(yīng)用程序開發(fā)團(tuán)體將不斷為快速發(fā)展的市場提供滿足市場要求的應(yīng)用程序。 附錄:移動應(yīng)用程序開發(fā)工具的推薦安裝順序為確保在 Windows Mobile 軟件的各種開發(fā)工具之間獲得最大的互操作性,我們建議您按照以下順序安裝這些工具和 SDK。如果您沒有或者不需要其中的某種工具,則不必專門來獲取這種工具,因為這不會影響其他工具之間的互操作。 以下安裝步驟要求您使用具有本機(jī)管理員權(quán)限的帳戶登錄到計算機(jī)。
|
|