《HTML5 and Javascript Web Apps》读书笔记要点摘录
必须要承认的是这本由Wesley Hales编写的书对要进军web apps 的程序员(媛)来说绝对是福音,很薄的一本书简明扼要的说明了web apps的实现原理,实现工具以及优缺点。拾人牙慧,作此摘录:
1原理:
浏览器(即平台)已经称为应用程序的另一个平台,我们的前端代码现在打包为HTML5驱动的原生应用,扩展和操作系统。h5,Open Web和移动设备已经进一步推动了浏览器平台,使浏览器能够在离线状态下存储数据和运行应用。
2移动优先:
移动优先要求我们考虑代码质量。开发人员在使用css进行硬件加速动画时必须考虑电池寿命,这种开发质量不仅能带来更好的性能,还能鼓励我们关注更清晰的语义。检查设备电池状态的API(http://www.w3.org/TR/battery-status/)。
3QA和设备测试:
在mobilexweb的网站(http://www.mobilexweb.com/emulators)上可以找到需要的模拟器
4当用户界面可以预先存储在图像中时,应该避免在软件中进行这类工作。这意味着应该使用“精灵”,设备只需要下载一个图片,在css文件中潜入一个数据URI取得较小的图像。以下几个动画不需要重新绘制:trandition-propetry;opacity;transform.
5使用 div[style*='foo']会降低4.3.x以及之前版本的ios设备性能。
6用css代码添加动画和硬件加速,实际的动画在我们切换page div元素的类时发生
.page{
position:absolute;
width:%;
height:%;
//激活GPU,组合每个页面
-webkit-transform:translate3d(,,);
}
虽然translate3d(0,0,0);被称作WebKit上的万能方法,但是仍有一些浏览器引擎不支持,这时应该将3D去掉z轴变成2D变换(2D变换没有GPU加速的功能)。
7翻转:
在移动设备上翻转的特点是真正的将页面扫除。在github(https://github.com/html5e/slidfast/blob/master/slidfast.js#L411)上可以看到源代码。
8调试硬件加速
8.1减少图层数量
8.2尽可能保持图层的简单
8.3不要频繁更新图层
8.4按照目的调整图层合成
8.5反复试验。
启动基于WebKit的浏览器和选择的IDE,开始调试。
使用Safari或者使用chrome查看每秒帧数信息和合成图层的边缘(1打开chrome浏览器2在url栏中输入about:flags3向下滚动几个条目,单击启用FPS counter)
9用innerHTML()将AJAX响应插入DOM 是很危险的。
10如果在不同的文档中创建新的子节点,会发生一个错误,所以最好使用adoptNode (appendChild(document.adoptNode(newPage));)
未完待续——————————————————————————————————————————————————————————————————————————
《HTML5 and Javascript Web Apps》读书笔记要点摘录的更多相关文章
- HTML5&CSS3&JavaScript&PHP&MySQL学习笔记
1.在文字间添加一条水平线 使用<hr /> 注意该符号不是成对出现的 2.<q> </q>用来标记于段落中的较短引用,浏览器会在它之间的语句两端加上双引号. ...
- JavaScript 函数式编程读书笔记2
概述 这是我读<javascript函数式编程>的读书笔记,供以后开发时参考,相信对其他人也有用. 说明:虽然本书是基于underscore.js库写的,但是其中的理念和思考方式都讲的很好 ...
- JavaScript 函数式编程读书笔记1
概述 这是我读<javascript函数式编程>的读书笔记,供以后开发时参考,相信对其他人也有用. 说明:虽然本书是基于underscore.js库写的,但是其中的理念和思考方式都讲的很好 ...
- javascript高级程序设计读书笔记-事件(一)
读书笔记,写的很乱 事件处理程序 事件处理程序分为三种: 1.html事件2. DOM0级,3,DOM2级别 没有DOM1 同样的事件 DOM0会顶掉html事件 因为他们都是属性 而 ...
- Flask Web开发读书笔记
开篇:目前想自学Flask Web开发--基于Python,找了几本书准备啃啃,同时也会分享读书笔记.希望和大家一起进步. Flask是小型框架,可以算是微框架,但是他的功能还是比较多 Flask有三 ...
- 《跨终端Web》读书笔记
跨终端的Web成为了趋势,而这本书就是讲了在这种趋势下进行开发的常见问题及其解决方案,可能是限于篇幅,每个方面都没有展开细说,但这是这样让本书干货满满,几乎没有一句废话. 下面是一些笔记. Web的本 ...
- 《零基础学HTML5+CSS3(全彩版)》读书笔记
2019年1月31日星期四 1点 <零基础学HTML5+CSS3(全彩版)>开始全面学习 前提: 11月20日开始学Python,可能因为太累了,也可能遇到了瓶颈,进入了一个迷茫期,1月6 ...
- JavaScript高级程序设计-读书笔记(6)
第20章 JSON JSON是一个轻量级的数据格式,可以简化表示复杂数据结构的工作量 JSON的语法可以表示一下三种类型的值 l 简单值:使用与JavaScript相同的语法,可以在JS ...
- Web Scalability for Startup Engineers Tip&Techniques for Scaling You Web Application --读书笔记
Web Scalability for Startup Engineers Tip&Techniques for Scaling You Web Application 第1章和第2章讲述可伸 ...
随机推荐
- 线程暴长~Quartz中创建Redis频繁后导致线程暴长
在最近项目开发过程中,在进行任务调度处理过程中,出现了一个问题,它的线程数暴长,从20多个可以到1000多个,如果你的服务器性能好的话,可以到10000多个,太恐怖了,就算你的服务再好,早晚有一天也会 ...
- [0.0]Analysis of Baidu search engine
Rencently, my two teammates and I is doing a project, a simplified Chinese search engine for childre ...
- C# 解压RAR压缩文件
此方法适用于C盘windows文件夹中有WinRAR.exe文件 /// 解压文件(不带密码) RAR压缩程序 返回解压出来的文件数量 /// </summary> /// <par ...
- 编码规范系列(一):Eclipse Code Templates设置
从工作开始,经历了几个项目的开发,现在的项目一般都是一个团队共同开发,而每个人都有自己的编码习惯,为了统一格式,项目组在项目开发之前都会制定一系列的规范.俗话说约定优于配置,但是在执行过程中往往发现效 ...
- uva 10152 ShellSort
//这个算法用到了"相对位置"的思想,并且就本题而言还有一个很重要的结论就是,假设 //移动了k个元素,那么这k个元素一定是最后结果的那个序列的前k个元素,而且易知, //越先移动 ...
- 【转】2013年中国IT业10大公司
转自:http://www.chinaz.com/news/2013/1217/331446.shtml?zyy 1.最得志的公司:小米 在2013年,再没有一家公司像小米这样志得意满,即便看看所有的 ...
- 什么是比特币(bitcoin)
一.什么是比特币? 比特币是一种由开源的P2P软件产生的电子货币,是一种网络虚拟货币.比特币使用遍布整个P2P网络节点的分布式数据库来记录货币的交易,并使用密码学的设计来确保货币流通各个环节安全性.比 ...
- 在VS2012下不安装VS2010编译VS2010的工程
虽然一路追随这VISUAL SUTDIO在编程,但是断档的情况还是有的,最近一次硬盘问题使得安装了所有的VS2003-VS2012的机器硬盘挂了,无奈只能够安装了,不过觉得没啥用了,就安装一个VS20 ...
- C#中使用GUID的笔记
GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的.通常平台会提供生成GUID的API.生成算法很有意思,用到了以太网卡地址.纳秒级时间.芯片ID码和许多可 ...
- Cache选型的一些思考
Cache对于减轻DB负载有非常关键的数据.以下对经常使用的memcached和redis做个总结,便于技术选型. 1 memcached (1) 支持的操作有限,支持经常使用的set,get,de ...