随着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二者都具有自身的优点和劣势,这种优点和劣势也致使了二者必将在不一样的领域发挥做用。
[url]http://www.design-nation.net/en/archives/000453.php[/url] 这篇文章中谈到的几点我再也不赘述,如下是我对两者区别的补充:
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)