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 相关文章推荐
一个PHP+MSSQL分页的例子
Oct 09 PHP
php+js实现图片的上传、裁剪、预览、提交示例
Aug 27 PHP
CodeIgniter使用phpcms模板引擎
Nov 12 PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 PHP
PHP 使用memcached简单示例分享
Mar 05 PHP
Laravel 5 框架入门(三)
Apr 09 PHP
PHP读取文件内容的五种方式
Dec 28 PHP
thinkPHP查询方式小结
Jan 09 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
PDO::beginTransaction讲解
Jan 27 PHP
laravel实现上传图片并在页面显示的例子
Oct 14 PHP
php redis setnx分布式锁简单原理解析
Oct 23 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
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
php制作动态随机验证码
2015/02/12 PHP
Apache启动报错No space left on device: AH00023该怎么解决
2015/10/16 PHP
微信公众平台DEMO(PHP)
2016/05/04 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
Javascript中Eval函数的使用
2010/03/23 Javascript
js和jquery中循环的退出和继续学习记录
2014/09/06 Javascript
基于JS实现导航条flash导航条
2016/06/17 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
详解AngularJS用Interceptors来统一处理HTTP请求和响应
2017/06/08 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
微信小程序使用video组件播放视频功能示例【附源码下载】
2017/12/08 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
浅谈js闭包理解
2019/03/28 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
layui实现根据table数据判断按钮显示情况的方法
2019/09/26 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
python基于http下载视频或音频
2018/06/20 Python
简单了解python关系(比较)运算符
2019/07/08 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
Python列表操作方法详解
2020/02/09 Python
python des,aes,rsa加解密的实现
2021/01/16 Python
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
社区党总支书记先进事迹材料
2014/01/24 职场文书
从事会计工作年限证明
2015/06/23 职场文书
导游词之河北邯郸
2019/09/12 职场文书
Python操作CSV格式文件的方法大全
2021/07/15 Python
Python Django模型详解
2021/10/05 Python