最佳开发实践
SPA设计
建议使用SPA(Single Page Application,单页应用)设计来开发你的App,SPA更适合复杂的客户端程序,一来方便应用的组织和管理,其次也防止资源的重复加载,这一点对于cordova来说是特别友好的,因为cordova插件提供的原生api需要在deviceready事件之后才可以调用,就意味着如果打开新页面,就必须等待资源加载完毕deviceready之后才能使用插件。这造成的两个弊端,一个是工程越后期越难以维护,另一个就是性能问题了。
这边推荐一些构建SPA应用的框架和库:
性能方面的考虑
可以从以下几个方面去改善app的性能
点击与触摸
使用touch事件会比使用click事件来说好的多,因为使用click事件会有300ms的延迟,可能造成UI卡顿。所以考虑使用touchstar或者touchend来代替click,但是touch事件在非webkit的内核的浏览器上是不支持的。关于各浏览器支持的事件和属性可以查阅CanIUse这个网站。
CSS转换和DOM操作
使用硬件加速的CSS转换器来创建动画而不是js。
缓存
尽量将数据缓存到本地。
识别和处理离线状态
对于离线状态应该有一个智能的处理,确保你的应用在离线状态下还是有一个较好的表现,不至于长时间无响应或者崩溃。cordova已经提供有获取和监听网络状态的插件。
网友评论