前言
這篇文章主要分享下自己在開發Web App遇到的問題和過程,以及一些很已經(如何)填平的坑。如果您想要“如何開發Web App”或《30分鐘學會開發Web App》,請移步官方的開發手冊(文檔)。(下有鏈接)。
背景
感覺現在大家都在爭論(討論)兩件事情,Web App和Native App。前不久參加的HTML5守望者活動,各方大佬都在針對這二者之間的優劣,差異,兼容,普及等進行探討。當然,有爭議的才說明有價值嘛。
Chrome Web App
前不久Chrome又一次因超過了什麼什麼登上了各大新聞媒體的首頁,是的這已經不是第一次了。Chrome自身有強大的插件市場,和最近(也不算最近了)推出的Chrome Web App。之前也一直有進行過Chrome拓展的開發,被Chrome自身的API搞的暈頭轉向,不過在轉暈的同時也深深感受到了Web App的強大潛力。
制作Web App
剛剛試圖把一個簡單的“網頁項目”移植成Chrome Web App,說是移植,其實基本上就是重建,哦不,是新建……。現在的網頁項目是一個使用PHP、MySQL做後端,很常見的一個PHP網站,使用了Slim做為PHP框架。
那麼如何新建成Chrome Web App呢。顯而易見,使用PHP不大可能了。之前使用過Google自家的AngularJS做開發,所以還算熟悉,而且官方開發手冊也把AngularJS做首選的推薦開發框架。而且得益於Slim框架(PHP),全部都是RESTful的。
大概思路就是這樣:
一切都配合AngularJS和RESTful,這樣本地應用只存靜態頁面,然後通過叭叭叭發送請求數據返回就可以了……。
感受
使用Google自家的AngularJS,幾乎大部分浏覽器特性都可以使用,兼容性非常好,而且與桌面軟件幾乎無差,最重要的是了卻了我多年學不會軟件開發(嘗試過delphi未果)的心願……Web App太強大了!
資源 (需梯子)
Chrome Web App中文開發手冊
Google Plus中文社群
官方英文論壇
問題
在開發過程中遇到了幾個問題:
permissions不僅僅可以調用功能,如果使用外部資源也要加進去;
你可以放心大膽的使用類似-webkit,甚至V8的API;
-webkit-app-region: drag 可以控制應用拖動;
如果你執意要frame: 'none'的話,別忘記加上關閉按鈕;
期待與大家交流