当前位置: 首页 > news >正文

《程序员》杂志06年2月文章:Flash Lite挑战J2ME

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等厂商的手中,这将给两者带来更大的挑战。

相关文章:

  • CSDN Blog升级公告
  • koa文件上传2
  • 怎样成为一个Flash Lite Developer (开发篇)
  • Chat room help file
  • 小程序 - 使用async出现regeneratorRuntime is not defined错误 不能使用async 和await 的解决方案
  • react willReceiveProps 是深度比较 浅层拷贝 (虽然值变过来了 但是)还是会render 一次 immutable1
  • 怎样成为一个Flash Lite Developer (工具篇)
  • immutable与可变数据 不可变数据
  • 辞职:也要像个君子般离开
  • redux connect 原理解析 传入的mapstate 和mapdispatch connect()第一次执行后返回一个函数 这个函数接收到的参数是一个组件 对组件进行加工返回
  • Flash Lite 与 J2ME 分析比较
  • react dva 复习subscriptions: setup
  • pm2 pm2 --help 使用指南
  • 驳斥一些不看好Flash的观点
  • eruda . 移动端console输出日志调试工具
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • Linux中的硬链接与软链接
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • Vim 折腾记
  • vue-router 实现分析
  • yii2权限控制rbac之rule详细讲解
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 入手阿里云新服务器的部署NODE
  • 深度学习在携程攻略社区的应用
  • 使用 @font-face
  • 使用agvtool更改app version/build
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • Prometheus VS InfluxDB
  • ​Python 3 新特性:类型注解
  • ​比特币大跌的 2 个原因
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (Oracle)SQL优化技巧(一):分页查询
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (zt)最盛行的警世狂言(爆笑)
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (二)学习JVM —— 垃圾回收机制
  • (力扣)1314.矩阵区域和
  • (实战篇)如何缓存数据
  • (终章)[图像识别]13.OpenCV案例 自定义训练集分类器物体检测
  • (轉)JSON.stringify 语法实例讲解
  • *Django中的Ajax 纯js的书写样式1
  • .NET Reactor简单使用教程
  • .Net 垃圾回收机制原理(二)
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET/C# 使窗口永不获得焦点
  • .net实现客户区延伸至至非客户区
  • .NET中使用Redis (二)
  • @WebServiceClient注解,wsdlLocation 可配置
  • [04]Web前端进阶—JS伪数组
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [Angular 基础] - 自定义指令,深入学习 directive
  • [AutoSar NVM] 存储架构
  • [BZOJ 3282] Tree 【LCT】
  • [BZOJ 3680]吊打XXX(模拟退火)