如何基于Rexsee实现以Web开发方式建立Android应用

Rexsee是国内的开源移动Web开发平台,针对Android手机、触摸屏等终端设备,提供底层开发和运行平台,以及扩展工具包,简化基于SDK的Java原生开发,支持开发者以标准化Web开发模式,即HTML5,CSS3和Javascript快速实现移动应用。能够有效下降技术实现门槛以及成本开销。javascript

使用Rexsee开发Android应用与建立一个网站的流程无异,全部Rexsee代码仅体如今Web前端,放在HTML页面的<script>标签内。html

编写Rexsee客户端,实际上就是编写Rexsee所能理解、渲染的HTML、CSS和Javascript代码。你能够把Rexsee理解为一个“浏览器”,这个“浏览器”除了支持Webkit支持的全部对象外,又扩展了100多个Javascript对象及相应的2000个方法和事件。前端

支持本地功能的调用接口,能够实现对本地存储、通信录、传感器、定位信息等本地功能的调用。同时,还提供了离线提交、push推送等原生应用功能。java

  • 界面:Rexsee的页面设计支持Web布局和原生布局两种形态。针对于原生布局,能够经过Javascript语言构造出Android SDK中的布局和基本对象,结合相应的触屏事件,能够有很好的用户体验。且支持2D和3D的绘图功能。针对Web布局有两个不一样类的对象,一是页面内对象,一是页面外对象。
    • 页面内对象指的是网页对象,如表格、DIV层、图片、画布等。能够用CSS来控制其样式,其渲染效果由Webkit引擎负责展示。
    • 页面外对象是指网页之外的元素,如各类Bar,对话框(Dialog),弹出窗口等。使用Rexsee的样式表定义,如该对象的位置、宽、高、透明度、颜色、字体等。页面外元素的样式是经过相关对象的样式设置方法来操做的。
  • 功能调用:同时支持同步和异步两种调用方式。实现多媒体支持,定位、位置服务,传感器,存储,蓝牙、wifi,以及推送和通知等功能。
  • 交互:经过Javascript的事件接口、Rexsee的事件接口以及Rexsee私有协议实现。
    • 特别指出,私有协议是经过诸如:rexsee:info;rexsee:about等;
    • Rexsee的事件接口已经由Rexsee内置注册,使用时只需在相应的事件函数中编写用户代码便可,在事件触发时,用户代码会被执行。
  • 调试:和原有的Web前端开发一致。同时,Rexsee自己也提供了异常事件,用于捕捉错误。
  • 编译:整个过程其实就是将Rexsee代码和Rexsee客户端关联的过程。
    • 能够体如今B/S架构下,只需将Rexsee代码所在的URL和Rexsee客户端首页绑定。这种架构下,Rexsee代码其实是部署在服务器端,客户端体积小,无需下载更新便可实现应用升级。
    • 也能够在C/S架构下,须要将Rexsee代码、资源文件打包进Rexsee客户端,这种架构模式更加相似于原生应用,彻底摆脱网络束缚,启动和运行效率较高。
    • 同时,Rexsee还提供了B/C/S混合架构模式,即整合B/S和C/S的优点。

对于开发者而言,只需在掌握Web前端开发的基础上,按需选用Rexsee提供的Javascript对象,按照Rexsee对象的方法、事件编写代码即可实现相应功能。android

简单代码示例以下浏览器

<html>
<head>
<title>这是一个android应用</tiltle>
<script type=text/javascript>
//Rexsee 代码从这里开始
window.onRexseeReady=function(){
 rexseeScreen.setScreenOrientation("portrait");  //设置屏幕方向
 rexseeTitleBar.setStyle('visibility:hidden;');  //标题栏样式  隐藏
 rexseeStatusBar.setStyle('visibility:hidden;');  //状态栏样式  隐藏
 rexseeDialog.toast('系统加载完毕!');    //出现后随即消失效果
}
</script>
</head>
</html>

代码写好以后使用在线编译生成APK文件,下载安装在终端;在线编译的首页地址是程序的网络地址;也可使用预打包,把程序首页地址放在本地,把本地地址做为首页地址。服务器

Rexsee社区提供了开发手册,按Rexsee对象的方法、事件编写代码即可实现相应功能。http://www.rexsee.com/rexsee/rexseeReference.apk网络

社区目前也提供在线开发环境,也能够本地开发后上传文件进行在线编译,最后封装成一个客户端。博客里有一个在线开发的hello world示例,供参考:http://my.oschina.net/u/194999/blog/42218架构

相关文章
相关标签/搜索