Flash Lite 與 J2ME 分析比較

作者:藍色理想-jinni

原文鏈接:http://www.flashfuture.net/blog/blogview.asp?logID=12

隨着Macromedia在Flash Lite方面的大力推廣,這支Mobile新軍看來終於要展露頭角了。不可避免的,衆多的開發者會將它與現有的技術放在一起品評比較一番,而這次被推上擂臺的,是已經在移動開發領域有着堅實基礎的J2ME。技術的比較有的時候很盲目,大家脣槍舌劍、旁證博引了半天,卻發現兩種技術根本就沒有可比性。而那些狂熱的擁護者則往往要追求一個“A最終會代替B”的極端。

那麼,J2ME和Flash Lite到底有沒有可比性?而Flash Lite的是否會代替J2ME原有地位而成爲移動應用開發的首選。

我的觀點是:J2ME和Flash Lite在某些領域存在交集,因此如果Flash Lite可以被廣泛支持,確實給了開發者相對於J2ME而言更好的選擇。但在大部分時候,它們適用於不同需求,因而不存在Flash Lite代替J2ME的可能。

首先來說說J2ME和Flash Lite的“交集”在哪?Flash Lite/J2ME讓我們可以充分的利用移動設備的計算能力,而無需藉助網絡和服務器,即便需要連接網絡,我們也可以將大量的工作交由客戶端完成,從而減低服務器的壓力和網絡帶寬的耗費,這是與WAP的技術最大的區別,也是優勢所在。因此,從理論上講,J2ME和Flash Lite都可以用於在移動設備上實現商務、娛樂、管理等功能。

但是,Flash Lite和J2ME兩者都具備自身的優勢和劣勢,這種優勢和劣勢也導致了兩者必將在不同的領域發揮作用。http://www.design-nation.net/en/archives/000453.php 這篇文章中談到的幾點我不再贅述,以下是我對二者區別的補充:

1.Flash Lite擁有統一的規範,即Flash Lite Player,任何安裝了Flash Lite Player的設備都可以播放Flash Lite文件而不需要加以編譯修改。J2ME儘管在基礎規範(MIDP/CLDC)上相對統一,但是大量的可選包使得程序的兼容性下降。更何況各個廠商的KVM實現還有衆多Bug。

2.Flash Lite無疑會提供更好的用戶體驗,擺脫了MIDP lcdui甚至是手機底層的MMI實現,開發者可以自由的設計應用程序的界面,同時也避免了使用API的困擾。相對而言,MIDP的UI框架過於醜陋,而且功能簡單。(我現在正在試圖解決這一問題)。當然,繪製複雜美觀的界面也會帶來資源和性能的耗費,因此開發者需要在兩者之間尋找平衡點。

3.Flash Lite支持SVG,同時本身也是矢量格式,因而在分辨率多樣化的移動平臺上可以更好的施展拳腳。J2ME開發者則需要認爲解決分辨率適應的問題。在某些狀況下,爲了適應分辨率而帶來的工作可能非常繁複。而且使用J2ME製作MTV類動畫幾乎不可能,逐楨繪圖方式在J2ME上不可能毫無顧慮的使用。

4.Flash Cast??現有資料太少,不知道他究竟能發揮多大的威力,但無論如何是值得期待的。相反,Sun並沒有推出與J2ME完美整合的服務器技術,但事實上,J2ME可以和任何一種服務器技術整合。

(中場休息 ~__~)

5.Flash Lite從現在看來,功能還過於單薄。J2ME則由JCP推動其發展,新規範曾出不窮,從對手機底層的訪問,到多媒體的支持,從SVG到G3D。儘管很多規範真正在手機上實現還需要一段時間,但至少我們知道,J2ME真的可以做很多事。

6.Flash Lite目前並不是以native方式存在於手機中,而是用應用程序擴展的方式,儘管安裝一個.sis文件並不是難事,但如果廠商可以將Flash Lite Player綁定在手機中,相信推廣程度會更好。

7.Flash Lite仍然不適合作複雜的應用,包括商務和娛樂方面,從安全機制,存儲能力,網絡連接等層面,Flash Lite都比較薄弱,而且可能難以改進,而在這幾個方面J2ME要強得多。

8.儘管簽下了Nokia和SamSung,但是Flash Lite推廣的路還很長。而且,非智能手機仍然佔據了大部分市場,Nokia雖然致力於發展S60等智能手機平臺,但S40手機仍然是主要盈利點。因此,如果Flash Lite只能出現在S60一類的中高端智能手機上,對Flash Lite的普及可能並不是十分有利。

作爲一個開發者,最重要的是瞭解各種技術的優勢劣勢,用適當的工具完成最適當的工作。至於“那種技術最強”的問題,大可不必爭個你死我活。

注:文本中的J2ME實際上特指(MIDP/CLDC規範,不包含CDC和PersonalJava)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章