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 相关文章推荐
计数器详细设计
Oct 09 PHP
人尽可用的Windows技巧小贴士之下篇
Mar 22 PHP
php在字符串中查找另一个字符串
Nov 19 PHP
防止MySQL注入或HTML表单滥用的PHP程序
Jan 21 PHP
php数据库抽象层 PDO
May 07 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
Feb 22 PHP
zend framework文件上传功能实例代码
Dec 25 PHP
php简单复制文件的方法
May 09 PHP
php版微信数据统计接口用法示例
Oct 12 PHP
PHP实现上传多文件示例代码
Feb 20 PHP
PHP 出现 http500 错误的解决方法
Mar 09 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/09/20 PHP
php mysql Errcode: 28 终极解决方法
2009/07/01 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
php smtp实现发送邮件功能
2017/06/22 PHP
Javascript 继承机制实例
2009/08/12 Javascript
JS实现清除指定cookies的方法
2014/09/20 Javascript
jQuery使用toggleClass方法动态添加删除Class样式的方法
2015/03/26 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
2016/08/09 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
Angular2.0/4.0 使用Echarts图表的示例代码
2017/12/07 Javascript
JavaScript实现的简单加密解密操作示例
2018/06/01 Javascript
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
jquery validate 实现动态增加/删除验证规则操作示例
2019/10/28 jQuery
在Python的Bottle框架中使用微信API的示例
2015/04/23 Python
Python编程中装饰器的使用示例解析
2016/06/20 Python
Python3 模块、包调用&路径详解
2017/10/25 Python
Python内置函数reversed()用法分析
2018/03/20 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
python实现根据文件格式分类
2019/10/31 Python
python爬虫开发之PyQuery模块详细使用方法与实例全解
2020/03/09 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
如何使用Pytorch搭建模型
2020/10/26 Python
美国在线宠物商店:Chewy
2019/01/12 全球购物
请说出这段代码执行后a和b的值分别是多少
2015/03/28 面试题
报关专员求职信范文
2014/02/22 职场文书
讲文明树新风公益广告宣传方案
2014/02/25 职场文书
个人整改方案范文
2014/10/25 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang
go开发alertmanger实现钉钉报警
2021/07/16 Golang
Go语言基础map用法及示例详解
2021/11/17 Golang
关于使用Redisson订阅数问题
2022/01/18 Redis
Qt数据库应用之实现图片转pdf
2022/06/01 Java/Android
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL