桌面应用框架 OneRing

 

web技术建造桌面应用

OneRing是一个跨平台的桌面应用开发库,使用HTML5+CSS3制作用户界面,用Javascript编写交互逻辑,同时提供用写web后端的技术编写后台逻辑.

桌面应用框架 OneRing

框架目标

OneRing是一个跨平台的桌面应用框架。和Adobe AIR类似,它支持用html/js/css制作用户界面,与之不同的是,它的应用为本地程序,可以直接访问操作系统的数据。

架构

一个OneRing应用程序分为两个部分:框架部分和应用部分。

框架部分

框架部分为通用框架,各应用都一样。其提供各操作系统上的界面展现,为本地窗口内嵌一个WebKit浏览器,并提供一致的js接口让应用和操作系统功能进行交互。

框架以运行时库的形式提供。

框架以系统原生语言编写,提供其他语言的绑定。

运行流程

1 应用启动时,会加载框架的运行时库,注册应用url的访问方法(如WSGI),并调用框架的loop函数。

2 loop函数会访问应用的 /init URL,得到一个json数据,描述初始应用窗口的相关参数,如位置、大小、窗口属性、初始页面url等。

3 框架根据该数据创建窗口,并让该窗口内的浏览器访问初始页面url,渲染用户界面,然后等待UI事件。

4 用户在界面上操作时,可以通过超链接改变整个窗口内容,也可以使用AJAX技术更新窗口内部分内容。

5 应用可以让浏览器调用ONERING名字空间下的js函数,和操作系统进行交互,该名字空间由url onering://onering/onering.js 加载。

6 应用通过 bind(event, function) 函数监听窗口更改大小、移动等操作系统UI事件。

7 可以使用pub/sub机制主动推送消息给浏览器。

8 调用 ONERING.exit() 可以退出应用;所有窗口都关闭后也会退出应用。

 

各组件之间的交互

一个OneRing应用中,存在三个需要互相通讯的组件:

1 操作系统 OS ,控制窗口行为(如最小化窗口),及操作系统相关界面元素(如系统通知图标)

2 运行在WebKit内的javascript,控制界面内元素(如程序界面里的按钮)

3 WSGI应用,控制HTML/JS的生成逻辑,以及应用相关的后台逻辑

 优点:

  1 跨平台。

  2 它的应用为本地程序,可以直接访问操作系统的数据。

  3 使用Web的好处就是能够带来更好的交互与视觉设计、实现数据与视图的分离



你可能感兴趣的:(其他)