作者:蓝色理想-jinni
原文链接:http://www.flashfuture.net/blog/blogview.asp?logID=12
随着Macromedia在Flash Lite方面的大力推广,这支Mobile新军看来终于要展露头角了。不可避免的,众多的开发者会将它与现 有的技术放在一起品评比较一番,而这次被推上擂台的,是已经在移动开发 领域有着坚实基础 的J2ME。技术的比较有的时候很盲目,大家唇枪舌剑、旁证博引了 半天,却发现两种技术根本就没有可比性。而那些狂热的拥护者则往往要追求一个“A最终会代替B”的极端。
2[+u?%i.@`.R] TT0 Android J2ME �w6\i ?(|:~7Z
那么,J2ME和Flash Lite到底有没有可比性?而Flash Lite的是否会代替J2ME原有地位而成为移动应用开发的首选。Android J2ME )mSa J0k*^?
*|o2a�BrO4T0 我的观点是:J2ME和Flash Lite在某些领域存在交集,因此如果Flash Lite可以被广泛支持,确实给了开发者相对于J2ME而言更好的选择。但在大部分时候,它们适用于不同需求,因而不存在Flash Lite代替J2ME的可能。
"S1S%GH*`t0 Android J2ME 7] t UIX0muit
首 先来说说J2ME和Flash Lite的“交集”在哪?Flash Lite/J2ME让我们可以充分的利用移动设备的计算能力,而无需借助网络和服务 器,即便需要连接网络,我们也可以将大量的工作交由客户端完成,从而减低服务器的压力和网络带宽的耗费,这是与WAP的技术最大的区别,也是优势所在。因 此,从理论上讲,J2ME和Flash Lite都可以用于在移动设备上实现商务、娱乐、管理等功能。
fyx9tXX�_E0 Android J2ME *N(A.H6c"IY2?5~BW'i
但是,Flash Lite和J2ME两者都具备自身的优势和劣势,这种优势和劣势也导致了两者必将在不同的领域发挥作用。http://www.design-nation.net/en/archives/000453.php 这篇文章中谈到的几点我不再赘述,以下是我对二者区别的补充:
,Ygsn:u�t TS0 Android J2ME $^'F*`D pHq7e;Q,s@
1.Flash Lite 拥有统一的规范 ,即Flash Lite Player,任何安装了Flash Lite Player的设备都可以播放Flash Lite文件而不需 要加以编译修改。J2ME尽管在基础规范(MIDP/CLDC)上相对统一,但是大量的可选包使得程序的兼容性下降。更何况各个厂商的KVM实现还有众多 Bug。Android J2ME w*ZB#VX*L}:s6n)O
Android J2ME ~{�fob4]2O,L3Q
2.Flash Lite无疑会提供更好的用户体验,摆脱了MIDP lcdui甚至是手机 底层的MMI实现,开发者可以自由的 设计应用程序的界面,同时也避免了使用API的困扰。相对而言,MIDP的UI框架过于丑陋,而且功能简单。(我现在正在试图解决这一问题)。当然,绘制 复杂美观的界面也会带来资源和性能 的耗费,因此开发者需要在两者之间寻找平衡点。
0Ie*B,L*tn"^7G0
UE%S^#W)y2w&y{)m#rQ0 3.Flash Lite支持SVG,同时本身也是矢量 格式,因而在分辨率多样化的移动平台上可以更好的施展拳脚。J2ME开发者则需要认为解决分辨率适应的问题。在某些状况下,为了适应分辨率而带来的工作可 能非常繁复。而且使用J2ME制作MTV类动画几乎不可能,逐桢绘图方式在J2ME上不可能毫无顾虑的使用。
`/G9XM0l C_0 Android J2ME focc"l;g'a,D
4.Flash Cast??现有资料太少,不知道他究竟能发挥多大的威力,但无论如何是值得期待的。相反,Sun并没有推出与J2ME完美整合的服务器技术,但事实上,J2ME可以和任何一种服务器技术整合。Android J2ME W)F\"T+A)Qsf*K
Android J2ME ] @:S pt,n,b'p
(中场休息 ~__~)Android J2ME *k*Z1D:?2l-A
]+L4aZ)o tG#~3DQ0 5.Flash Lite从现在看来,功能还过于单薄。J2ME则由JCP推动其发展,新规范曾出不穷,从对手机底层的访问,到多媒体的支持,从SVG到G3D。尽管很多规范真正在手机上实现还需要一段时间,但至少我们知道,J2ME真的可以做很多事。
-~X;GN-~-d0 Android J2ME 8U3D)Y_N:ARm:f6v
6.Flash Lite目前并不是以native方式存在于手机中,而是用应用程序扩展的方式,尽管安装一个.sis文件并不是难事,但如果厂商可以将Flash Lite Player绑定在手机中,相信推广程度会更好。Android J2ME D6H4V.f8~im0WA
+WR�I'^zI b0 7.Flash Lite仍然不适合作复杂的应用,包括商务和娱乐方面,从安全机制,存储能力,网络连接等层面,Flash Lite都比较薄弱,而且可能难以改进,而在这几个方面J2ME要强得多。Android J2ME l8qOg{�r8\o
sM,r$W bM-v?0 8. 尽管签下了Nokia和SamSung,但是Flash Lite推广的路还很长。而且,非智能手机仍然占据了大部分市场,Nokia虽然致力于发展 S60等智能手机平台,但S40手机仍然是主要盈利点。因此,如果Flash Lite只能出现在S60一类的中高端智能手机上,对Flash Lite 的普及可能并不是十分有利。Android J2ME 4g5v5n0wR H
Android J2ME d-R6R"WCw"XU2|U7V
作为一个开发者,最重要的是了解各种技术的优势劣势,用适当的工具完成最适当的工作。至于“那种技术最强”的问题,大可不必争个你死我活。
y4\WOy*T,fPKHk0 Android J2ME k@1y*n Z
注:文本中的J2ME实际上特指(MIDP/CLDC规范,不包含CDC和PersonalJava)