我们一直在追逐一种手机开发环境,其特点如下:
 
(a)用层开发足够简单、开发门槛低
 
(b)应用运行时的效率/效果能够与本地编译的应用媲美
 
(c)应用开发的代码能够跨平台运行
 
在我看来,目前技术上有三种方式试图实现这样的开发环境:
 
(1)虚拟机技术,例如J2ME。
 
J2ME的技术在(a),(c)表现都很出色,但是如果想要在(b)表现得好,不可避免的需要充分利用本地OS特性的强大的、扩展的J2ME虚拟机。但是一旦利用了本地OS的技术特性,并暴露在虚拟机上,就会损坏J2ME的标准。这是我理解的,为何AndDroid的手机上Dalvik的虚拟机不标准的原因。
 
(2)脚本引擎运行环境技术。
 
(2.1)使用Web技术开发手机应用: 一般的W3C的Widget引擎、Mozilla APP(XULRUNNER)、Adobe AIR 等。
(2.1.1)一般的W3C的Widget引擎和Mozilla APP(XULRUNNER)
 
由于目前的网页都是2D的,因此使用Web技术开发的手机应用多数会局限在html的表现水平上。
 
目前的技术趋势中,网页正在向3D迈进。虽然W3C还没有发布相关的规范,但是各个浏览器引擎都在提前准备。例如:google正在启动O3D项目,号称要引领网页进入3D时代;再如
Mozilla APP的相关网站上说:
The Canvas3D initiative brings 3D graphics to the web, exposing an OpenGL 3D context to JavaScript via the canvas element. Pretty cool, eh? This allows 3D modeling on the web, with the potential of a low-level API that does the OpenGL stuff, possibly allowing for use of a shading language and even modeling formats like Collada. There’s also the possibility of a higher level layer of abstraction for 3D graphics in general. We’re raring to talk to the appropriate standards group, as well as get feedback on early implementations
 
(2.1.2)Adobe AIR
AIR 是一个跨操作系统运行时,运行时使开发人员能够使用熟悉的Web 技术(包括HTML、Ajax、 Adobe FlashAdobe Flex) 来构建要部署到桌面的丰富互联网应用程序。
 
 
  (2.2)XML+本地动态链接库,这种方式的应用源码,看起来就像HTML网页+ActiveX的控件,不同的是用在了开发手机的桌面应用。在这个方案中,xml相当于功能粘合的胶水,而本地动态链接库可以充分使用本地OS的资源,实现眩目的图形效果。
 
 
(3)中间件平台
 
    中间件平台很多时候是面向专业的开发人员,而不是面向大众的开发者。
 
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