Chrome Web App开发小结


Posted in PHP onSeptember 04, 2014

前言

这篇文章主要分享下自己在开发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'的话,别忘记加上关闭按钮;

期待与大家交流

PHP 相关文章推荐
第十三节 对象串行化 [13]
Oct 09 PHP
php合并数组array_merge函数运算符加号与的区别
Oct 31 PHP
PHP关联数组的10个操作技巧
Jan 21 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
Nov 14 PHP
带密匙的php加密解密示例分享
Jan 29 PHP
采用thinkphp自带方法生成静态html文件详解
Jun 13 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 PHP
Yii中表单用法实例详解
Jan 05 PHP
PHP处理CSV表格文件的常用操作方法总结
Jul 01 PHP
php实现将HTML页面转换成word并且保存的方法
Oct 14 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
Jul 22 PHP
ThinkPHP5+Layui实现图片上传加预览功能
Aug 17 PHP
Yii查询生成器(Query Builder)用法实例教程
Sep 04 #PHP
php设计模式之简单工厂模式详解
Sep 04 #PHP
Laravel框架表单验证详解
Sep 04 #PHP
Laravel框架中扩展函数、扩展自定义类的方法
Sep 04 #PHP
深入分析PHP引用(&)
Sep 04 #PHP
Laravel框架路由配置总结、设置技巧大全
Sep 03 #PHP
CodeIgniter框架URL路由总结
Sep 03 #PHP
You might like
php获取地址栏信息的代码
2008/10/08 PHP
PHP 各种排序算法实现代码
2009/08/20 PHP
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
PHP实现过滤掉非汉字字符只保留中文字符
2015/06/04 PHP
CSS+Jquery实现页面圆角框方法大全
2009/12/24 Javascript
jquery.artwl.thickbox.js  一个非常简单好用的jQuery弹出层插件
2012/03/01 Javascript
js判读浏览器是否支持html5的canvas的代码
2013/11/18 Javascript
js模拟点击以提交表单为例兼容主流浏览器
2013/11/29 Javascript
JS的get和set使用示例
2014/02/20 Javascript
如何防止JavaScript自动插入分号
2015/11/05 Javascript
微信开发 JS-SDK 6.0.2 经常遇到问题总结
2016/12/08 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
vue打包使用Nginx代理解决跨域问题
2018/08/27 Javascript
vue-i18n结合Element-ui的配置方法
2019/05/20 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
vue实现tab栏点击高亮效果
2020/08/19 Javascript
Javascript var变量删除原理及实现
2020/08/26 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
[01:28:56]2014 DOTA2华西杯精英邀请赛 5 24 CIS VS DK
2014/05/26 DOTA
[00:55]2015国际邀请赛中国区预选赛5月23日——28日约战上海
2015/05/25 DOTA
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
使用Python实现博客上进行自动翻页
2017/08/23 Python
VTK与Python实现机械臂三维模型可视化详解
2017/12/13 Python
Django 解决开发自定义抛出异常的问题
2020/05/21 Python
Keras中的多分类损失函数用法categorical_crossentropy
2020/06/11 Python
英国著名音像制品和图书游戏购物网站:Zavvi
2016/08/04 全球购物
全球最大的网上自行车商店:Chain Reaction Cycles
2016/12/02 全球购物
C语言笔试题回忆
2015/04/02 面试题
大学生冰淇淋店商业计划书
2014/01/14 职场文书
简历的自我评价
2014/02/03 职场文书
法律专业自荐信
2014/06/03 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
2016年6.5世界环境日宣传活动总结
2016/04/01 职场文书
Python一行代码实现自动发邮件功能
2021/05/30 Python
python pygame入门教程
2021/06/01 Python