Chrome Web App开发小结,chromewebapp小结
Chrome Web App开发小结,chromewebapp小结
前言
这篇文章主要分享下自己在开发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'的话,别忘记加上关闭按钮;
期待与大家交流
实际上很多用户还都不太清楚
,为此 Google Code Labs 最近的一篇文章很好的为我们解释了这个问题。
简单来说,一个 App (应用)应该有其显示在浏览器中的自有 UI(用户界面),而 Chrome 扩展则多是用于提醒消息或者是增强用户 web 体验的工具。
对于开发者来说,这篇文章还深入解释了 .crx 这个打包格式以及自动更新所需的权限相关的信息。另外你应该还可以知道你要实现的功能应该做成扩展还是做成 Web App,如果要做 Web App 的话,是做成托管(Hosted) app 还是打包(Packaged) app ——前者只是通过 manifest.json 文件将用户重定向到另外一个安全的 web 地址,而后者 .crx 文件包括了运行 App 所有必需的 .css .html 等文件。
chrome os就是在linux上运行了一个chrome浏览器,支持原来所有的web应用