Web应用程序的开发步骤

  如今已进入了web2.0高速发展的互联网时代,各种互联网的Web应用程序如雨后春笋般出现。那么作为一名Web开发人员,怎样去开发一款优秀的Web应用程序呢?这个问题没有一个简单的答案,甚至那些教育机构都未必能清楚的知道。所以,像大多数在这个领域里的web开发人员一样,我们只是通过去做,去实验才学会了这些。没有人告诉我们如何去做,我们从给自己做点什么东西开始,学会如何开发web应用程序是在这个过程中的一个副产品。这是学习任何语言的一个非常有效的方法。

  Web应用程序与网站之间的区别

  首先,我要说明,开发一个web应用程序跟开发一个网站是不一样的。虽然在总体上有很大相似之处,但开发它们所需要的时间有巨大的差别。那究竟web应用程序和网站有什么不同呢?通常,维基百科能帮助我们解释这个问题,让我们来看看维基百科是如何定义应用软件的:

  应用软件,通常也被称作应用,指的是专门为帮助用户去执行一个或多个相关特定任务而设计的计算机软件。企业软件,会计软件,办公套件,绘图软件,媒体播放器等都属于这种软件。

  跟应用软件相对照的是系统软件和中间件,它们管理计算机效能,管理如何跟计算机集成,但通常这些工作并不会直接反映到使用户受益的任务执行上。举个例子,一个不是很恰当的实体类比,应用软件跟系统软件之间的关系就好比一个电灯泡和一个发电厂之间的关系,发电厂(系统软件)只是产生电能,它自己没有任何真正的用途,除非利用一个电灯泡这样的应用工具才能为用户提供服务。

  Web应用程序的开发过程

  现在特征已经弄清楚了,我们就可以开始定义开发一个web应用程序的整个过程了。当然,这依赖于工程的大小,过程中的某些步骤可能很小,在你的脑海里就能完成这种工作,但把事情整个的了解一下总是有好处的。同时还有一点很重要的你要明白,这篇文章并不会对每个步骤进行深层次的描述。

  步骤一:分析

  开发一个web应用的第一步是分析你的需求。你此时应该定义出一个尽量周全的你的应用应该提供的功能清单。如果是你为一个客户做这些工作,你需要明白他们想要什么(要确保你们对方都知道对方在说些什么)。从你们的讨论中,你能总结出需求和软件规格。你即使是为自己开发,我也建议你把希望这个web应用能够做的功能写下来。

  步骤二:设计

  一旦你弄清楚了这个web应用需要做哪些事情,你就可以开始设计了。这个步骤通常会反反复复进行很多次,每一次都把设计细化一些。你第一要做的是画出页面流程图(画在纸上,或使用软件工具,凭各自所好吧。我喜欢用纸,这样我可以做更快速的改变)。页面流程图通常是很抽象的黑白绘画,画出你将要实现的web应用的样子(你可以加一些色彩,但尽量保持简单)。

  这个步骤能够让你知道你的应用最终会是个什么样子。跟37signals倡导的相反,我建议使用一些词语描述,适度细化。当我想到一个很好的想法时,或想到事情该如何做时,我会把它标注到纸上(例如,当点击这个按钮时应该使另外一个元素改变或隐藏,我会把这写在流程图上)。

  当你对做出的草图满意后,你可以开始制作实体模型了。
