开篇概述
Ajax技术在Gmail中的成功应用,和高性能的V8引擎的推出,使得编写Web应用变得流行起来,使用前端技术也可以编写具有复杂交互的应用。相对于原生应用,Web应用具有如下优点:
跨平台,开发和维护成本低;
升级和发布方便,没有版本的概念,随时随地发布,用户没有感知,不需要安装;
响应式设计(Responsive Design)使得Web应用可以跨平台,同一份代码自适应各种 屏幕大小
即使最终不采用Web应用方案,也很适合开发原型
当然,Web应用也不是没有缺点。由于不同平台和厂商的浏览器并不完全一样,跨平台也有一些兼容成本。另外,Web应用的性能不如native应用,交互有时候不是很流畅, 再加上HTML5的API上的限制,使得有些功能采用Web应用不太合适。由于这些原因,结合两者优点的混合方案变得流行起来(比如微信、手机QQ和手机QQ浏览器中会嵌入一 些Web页面)。
根据笔者的开发经验,下面总结一些Web应用开发过程中的要面临的几个问题。
模块化编程
模块化编程是编写大规模应用必不可少的一个特性,与其它主流的编程语言相比 Javascript没有对模块提供直接的支持,更不用说维护模块之间的依赖关系,这使得维 护Javascript代码变得异常困难,在