1.1 移动Web开发概述
1.1.1 移动APP的分类和移动Web
1.移动APP的开发模式
目前,移动应用项目的开发模式主要有3种:原生APP、移动Web APP和混合模式APP。下面对这3种开发模式进行简要介绍。
(1)原生APP
原生APP(Native APP)指的是用平台特定的开发语言所开发的应用,如Android、iOS等。使用原生应用的优点是可以完全利用系统的API和平台特性,在性能上是最好的;缺点是由于开发技术各不相同,如果所开发的应用项目要覆盖多个移动平台,则需要针对每个平台独立开发,无跨平台特性。
(2)移动Web APP
移动Web APP是工作在服务器端的应用程序,它采用HTML、JavaScript、CSS等Web技术开发,通过不同平台的浏览器访问来实现跨平台,同时可以通过浏览器充分支持HTML 5特性。其缺点是这些基于浏览器的应用无法调用系统API来实现一些底层高级功能,也不适合高性能要求的场合。
Web APP的工作方式如图1.1所示。
图1.1 Web APP的工作方式
(3)混合模式APP
混合模式APP(Hybrid APP)是介于原生APP和移动Web APP之间的一种手机应用程序。混合模式APP是为了弥补Web APP和Native APP两者开发模式缺陷的产物。混合开发兼具“Native APP良好用户交互体验的优势”和“Web APP跨平台开发的优势”。这样的模式可以降低开发门槛,用较少的成本达到跨平台开发移动应用的目的。
混合开发让为数众多的Web开发人员几乎可以零成本地转型成移动应用开发者。另外,相同的代码只需针对不同平台进行编译就能实现在多平台的分发,大大提高了多平台开发的效率;而相较于Web APP,开发者可以通过包装好的接口,调用大部分常用的系统API。
PhoneGap是HybirdAPP目前框架中集大成者。PhoneGap是一个应用程序容器技术,它能用HTML、CSS、JavaScript来创建原生可安装的移动应用程序。虽然PhoneGap应用程序是用HTML、CSS、JavaScript创建的,但是最终生成的是二进制的应用程序压缩文件。
PhoneGap的工作方式如图1.2所示。
图1.2 PhoneGap把HTML、CSS、JavaScript编译成各种平台的应用程序
2.移动Web和桌面Web
Web服务是互联网应用技术的总称,在网页设计中经常把网页称为Web。
通常把在平板计算机或智能手机上运行的基于移动互联网的Web称为移动Web,而把台式机或笔记本式计算机上运行的Web称为桌面Web。
移动Web和桌面Web的设计技术在本质上并没有什么区别,但由于它们的显示屏幕及电源续航能力不同,在设计技术上会有一些差异。
移动Web在桌面Web的基础上添加了新的MIME类型、标记语言、文档格式和最佳实践,为小尺寸屏幕提供优化的Web内容,并可解决移动设备上的资源限制、Web浏览器可用性差等问题。