OneRing桌面應(yīng)用框架
OneRing是一個(gè)跨平臺(tái)的桌面應(yīng)用框架。和Adobe AIR類似,它支持用html/js/css制作用戶界面,與之不同的是,它的應(yīng)用為本地程序,可以直接訪問操作系統(tǒng)的數(shù)據(jù)。
運(yùn)行流程:
- 應(yīng)用啟動(dòng)時(shí),會(huì)加載框架的運(yùn)行時(shí)庫(kù),注冊(cè)應(yīng)用url的訪問方法(如WSGI),并調(diào)用框架的loop函數(shù)。
- loop函數(shù)會(huì)訪問應(yīng)用的 /init URL,得到一個(gè)json數(shù)據(jù),描述初始應(yīng)用窗口的相關(guān)參數(shù),如位置、大小、窗口屬性、初始頁(yè)面url等。
- 框架根據(jù)該數(shù)據(jù)創(chuàng)建窗口,并讓該窗口內(nèi)的瀏覽器訪問初始頁(yè)面url,渲染用戶界面,然后等待UI事件。
- 用戶在界面上操作時(shí),可以通過超鏈接改變整個(gè)窗口內(nèi)容,也可以使用AJAX技術(shù)更新窗口內(nèi)部分內(nèi)容。
- 應(yīng)用可以讓瀏覽器調(diào)用ONERING名字空間下的js函數(shù),和操作系統(tǒng)進(jìn)行交互,該名字空間由url onering://onering/onering.js 加載。
- 應(yīng)用通過 bind(event, function) 函數(shù)監(jiān)聽窗口更改大小、移動(dòng)等操作系統(tǒng)UI事件。
- 可以使用pub/sub機(jī)制主動(dòng)推送消息給瀏覽器。
- 調(diào)用 ONERING.exit() 可以退出應(yīng)用;所有窗口都關(guān)閉后也會(huì)退出應(yīng)用。
評(píng)論
圖片
表情
