? ? ? ? 以下幾節(jié)概要介紹目前可在基于 Windows Mobile 的 Pocket PC 和 Smartphone 上使用的工具午绳。閱讀工具的說(shuō)明時(shí),開發(fā)人員應(yīng)該將這些工具放在使用本機(jī)铭腕、托管或服務(wù)器端代碼的背景下來(lái)考慮:
使用本機(jī)代碼是為了獲得較高的性能他匪,當(dāng)您需要直接訪問(wèn)硬件或者資源有限的情況下使用。
使用托管代碼是為了開發(fā)以用戶界面為中心的應(yīng)用程序倦西,這種應(yīng)用程序要求盡快面世或者要求開發(fā)速度很快。如果想輕松地訪問(wèn)Web 服務(wù),也可以使用托管代碼杠步。
使用服務(wù)器端代碼是為了使用一個(gè)代碼集開發(fā)適用于多種設(shè)備的應(yīng)用程序,這需要保證設(shè)備有足夠的數(shù)據(jù)帶寬榜轿。
eMbedded Visual Tools 3.0
Microsoft eMbedded Visual Tools 3.0 為構(gòu)建移動(dòng)應(yīng)用程序提供了一個(gè)入口級(jí)的集成開發(fā)環(huán)境幽歼,包括必要的編譯器、調(diào)試和平臺(tái)文檔谬盐。eMbedded Visual Tools 3.0 包括 Microsoft eMbedded Visual C++ 3.0 (eVC 3.0) 和 eMbedded Visual Basic 3.0 (eVB 3.0)甸私。這兩種工具都是獨(dú)立的開發(fā)環(huán)境,不需要運(yùn)行任何其他開發(fā)環(huán)境飞傀。
要開發(fā)基于 Windows Mobile 的設(shè)備皇型,所有工具都需要使用目標(biāo)設(shè)備的平臺(tái)軟件開發(fā)套件(SDK)。eMbedded Visual Tools 3.0 的 2002 版包括用于目前所有 Windows Mobile 設(shè)備(包括 Pocket PC 2002 和 Smartphone 2002)的 SDK砸烦。非 Windows Mobile 系列的設(shè)備的 SDK 應(yīng)該從設(shè)備的制造商處獲得弃鸦。
eMbedded Visual C++ 3.0
Microsoft 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)試器通過(guò) Microsoft ActiveSync使用有線、無(wú)線 LAN 或基座連接工作雪隧。
此外西轩,它還提供了可用于 Pocket PC 2002 和 Smartphone 2002 設(shè)備的軟件仿真器。在發(fā)布 Pocket PC 2002 時(shí)脑沿,Microsoft 推出了一種用于 Pocket PC 2002 SDK 的新型仿真器藕畔,它更接近于真正的基于 Windows Mobile 的設(shè)備。這種新型的仿真器可以在虛擬的 PC Shell 中運(yùn)行真正的 Windows CE 二進(jìn)制文件庄拇。Smartphone 2002注服、Pocket PC 2003 和 Smartphone 2003 的 SDK 也使用這種新型的仿真器。
eMbedded Visual C++ 可用于:
Pocket PC 或任何其他基于 Windows Mobile 的設(shè)備的驅(qū)動(dòng)程序
在設(shè)備上本機(jī)運(yùn)行的應(yīng)用程序
通過(guò) Game API (GAPI) 使用高速圖形的游戲
具有很高處理需求的應(yīng)用程序
COM 服務(wù)器或 Microsoft ActiveX 控件
eMbedded Visual Basic 3.0
eMbedded Visual Basic 3.0 支持使用 Visual Basic 語(yǔ)言編寫的應(yīng)用程序措近,得到的 P 代碼在運(yùn)行時(shí)解釋溶弟。盡管大多數(shù)基于 Windows Mobile 的設(shè)備具備內(nèi)置的功能,以運(yùn)行使用 eMbedded Visual Basic 構(gòu)建的應(yīng)用程序瞭郑,但一些自定義的基于 Windows CE 的嵌入式硬件平臺(tái)可能不包含 eMbedded Visual Basic 運(yùn)行時(shí)辜御。Pocket PC 的 Windows Mobile 2003 軟件就不包含 Visual Basic 運(yùn)行時(shí),但可以從 Windows Mobile Developer Downloads 下載屈张。
eMbedded Visual Basic 是一種腳本語(yǔ)言擒权,而不是具備全部功能的 Visual Basic 語(yǔ)言袱巨。因此,Visual Basic 6.0 中為桌面系統(tǒng)提供的很多語(yǔ)言功能在 eMbedded Visual Basic 3.0 中都不受支持碳抄。例如:
1愉老、默認(rèn)情況下,所有變量均為 Variant 類型剖效,嚴(yán)格類型不受支持嫉入。
2、不能使用 eMbedded Visual Basic開發(fā) ActiveX 控件璧尸,但是可以集成幾個(gè)
3咒林、Visual Basic 原有的控件不受支持,而且還缺少一些屬性
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 語(yǔ)言。Microsoft 建議開發(fā)人員使用 Visual Basic .NET 創(chuàng)建所有新的 Pocket PC 應(yīng)用程序捌议,使用 eMbedded Visual Basic 維護(hù)早期版本的應(yīng)用程序哼拔。
eMbedded Visual C++ 4.0
Microsoft 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 上為移動(dòng)或嵌入式設(shè)備開發(fā)應(yīng)用程序的理想軟件。eMbedded Visual C++ 4.0 的增強(qiáng)功能包括:
1宫补、實(shí)時(shí)調(diào)試檬姥,以診斷未處理的異常
2、C++ 結(jié)構(gòu)化的異常處理
3粉怕、“附加到”進(jìn)程健民,以獲得增強(qiáng)的進(jìn)程調(diào)試能力
4、更好地與新型仿真器集成
Visual Studio.NET2003的Smart Device Programmability功能
Visual Studio .NET 的 Smart Device Programmability(SDP) 功能(以前稱作 Smart Device Extensions [SDE])可以幫助開發(fā)人員利用 Microsoft .NET Compact Framework 編寫移動(dòng)應(yīng)用程序贫贝,從而在連接或斷開的情況下啟用分布式的移動(dòng)計(jì)算秉犹。使用 .NET Compact Framework 中提供的大量類庫(kù),開發(fā)人員編寫應(yīng)用程序的速度可以比使用傳統(tǒng)工具快得多稚晚。
使用 Visual Studio .NET 2003崇堵,開發(fā)人員可以使用在桌面系統(tǒng)開發(fā)中用到的相同工具和技術(shù)來(lái)開發(fā) Pocket PC 2002(如果具備相應(yīng)的 SDK)以及 Pocket PC 和 Smartphone 2003。它將安裝 .NET Compact Framework客燕,這是專門為資源有限的設(shè)備設(shè)計(jì)的鸳劳。開發(fā)人員可以使用新的 C# 語(yǔ)言或者 Visual Basic .NET 語(yǔ)言來(lái)開發(fā)移動(dòng)和嵌入式設(shè)備。它還可以很好地用于使用 XML Web Service 或ADO.NET 的應(yīng)用程序也搓。
Visual Studio .NET 2003 可用于:
1棍辕、利用 Web 服務(wù)的應(yīng)用程序
2暮现、在連接或斷開的環(huán)境中都必須正常運(yùn)行的應(yīng)用程序
3、使用 Visual Basic .NET 或 C# 開發(fā)應(yīng)用程序
4楚昭、當(dāng)您希望使用相同的工具進(jìn)行桌面栖袋、服務(wù)器和設(shè)備編程時(shí)
5、快速開發(fā)的移動(dòng)應(yīng)用程序
6抚太、提供可靠且安全的環(huán)境的軟件
可移植到具有不同 CPU 或各種 Windows 版本的不同設(shè)備的應(yīng)用程序
ASP.NET Mobile Controls
ASP.NET Mobile Controls(以前稱作 Microsoft Mobile Internet Toolkit [MMIT])塘幅,是對(duì)Smart Device Programmability 和.NET Compact Framework 的補(bǔ)充。ASP.NET Mobile Controls通過(guò)啟用 ASP.NET 將標(biāo)記發(fā)送到多種多樣的移動(dòng)設(shè)備中尿贫,從而擴(kuò)展了 .NET Compact Framework 和 Visual Studio .NET 構(gòu)建移動(dòng) Web 應(yīng)用程序的功能电媳。使用這種方法,開發(fā)人員可以利用 Visual Studio .NET 構(gòu)建一個(gè)移動(dòng) Web 應(yīng)用程序庆亡,這個(gè)程序可以自動(dòng)調(diào)整其頁(yè)面呈現(xiàn)方式以適應(yīng)各種設(shè)備匾乓,如啟用 Internet 的移動(dòng)電話、尋呼機(jī)和 PDA(如 Pocket PC 等)又谋。它還能簡(jiǎn)化開發(fā)任務(wù)拼缝,因?yàn)樗鸭傻?Visual Studio .NET 集成設(shè)計(jì)環(huán)境 (IDE) 中,允許開發(fā)人員通過(guò)將控件拖到移動(dòng) Web 窗體上來(lái)構(gòu)建移動(dòng) Web 應(yīng)用程序彰亥。
ASP.NET 不會(huì)在客戶端設(shè)備上安裝任何組件咧七。相反,它會(huì)利用服務(wù)器端邏輯任斋,以適應(yīng)特定設(shè)備的 Web 瀏覽器的呈現(xiàn)方式继阻。它可以生成無(wú)線標(biāo)記語(yǔ)言 (WML)、HTML 和精簡(jiǎn)的 HTML (cHTML)废酷。
除了適應(yīng)性很強(qiáng)的 Web 頁(yè)面呈現(xiàn)之外瘟檩,ASP.NET 還為實(shí)現(xiàn)自定義和可擴(kuò)展提供了豐富的框架,并提供了一種簡(jiǎn)單的擴(kuò)展控件的方法澈蟆,以使控件可以適應(yīng)即將上市的各種新型設(shè)備芒帕。另外,ASP.NET 還允許開發(fā)人員在同一編程模型內(nèi)控制針對(duì)特定設(shè)備或設(shè)備類別的呈現(xiàn)方式丰介,允許開發(fā)人員輕松地添加對(duì)新設(shè)備的支持背蟆,而不必重新編寫他們的移動(dòng) Web 應(yīng)用程序。
ASP.NET Mobile Controls 可用于:
1哮幢、支持各種啟用 Web 的設(shè)備(移動(dòng)電話带膀、尋呼機(jī)、PDA)
2橙垢、支持各種標(biāo)記語(yǔ)言(WML垛叨、cHTML、HTML)
注意:ASP.NET Mobile Controls 不需要安裝任何客戶端。但是嗽元,目標(biāo)設(shè)備必須具備客戶端 Web 瀏覽器敛纲。
Microsoft SQL Server 2000 Windows CE Edition 2.0 版
Microsoft SQL Server 2000 Windows CE Edition (SQL Server CE) 2.0 版是精簡(jiǎn)的數(shù)據(jù)庫(kù),可用于迅速開發(fā)將企業(yè)數(shù)據(jù)管理能力擴(kuò)展至移動(dòng)設(shè)備的應(yīng)用程序剂癌。SQL Server CE 是一種功能強(qiáng)大的工具淤翔,它支持用戶熟悉的結(jié)構(gòu)化查詢語(yǔ)言 (SQL) 語(yǔ)法,并提供與 SQL Server 一致的開發(fā)模型和 API佩谷,從而使移動(dòng)應(yīng)用程序的開發(fā)更加簡(jiǎn)單易行旁壮。
SQL Server CE 引擎提供了一套基本的關(guān)系數(shù)據(jù)庫(kù)功能,如優(yōu)化查詢處理器和對(duì)事務(wù)及各種數(shù)據(jù)類型的支持谐檀,同時(shí)它還維護(hù)保留重要系統(tǒng)資源的精簡(jiǎn)內(nèi)存空間抡谐。遠(yuǎn)程數(shù)據(jù)訪問(wèn)和合并復(fù)制可以確保可靠地發(fā)送 SQL Server 數(shù)據(jù)庫(kù)中的數(shù)據(jù)桐猬;既可以脫機(jī)操作麦撵,又可以在日后與服務(wù)器同步,這些優(yōu)勢(shì)使得 SQL Server CE 成為用于移動(dòng)和無(wú)線環(huán)境的理想軟件溃肪。
SQL Server CE 2.0 可以通過(guò) Visual Studio .NET 與 .NET Compact Framework 集成免胃,從而簡(jiǎn)化了智能設(shè)備的數(shù)據(jù)庫(kù)應(yīng)用程序開發(fā)。使用新的 SQL Server CE 數(shù)據(jù)提供程序通過(guò)公共語(yǔ)言運(yùn)行庫(kù)管理代碼乍惊,移動(dòng)應(yīng)用程序開發(fā)人員可以在斷開的情況下杜秸,建立具有脫機(jī)數(shù)據(jù)管理功能的高度可擴(kuò)展應(yīng)用程序放仗。
在以下情況下润绎,可以將 SQL Server CE 作為開發(fā)工具的補(bǔ)充:
1、將企業(yè)數(shù)據(jù)管理功能擴(kuò)展至 Pocket PC
2诞挨、開發(fā)用來(lái)存儲(chǔ)和處理移動(dòng)設(shè)備上大量數(shù)據(jù)的應(yīng)用程序
3莉撇、在連接狀況不穩(wěn)定的環(huán)境中,需要使用移動(dòng)設(shè)備進(jìn)行可靠的數(shù)據(jù)復(fù)制
工具對(duì)比表
開發(fā)方案
在短期內(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ā)平臺(tái)。
服務(wù)器端代碼還是客戶端代碼蜈敢?
使用服務(wù)器端代碼還是使用客戶端代碼辜荠,取決于幾個(gè)條件。應(yīng)用程序的方案雖然各不相同抓狭,但是這些條件能夠幫助您為應(yīng)用程序的用戶選擇最佳的解決方案伯病。
用戶體驗(yàn):客戶端應(yīng)用程序普遍能夠提供較好的用戶體驗(yàn),因?yàn)樗鼈冊(cè)谠O(shè)備上運(yùn)行否过,并且獨(dú)立于所有與之進(jìn)行互操作的基礎(chǔ)結(jié)構(gòu)午笛。
可用的帶寬:這與用戶體驗(yàn)有關(guān)药磺。在有足夠可靠帶寬的環(huán)境(如無(wú)線 LAN)中運(yùn)行的應(yīng)用程序与涡,如果使用服務(wù)器端代碼驼卖,也可以提供良好的用戶體驗(yàn)。
數(shù)據(jù)安全性:客戶端應(yīng)用程序必須確保設(shè)備上敏感數(shù)據(jù)的安全性怎囚。Windows Mobile 軟件提供的一系列 Cryptographic Service Provider恳守,有助于實(shí)現(xiàn)此目的催烘。服務(wù)器端應(yīng)用程序必須確币寥海可以使用 SSL 等技術(shù)安全地傳輸數(shù)據(jù)舰始。
可支持性:對(duì)客戶端應(yīng)用程序的更新必須下載并安裝到設(shè)備上咽袜。如果開發(fā)客戶端應(yīng)用程序,請(qǐng)將這個(gè)因素考慮在內(nèi)谜嫉。
脫機(jī)功能:如果需要脫機(jī)數(shù)據(jù)訪問(wèn)和其他脫機(jī)功能凹联,客戶端應(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ò)展蹬昌。幸運(yùn)的是,您可以在一臺(tái)計(jì)算機(jī)上開發(fā)所有的基于 Windows Mobile 的設(shè)備劫扒,因?yàn)樗泄ぞ叨伎梢栽谶@兩類設(shè)備上共存广料。有關(guān)我們推薦的安裝順序勃蜘,請(qǐng)參閱附錄穆端。
目前窿凤,eMbedded Visual Tools IDE 和所需的 SDK 都是免費(fèi)的,可以通過(guò) Web 下載橘沥。
哪種工具 . . . 何時(shí)?
性能夯秃、控制或資源對(duì)我來(lái)說(shuō)非常重要座咆。例如,我要編寫一個(gè)游戲介陶、設(shè)備驅(qū)動(dòng)程序或者一個(gè) Active X 組件……
如果您打算開發(fā)運(yùn)行 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裸扶。
我要在一個(gè)安全框都、可靠的環(huán)境中快速開發(fā)應(yīng)用程序,我可能要訪問(wèn) Web 服務(wù)……
我要編寫一個(gè)具有最大的代碼可移植性的客戶端應(yīng)用程序……
我要利用自己掌握的 Visual Studio .NET 2003呵晨、Visual C#魏保、Visual Basic.Net 或 .NET Framework 知識(shí)……
我們建議您使用 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è)備上測(cè)試應(yīng)用程序檩咱,但是您所在的地區(qū)尚無(wú) Smartphone,或者 Smartphone 不支持開發(fā)戒傻,您可以購(gòu)買 Smartphone Developer Kit税手。
我要使用一個(gè)代碼庫(kù)開發(fā) Pocket PC 2002 和 Pocket PC 2003……
您可以用兩種方法構(gòu)建您的應(yīng)用程序:
使用 Visual Studio .NET 2003 開發(fā) .NET Compact Framework蜂筹。這樣需纳,您可以編寫一個(gè)托管代碼庫(kù),并讓它在兩種設(shè)備上運(yùn)行艺挪。Pocket PC 2002 要求在設(shè)備上安裝 .NET Compact Framework不翩。
使用 eMbedded Visual C++ 3.0兵扬。如果您使用可靠的 API 并編寫了一個(gè)運(yùn)行良好的應(yīng)用程序,而且使用 eMbedded Visual C++ 3.0 來(lái)編寫和編譯本機(jī)代碼口蝠,它應(yīng)該可以在 Pocket PC 2003 和 Pocket PC 2002 兩種設(shè)備上運(yùn)行器钟。
我要使用一個(gè)代碼庫(kù)開發(fā) Smartphone 2002 和 Smartphone 2003……
.NET Compact Framework 不能用于 Smartphone 2002。要編寫一個(gè)代碼庫(kù)以在 Smartphone 2002 和 Smartphone 2003 上運(yùn)行妙蔗,您必須使用本機(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昙啄。
請(qǐng)考慮使用 Visual Basic .NET 2003 將應(yīng)用程序?qū)С龅?.NET Compact Framework。
我要為可以在瘦客戶端環(huán)境中運(yùn)行的各種移動(dòng)設(shè)備編寫應(yīng)用程序寸五。我要維護(hù)用 eMbedded Visual Basic 編寫的應(yīng)用程序……
您應(yīng)該在 Visual Studio .NET 2003 中使用 ASP.Net Mobile Controls 梳凛。
注:本文轉(zhuǎn)載自www.mypda.com.cn