实体模型仍然是些图案,但有色彩和细节。最终的实体模型看起来应该像你将要实现的web应用的一个截屏图。如果你为一个客户开发,他会看看这些东西,并给你他的认可。然而,很多人都喜欢跳过这一步(大多数都是非设计人员),他们喜欢直接奔向网页原型。

  原型是用HTML开发出来,使用CSS渲染(有时也是有。这一步非常的重要,因为这里所有的东西都能用于你最终的应用中。如果允许的话,在你的原型上做一些可用性测试,从长期的效果来看,这能使你避免大量的失误。

  在这个步骤的最后,你基本上就知道了你的web应用是如何组织到一起的了。登录页面有些什么,用户如何从主页转向到各个页面。

  步骤三:实现 选择一个框架

  现在我们已经知道了要去开发什么东西,那就要把它做出来。这一部分的工作很多,你大部分的时间都要花在这个上面。你第一个要做的决定是如何着手,采用什么样的技术,什么框架。你有很多选择的余地,你需要选出一个适合你的。下面是一个最常用的框架的列表:

  • ASP.NET
  • PHP 上的任何一个流程的框架
  • Python with Django
  • Ruby on Rails

  没有一个明确的标准说哪个框架最好。它们都各有不同,每个都有自己的长处。最重要的是你要知道它们任何一个都能让你开发出好用的web应用。

  开发

  一旦你知道了如何去开发,那就要甩开臂膀开干了。这个开发工作可以看作有很多块,但说到底,这都是标准的编程活动了。在后台,你要创建类,对象,服务,过程,以及持久层来把这些对象保存到数据库中。后台是整个应用的核心,对任何应用来说,它跟普通的编程没有什么区别。接着是前台的开发,你现在编写的代码才是真正给用户使用的操作界面。你把后台的程序和原型界面集成到一起,把系统各部分集成到一起。你还可以把你在开发过程中想到的一些很炫的小功能用JavaScript实现。

  再说一次,有很多种途径可以实现后台程序。建议你去读一读跟你选择的框架相关的资料,弄清楚如何实现这一部分的工作。通常,这些知识会跟面向对象编程有关,但有些框架正在慢慢的向领域驱动设计发展。

  步骤四:打磨抛光

  现在应用程序已经开发出来,各个独立的模块也集成到了一起。你需要通过测试来确保你在步骤一中定义的需求和软件规格是否被实现(这个问题在你开发的整个过程中都要记在脑中)。你要确保那些愚蠢的用户不能通过试图做一些你还没有实现的操作而把你的应用弄坏(参考白盒和黑盒测试)。你同时还要确保你的程序能够在各种浏览器里(希望不是IE6)都能正确的运行。

  现在也是你做一些小的调整,改进你的应用程序给人的感觉的时候,让它趋于完美。

  步骤五:发布和后续工作

  这最后一步(但不是就此完结)是发布你的应用,让用户能够真正使用它(如果这个应用是个公众开发的应用,别忘了做新闻宣传)。如果你愿意,先发布一个Beta版,这样只有一小部分用户能够发现你的应用里的大问题(因为你的程序里肯定会有bug),他们会帮助你改进程序的质量。不要忙着增加功能,要专注于把你目前的程序变的稳固。

  当经过了beta阶段,你的程序已经变得十分的稳固,听取用户反馈的意见,自己试用一下自己的应用,你可以开始思考如何使应用变的更好。找出不和谐的地方,消除掉。以后每次的迭代都要经过上面所说的五个步骤,但就像我最初说的,你现在已经有了一个可以运行的应用程序,你很容易直接在心里完成这些步骤,直接奔向在代码里测试你的功能。

  恭喜,你已经自豪的成为一个web应用程序的作者了。

  英文原文:How to develop web applications

  中文翻译:晨露博客

转载于:https://www.cnblogs.com/jinhengyu/p/7516499.html

Web应用程序的开发步骤相关推荐

  1. 微信小程序从零开始开发步骤(三)底部导航栏

    上一章节,我们分享了如何创建一个新的页面和设置页面的标题,这一章我们来聊聊底部导航栏是如何实现的.即点击底部的导航,会实现不同对应页面之间的切换. 我们先来看个我们要实现的底部导航栏的效果图:(三个导 ...

  2. 微信小程序从零开始开发步骤(三)

    上一章节,我们分享了如何创建一个新的页面和设置页面的标题,这一章我们来聊聊底部导航栏是如何实现的.即点击底部的导航,会实现不同对应页面之间的切换. 我们先来看个我们要实现的底部导航栏的效果图:(三个导 ...

  3. 微信小程序从零开始开发步骤(一)

    从零到有写一个小程序系列专题,很早以前就想写来分享,但由于项目一直在进展,没有过多的时间研究技术,现在可以继续分享了. 1:注册 用没有注册过微信公众平台的邮箱注册一个微信公众号, 申请帐号 ,点击 ...

  4. 微信小程序从零开始开发步骤(二)创建小程序页面

    上一章注册完小程序,添加新建的项目,大致的准备开发已经完成,本章要分享的是 要创建一个简单的页面了,创建小程序页面的具体几个步骤: 1. 在pages 中添加一个目录 选中page,右击鼠标,从硬盘打 ...

  5. 微信小程序git开发步骤和注意事项

    微信小程序git开发步骤和注意事项 1.点击版本管理 2.点击设置 3.点击远程添加 4.添加git仓库名称和url地址 5.添加网络认证,自己的GitHub账号 6.剩下的就是操作 7.拉取时特别注 ...

  6. 微信小程序从零开始开发步骤(一)搭建开发环境

    从零到有写一个小程序系列专题,很早以前就想写来分享,但由于项目一直在进展,没有过多的时间研究技术,现在可以继续分享了. 1:注册 用没有注册过微信公众平台的邮箱注册一个微信公众号, 申请帐号 ,网址: ...

  7. VS2017 Web应用程序发布网站步骤

    VS2017 Web应用程序发布网站详细步骤 一.web发布 二.IIS安装 三.IIS管理器发布网站 四.出现的问题及其解决方法 一.web发布 1.用VS2017打开项目. 2.选中解决方案,点击 ...

  8. 【转】Microsoft Graph Web应用程序极致开发体验

    前言 这篇文章最早写于2017年5月2日,当时的想法是从最简单的方式来写如何在一个ASP.NET MVC应用程序中集成Microsoft Graph,但实际上还真不是那么简单,至少我是不满意的,加上这 ...

  9. c语言应用程序的开发步骤,C语言如何开发桌面GUI应用程序?

    这里介绍一种非常简单的方法,使用GTK,一个基于C语言开发的跨平台图形工具包,可以直接使用C语言快速完成桌面GUI程序的开发,下面我简单介绍一下实现过程,主要内容如下: 1.首先,下载安装GTK,这里 ...

最新文章

  1. tp5.0 queue 队列操作
  2. 【干货】NLP中对困惑度感到困惑?
  3. wpsppt流程图联系效果_风险隐患排查的手段—HAZOP 与检查表的区别及应用效果
  4. java 拼图_我最喜欢的Java拼图2 + 1 = 4
  5. 为什么SpringBoot如此受欢迎,以及如何有效地学习SpringBoot?
  6. graphpad导出图片不居中_从GraphPad Prism一键导出满足期刊要求的图表
  7. 计算机页面图形颠倒,电脑屏幕倒过来了如何解决
  8. JZOJ5197 C
  9. Failed to initialize storage module: user 的解决方式
  10. 经典机器学习系列(七)【聚类分析】
  11. 给CentOS 6.7 配置IP地址
  12. unity如何做一个可以打开关闭的门?
  13. 如何写出高性能SQL语句?-性能设计沉思录(6)
  14. 电磁场与电磁波第四版 课后习题
  15. 微信公众号排版教程 | 你真的学会了排版么?
  16. html5的video播放腾讯视频播放器,html 5中使用video元素制作一个影片播放器
  17. RPS基准点系统 2020
  18. 使用Arduino开发ESP32(15):模块基本信息与复位原因获取
  19. 爱奇艺大裁员,互联网的苦日子来了…
  20. PySide2学习总结(三)QtWidgets和QML

热门文章

  1. 交什么样的朋友有什么样的天
  2. T-SQL语句之创建、修改、删除数据库
  3. python-docx-template 数据渲染_python如何将数据渲染到docx文档指定位置
  4. 课节5:图神经网络算法(二):图采样
  5. 欧科云链OKLink:以太坊上借贷协议借款量突破百亿美元
  6. 去中心化抵押借贷市场当前总借款量94.24亿美元
  7. 区块链学者Michael Goldstein:比特币可以防止能源浪费
  8. SAP License:SAP 移动类型详解
  9. 中小微企业公共信用数据的风险评估
  10. Hive数仓之拉链表(原理、设计以及在Hive中的实现)