Flash Lite挑战J2ME
文/闫辉
原文链接: http://blog.donews.com/yanhui/archive/2006/02/18/731161.aspx
在手机平台上,最热门的当属J2ME技术了,也就是中国开发人员所熟悉的Kjava应用。由于其具有跨平台能力,再加上Sun的积极推动,一直备受开发人员的喜爱。但是现在J2ME遇到了强劲的对手,这就是不久前被Adobe收购的MacroMedia推出的手机上的平台Flash Lite 2.0和对应的Flash Player SDK7多媒体开发平台。
Flash Lite和J2ME这两种技术都可以让我们充分的利用移动设备的计算能力,而无需借助网络和服务器,即便需要连接网络,也可以将大量的工作交由客户端完成,从而减低服务器的压力和网络带宽的耗费,这是其与WAP的技术最大的区别,也是优势所在。因此,从理论上讲,J2ME和Flash Lite都可以用于在移动设备上实现商务、娱乐、管理等功能。负责亚太区Flash移动领域推广的负责人Daniel J Brongile就表示,“Flash Lite与J2ME之间的确存在着一定的竞争关系。”
但是,MacroMedia以前推出的Flash Lite 1.1并没有引起太大的关注,更无法与J2ME产生的影响力相比。这是因为原来的版本存在众多问题,甚至无法直接播放PC版本的Flash程序。
不过,新版Flash Lite 2.0却完全改变了竞争的态势。Flash Lite 2.0完全基于Flash 7的标准,这意味着在Flash的PC开发平台上可以开发移动设备上的应用。它不仅可以支持动态的XML数据,能够使用与 Flash Player 7 相同的处理方法加载和解析外部XML数据,而且在数据传递(Persistent Data)方面,它可以支持本地存储和返回相应的特定应用程序信息,例如参数设置,最高分,用户名等等。这将为开发者提供一个更加强大的开发环境。来自世界各地Flash 开发人员的反馈很清楚:现状可以显著加快用于移动电话的精彩内容和界面的开发。
Flash Lite 2.0还可以利用手机设备所支持的可用编码器,允许动态加载多媒体内容,例如图像、声音、视频和SWF内容,甚至还可以支持摄像头。而且在文字处理方面也有很大的进步,它可以让用户在程序运行时修改文本颜色、大小以及其他属性,而且可以嵌入矢量字体到用于渲染文本的应用程序中。
Flash发展到几个版本之后,逐渐在设计平台添加了更多的开发功能,让用户可以开发很多交互的应用,最重要的就是内置了ActionScript代码。现在Flash Lite 2.0同样允许开发者在程序运行时使用ActionScript,简便的创建矢量图像和动态形状。而且其标准ActionScript 2.0能够使用事件模型(影片剪辑和对象事件)、绘图API以及更好的SWF压缩器完成开发创作。在 Macromedia 工作了5年,担任技术支持等工作的Jonathan Duran说:“因为 Flash Lite 1.1 不支持加载外部媒体,因此您不得不将所有内容都塞到 SWF 中。现在,您可以使用最新版从设备或网址上加载外部图像和声音,像 JPEG 和 MP3。很显然,现在您可以非常轻松地更新 SWF 中的图像和声音,并且可以使 SWF 文件比以前小很多。”
手机开发人员当然不会坐视这种现状而不予理睬。各大论坛上也已经开始了对Flash lite和J2ME的比较讨论。Flash Lite和J2ME两者都具备自身的优势和劣势,这种优势和劣势也导致了两者必将在不同的领域发挥作用。比如在兼容性、界面设计、动画显示、服务器整合、开发入门门槛等方面拥有先天性的优势,但同时,J2ME在安全机制,存储能力,网络连接等层面又要比Flash Lite更强,同时由于J2ME是由国际标准化组织JCP推动的,在国际标准化推动,厂商支持等方面也拥有更大的优势。
J2ME和Flash Lite在某些领域存在交集,因此如果Flash Lite可以被广泛支持,确实给了开发者相对于J2ME而言更好的选择。但在大部分时候,它们适用于不同需求,因而不存在Flash Lite代替J2ME的可能。不过,有资深Flash开发者表示,“作为一个开发者,最重要的是了解各种技术的优势劣势,用适当的工具完成最适当的工作。至于“那种技术最强”的问题,大可不必争个你死我活。”而且,作为智能手机操作系统上的又一层平台,这两者又面临者同样的推广问题。非智能手机仍然占据了大部分市场,智能手机平台又掌握在微软、Symbian等厂商的手中,这将给两者带来更大的挑战。