应用程序开发

 

概述

与以二次开发为对象领域的系统软件程序和中间件软件程序不同,应用程序(Application Program)指的是直接提供给最终用户使用的,完成某项或多项特定工作的软件程序。

HTML原本是以文本为中心,以互联网上的文档共享为主要目的WEB网页语言。最初并不以应用程序为目的,但由于WEB与生俱来具有易维护等诸多优点, 迅速成为一个新的应用程序平台。

而经过多年的发展,HTML用于开发应用程序时的诸多局限性逐渐显露出来,因此大家不断的在原来的基础上扩展了API等很多程序开发上的要素,最后的集大成者便是现在的这个HTML5。

应用程序模型

HTML5应用程序的开发采用的主要是单页应用程序(Single Page Application,简称SPA)。

在SPA之前,RIA模式应用的比较普遍,这里简单的一并作个介绍:

  • SPA
    运行在一个单一的HTML页面之中,具有高度互动性、丰富用户体验以及功能强大的客户端的WEB应用程序。
    SPA应用程序里,用户会话信息保存在客户端,需要访问后台数据时才去与服务器的WEB服务进行通信,这点与传统的C/S模型较为相似。
  • RIA
    Rich Internet Applications,丰富互联网应用程序,具有高度互动性、丰富用户体验以及功能强大的客户端的互联网应用程序。
    为什么称为互联网应用程序而不称为WEB应用程序,这是因为RIA的实现并不限于WEB技术,从Adobe Flash到Microsoft Silverlight都是基于插件而非标准WEB技术。
    后来,基于WEB技术标准的AJAX开发逐步流行开来, SPA开发模型可以说就是AJAX RIA技术不断发展演变过来的。

软件开发过程

软件开发过程按目标和成果物的不同,大致可以分为以下几个阶段

  1. 需求分析
  2. 软件设计
  3. 开发和调试
  4. 测试
  5. 软件部署

软件工程领域里存在着数量众多的开发过程模型,有瀑布模型,原型法 螺旋模型 敏捷过程 Rational统一软件过程等等。

但不管是哪种过程模型,以上所划分的各个阶段始终是客观存在的,不同点在于以下两点:

  • 需求分析~软件部署的流程是否存在迭代
    软件的开发是一次性的一气呵成(如瀑布模型),还是需要经过多次反复。
  • 需求分析~软件部署的各阶段的重视程度不一
    比如说瀑布模型非常对软件设计非常重视,需要编写详细的设计文档,敏捷过程更重视软件的编码和在可运行软件原型的基础上进行需求分析及人与人之间的交流,尽量少写文档。