找回密码
 注册
搜索
查看: 909|回复: 0

[讨论] 基于Rexsee的标准化Web开发理解

[复制链接]
发表于 2012-2-22 00:05:02 | 显示全部楼层 |阅读模式
关于国内的开源Android开发平台升级更新的事这两周消息不断,借此机会小研究了一把。

和国外的几个框架类似,Rexsee也是一个以Webkit为内核,通过JS调用扩展API的Web开发框架。Rexsee自己的定位是平台,但个人理解框架,或者工具包应该会更贴切。毕竟对于平台我们认为所应该具备的东西还是很多,而Rexsee目前的优势更多还是体现的它的扩展API上。(这个真的很佩服,单是网站上开放出来的量就已经很惊人了)

对于新版的Rexsee还没有太多尝试,但从介绍上来看相当于平行于WebView层再新增了一个JavaView层。这样一来对于某部分应用甚至不需要再使用HTML,直接使用JavaView调用原生UI控件,再通过JS实现逻辑就可完成应用了(呵呵,这一个特性也导致了Rexsee网站上所说的“会HTML就会Android”变的不正确了哈,更新升级反而还砸了自己的脚)。

之前也有看到有人尝试比较Rexsee和PhoneGap。个人觉得,除了不跨平台,两者在技术理念上几乎是一致的。但是这次新版发布就带来了本质的不同,甚至,在某种程度上开始和Titanium类似。关于Titanium和PhoneGap,前者是利用原生UI生成界面和功能,后者则只利用WebView。Rexsee现在是介乎于两者之间,或者是说具备两者的属性。相关的比较可以去网上再搜搜。。

就基于Rexsee的开发过程也简单整理一下:Rexsee使用标准化的Web开发模式进行开发。Rexsee的代码体现在Web前端部份。所有的rexsee代码放在html页面的<script>标签内。

编写rexsee客户端,实际上就是编写rexsee所能理解、渲染的html代码、 javascript代码、css代码。与其它浏览器所不同的时,rexsee这个“浏览器”,除了支持webkit支持的所有对象外,又扩展了100多个javascript对象及相应的1500多个方法和事件。对于开发者来讲,只需在掌握web前端开发的基础上,按需选用rexsee提供的javascript对象,按照rexsee对象的方法、事件编写代码便可以实现相应的功能。

Rexsee对于界面设计的支持体现在两个部分,一个是页面内对象,一个是页面外对象。
1. 页面内对象,指网页对象比如表格、DIV层、图片、画布等等,页面外对象是指网页以外的元素,比如各种Bar,对话框(Dialog),弹出窗口等等。对与页面内的对象可以用css控制其样式,其渲染效果由webkit引擎负责展现。对与页面外对象,使用rexsee的样式表定义,比如该对象的位置、宽、高、透明度、颜色、字体等等。
2. 页面外元素的样式是通过相关的对象的样式设置方法来操作的。

Rexsee的交互是通过javascript的事件接口、rexsee的事件接口、rexsee私有协议来实现的。特别指出私有协议是通过诸如:rexsee:info;rexsee:about;等来体现。Rexsee的事件接口已经由rexsee内置注册,使用时只需在相应的事件函数中编写用户代码即可。在事件触发时,用户代码会被执行。

Rexsee的代码调试,和原有的web前端开发是一样的。Rexsee本身提供了异常事件,用于捕捉错误。

Rexsee项目的编译过程其实就是将rexsee软件代码和rexsee客户端关联起来的过程,关联的过程可以体现在B/S架构下,只需将rexsee代码放在的url和rexsee客户端访问首页绑定。这种架构下,rexsee代码实际上是部署在客户端以外,本身体积小,更新方便。在C/S架构下,需要将rexsee代码、资源文件打包进rexsee客户端中,启动快速,不依赖网络。当然也可采用B/C/S混合模式。(整合B/S和C/S的优势)。Rexsee提供了在线编译和项目中心两个在线产品,可以帮助开发者将自己的rexsee代码快速部署出rexsee客户端。

文字有点多,见谅
高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-9-29 01:30 , Processed in 0.043830 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表