程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> 移動開發2003綜述之技術構架

移動開發2003綜述之技術構架

編輯:J2ME

在開發移動應用軟件時,選擇哪種技術構架進行開發是非常關鍵的,有時甚至能達到事半功倍的效果。目前市場上占主導地位的移動開發技術構架不外乎Microsoft的.Net和SUN的 J2ME兩種。

.Net戰略和.Net Compact Framework

2003年8月,微軟的.net(下一代互聯網軟件和服務)戰略計劃又走出了重要的一步:即發布了Visual Studio.net 2003開發平台(包括C#、VC++.net、VB.net、ASP.net、VBScript.net、JScript.net等)。微軟.net計劃的體系結構其實是一個可以作為平台支持下一代Internet的可編程結構。作為一個理想化的未來互聯網環境,.Net不再關注單個網站、單個設備與因特網相連的網絡環境,而是要讓所有的計算機群、相關設備和服務商協同工作在一個大的網絡計算環境裡。. net的最終目的,是要讓用戶在任何地方、任何時間利用任何設備都能訪問他們所需要的信息、文件和程序。用戶不必關心這些東西存在什麼地方、如何獲取,他們只需發出請求,即可得到結果,所有後台的復雜性是完全屏蔽起來的。

.Net Compact Framework,顧名思義,即精簡版的.Net 開發框架。他和Smart Device Extensions (SDE) for Visual Studio .NET 一起,將更強的開發能力和強大的編程平台帶到了手持設備的開發工作中。.NET Compact Framework 是一個硬件無關的運行環境,他主要用在手持設備上,包括:個人數據助理(PDAs) ,移動電話,機頂盒和各種運行Window CE .NET操作系統的嵌入式設備。需要注意的是目前使用.NET技術作出的程序只能在Windows系列平台上使用,但是現在Ximian公司(Linux上著名的XWindow系統GNOME的制造商)正在推行一個在Linux平台上支持.Net 的項目MONO(http://www.go-mono.com)相信不久的將來,.Net程序一樣可以在非Windows的操作系統上運行。

.NET Compact Framework包括一部分 .NET Framework 類庫和部分 .NET Compact Framework 所獨有的類庫。他繼承了所有的.Net 框架結構中的中間語言運行時和受管代碼執行。

.Net Compact Framework 提供了下列關鍵功能:

◆ 程序的硬件與操作系統無關性
◆支持公共的網絡協議,無縫連接XML Web services
◆無論開發者的目標應用或組件是提供給大范圍的設備還是幾個特殊的設備,他都提供一個統一的模型
◆提供了有助於設計和優化有限的系統資源的功能
◆包含最優性能的產生本地代碼的運行時編譯器

.Net Compact Framework 的平台結構

移動開發2003綜述之技術構架(圖一)

.Net Compact Framework 的平台結構圖

J2ME構架

為了應對移動數據的發展,推進無線電子商務等業務的發展,Java 2 Sun公司引入了用於嵌入式系統的Java,即J2ME(Java 2 Micro Edition)。J2ME作為Java技術在移動設備的版本,它針對屏幕、電能和內存等有限資源都進行了優化和定義,為了解決無線設備多樣化的矛盾,Sun依照各種設備的資源特性將J2ME技術架構逐層細分,這使J2ME能夠在每一類設備的限制下工作,而同時提供最低限度的Java語言功能性。隨著J2ME的應用,它為移動互聯引入了一種新的模型,即允許移動設備從互聯網上下載各種應用程序,並在設備中創造了可執行環境以便離線運行這些程序。由於定義了可執行程序下載的標准,並在設備上創立了可執行環境和程序開發語言,由此,在移動通信業第一次為軟件開發商創造了巨大的商業機會,用戶在得到豐富應用體驗的同時,也大大提高了運營商的網絡流量。

J2ME的出現實際上是Java技術的回歸,作為Java 2平台的一部分,J2ME與J2SE、J2EE一道,為無線應用的客戶端和服務器端建立了完整的開發、部署環境。由於專門針對多樣化的嵌入設備和消費電子設備,J2ME的結構與傳統的編程序語言和規范有很大的不同,它是由配置(Configuration)、簡檔(Profile)和可選包(Optional Package)三要素構成。J2ME技術由一個虛擬機和一組API組成,這組API適合於為消費和嵌入式電子設備提供經過剪裁的運行環境。J2ME主要有兩種組件:配置(configuration)和概要(profile)。Configuration的分類是根據計算能力的不同來劃分的,同類設備的計算能力相近。Configuration是一個規范,定義了這類設備的共同Java平台,定義與設備無關的Java虛擬機和核心庫,是平台相容性的基礎。Profile的分類是根據設備功能劃分的,同類功能的設備其他各種硬件條件和需求也相近。Profile是一組API,在某一Configuration的基礎上擴展了針對設備特定功能的API,使得標准能夠完全適應特殊的設備,徹底發揮設備的功能。

J2ME體系的一般結構是:由Configuration定義的Java虛擬機運行於設備的宿主操作系統之上,構成整個平台的基礎。Configuration提供了基本的語言特性,Profile提供針對設備的特殊功能API和擴展類庫。應用程序的運行環境需要一個Configuration和至少一個Profile,多個Profile可以共存,也可以疊加。

下面用兩個具體設備的實現作為例子說明。在一個運行Palm OS的PDA上,Configuration采用CLDC,虛擬機采用KVM(虛擬機和Configuration是緊密相連的,KVM只是CLDC定義的一個參考實現(reference implementation),並不是唯一的選擇),然後采用PDA Profile的Profile。在另一個運行SymBian的智能手機上,則可以采用KVM,CLDC,MIDP。

移動開發2003綜述之技術構架(圖二)

SUN J2EE的一個關鍵優點是它能同時為多種連網的便攜機、台式機或其他工作站和服務器提供服務,無論運行在這些客戶機上的軟件是Java applets 、獨立的Java程序、Html浏覽器還是本地的應用程序,它都可以同時支持。利用J2ME,這些J2EE構架的企業系統也可以直接與各種移動手持設備進行通信。

小結

總的來說,Windows .Net Compact Framework和J2ME作為兩大體系的嵌入式構架部分,都有一個受控的運行時環境,它不但將源代碼轉換成中間語言,而且將這些中間語言編譯成本地的可執行代碼。兩個環境都支持碎片整理、動態類加載和異常處理等。Windows .Net Compact Framework和J2ME都倡導和支持基於組件的設計、多態性、繼承和接口等,也提供基礎類庫來執行I/O、XML處理、帶有連接池的數據庫接入、文本操作與網頁腳本編寫等。

但是,兩者的側重點又是不同的。JAVA是一個單一語言的平台,關注跨平台的可移植性。這就意味著,利用了J2ME設計框架就能在多個操作系統中使用同一個Java程序。而Microsoft提供的.Net Compact Framework構架作為Embedded Windows開發工具的一部分。開發者能使用多種語言開發同一個應用,並且效率很高而不用進行一種新語言的重新訓練。J2ME目前的標准很多,其中最為開發者熟悉的是CLDC(Connected, Limited Device Configuration,針對個人化的移動的信息設備)和MIDP(Mobile Information Device Profile,針對移動信息處理設備)。而Windows .Net Compact Framework則強調對所有 Pocket PC & Windows CE .NET CPU簡單的一次部署。在對嵌入式數據庫支持方面,.Net Compact Framework支持嵌入式數據庫訪問,這主要用於有一定當量的數據查詢要求場合。數據庫能在移動設備上直接操作,接著再和服務器數據重新同步。而J2ME基本上不在移動設備上直接調用數據庫連接處理,最多只是操作文本類型的數據庫或者外部調用一個server代理完成。

2003年的移動設備軟件開發充分體現了.Net戰略與Java 2所代表的全然不同的跨平台應用解決方案之間的競爭。這只是剛剛開始,我們期待著這種競爭的局面能夠更長久,因為不管結果如何,這個過程本身對未來軟件技術的創新和IT產業的推動就有著不可估量的價值,而且更多的人將從中獲得啟迪。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved