如何基於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架構

相關文章
相關標籤/搜索