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

步骤二:设计
一旦你弄清楚了这个Web应用需要做哪些事情,你就可以开始设计了。这个步骤通常会反反复复进行很多次,每一次都把设计细化一些。你第一要做的是画出页面流程图(画在纸上,或使用软件工具,凭各自所好吧。我喜欢用纸,这样我可以做更快速的改变)。页面流程图通常是很抽象的黑白绘画,画出你将要实现的Web应用的样子(你可以加一些色彩,但尽量保持简单)。
这个步骤能够让你知道你的应用最终会是个什么样子。跟37signals倡导的相反,我建议使用一些词语描述,适度细化。当我想到一个很好的想法时,或想到事情该如何做时,我会把它标注到纸上(例如,当点击这个按钮时应该使另外一个元素改变或隐藏,我会把这写在流程图上)。
当你对做出的草图满意后,你可以开始制作实体模型了。
实体模型仍然是些图案,但有色彩和细节。最终的实体模型看起来应该像你将要实现的Web应用的一个截屏图。如果你为一个客户开发,他会看看这些东西,并给你他的认可。然而,很多人都喜欢跳过这一步(大多数都是非设计人员),他们喜欢直接奔向网页原型。
原型是用HTML开发出来,使用CSS渲染(有时也是有Javascript)。页面布局要做出来,链接能够点,颜色,字体,字体大小要设定好(如果你做了实体模型,这个会很容易)。这一步非常的重要,因为这里所有的东西都能用于你最终的应用中。如果允许的话,在你的原型上做一些可用性测试,从长期的效果来看,这能使你避免大量的失误。
在这个步骤的最后,你基本上就知道了你的Web应用是如何组织到一起的了。登录页面有些什么,用户如何从主页转向到各个页面。

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

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

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

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

步骤四:打磨抛光
应用程序已经开发出来,各个独立的模块也集成到了一起。你需要通过测试来确保你在步骤一中定义的需求和软件规格是否被实现(这个问题在你开发的整个过程中都要记在脑中)。你要确保那些愚蠢的用户不能通过试图做一些你还没有实现的操作而把你的应用弄坏(参考白盒和黑盒测试)。你同时还要确保你的程序能够在各种浏览器里(希望不是IE6)都能正确的运行。
也是你做一些小的调整,改进你的应用程序给人的感觉的时候,让它趋于完美。
步骤五:发布和后续工作
这最后一步(但不是就此完结)是发布你的应用,让用户能够真正使用它(如果这个应用是个公众开发的应用,别忘了做新闻宣传)。如果你愿意,先发布一个Beta版,这样只有一小部分用户能够发现你的应用里的大问题(因为你的程序里肯定会有bug),他们会帮助你改进程序的质量。不要忙着增加功能,要专注于把你的程序变的稳固。
当经过了beta阶段,你的程序已经变得十分的稳固,听取用户反馈的意见,自己试用一下自己的应用,你可以开始思考如何使应用变的更好。找出不和谐的地方,消除掉。以后每次的迭代都要经过上面所说的五个步骤,但就像我最初说的,你已经有了一个可以运行的应用程序,你很容易直接在心里完成这些步骤,直接奔向在代码里测试你的功能。

没有一个明确的标准说哪个框架最好。它们都各有不同,每个都有自己的长处。最重要的是你要知道它们任何一个都能让你开发出好用的Web应用。
开发
一旦你知道了如何去开发,那就要甩开臂膀开干了。这个开发工作可以看作有很多块,但说到底,这都是标准的编程活动了。在后台,你要创建类,对象,服务,过程,以及持久层来把这些对象保存到数据库中。后台是整个应用的核心,对任何应用来说,它跟普通的编程没有什么区别。接着是前台的开发,你编写的代码才是真正给用户使用的操作界面。你把后台的程序和原型界面集成到一起,把系统各部分集成到一起。你还可以把你在开发过程中想到的一些很炫的小功能用JavaScript实现。
再说一次,有很多种途径可以实现后台程序。建议你去读一读跟你选择的框架相关的资料,弄清楚如何实现这一部分的工作。通常,这些知识会跟面向对象编程有关,但有些框架正在慢慢的向领域驱动设计发展。

步骤五:发布和后续工作
这最后一步(但不是就此完结)是发布你的应用,让用户能够真正使用它(如果这个应用是个公众开发的应用,别忘了做新闻宣传)。如果你愿意,先发布一个Beta版,这样只有一小部分用户能够发现你的应用里的大问题(因为你的程序里肯定会有bug),他们会帮助你改进程序的质量。不要忙着增加功能,要专注于把你的程序变的稳固。
当经过了beta阶段,你的程序已经变得十分的稳固,听取用户反馈的意见,自己试用一下自己的应用,你可以开始思考如何使应用变的更好。找出不和谐的地方,消除掉。以后每次的迭代都要经过上面所说的五个步骤,但就像我最初说的,你已经有了一个可以运行的应用程序,你很容易直接在心里完成这些步骤,直接奔向在代码里测试你的功能。

web应用程序开发过程(百度搬运)相关推荐

  1. Web 应用程序 – 概述

    应用程序的体系结构 B/S结构优点 静态web的工作原理 静态页面的不足之处 动态网页的工作原理 应用程序体系结构 Web 应用程序体系结构 Web 应用程序目录结构 Web 应用程序开发过程 总结 ...

  2. 全连接层的输入和输出_理解Web应用程序的本质,网络数据流处理与基础网络连接...

    前言 前面一篇文章,我从整个应用程序的整体以及跟运行环境的关系简单聊了一下我们现在常用的Spring框架的设计基础和原则,其中主要是控制反转和依赖注入,以及容器化编程等概念. 这里我不想去复述这些概念 ...

  3. 【Spring Boot】使用Spring Boot来搭建Java web项目以及开发过程

    [Spring Boot]使用Spring Boot来搭建Java web项目以及开发过程 一.Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来 ...

  4. java web底层原理_详解Java开发Web应用程序的底层原理

    前言 前面一篇文章,我从整个应用程序的整体以及跟运行环境的关系简单聊了一下我们现在常用的Spring框架的设计基础和准则,其中主要是控制反转和依赖注入,以及容器化编程等概念. 这里我不想去复述这些概念 ...

  5. 渐进式Web应用程序的深入概述

    概述 如果您是Web开发人员,您可能已经了解渐进式Web应用程序(PWA)或已经实现了自己的应用程序. 如果您不熟悉,本文将深入概述渐进式Web应用程序的实现原理,以及它们在现代Web开发中的重要程度 ...

  6. 引用:编写高性能Web应用程序的10个技巧(一)

    在网上看到这样一篇文章:编写高性能Web应用程序的10个技巧 感觉很不错就引用到我的blog里面,和大家一起学习,同时也谢谢作者本人 数据层性能 技巧 1 - 返回多个结果集 技巧 2 - 分页的数据 ...

  7. 如何开发Web应用程序(非网站)

    看到这篇原文说,web应用程序和网站的开发不一样,收藏学习一下 这是一个经常被问到的问题,问的理所当然.作为一个程序员,为什么我就非要被认为知道如何开发Web应用程序呢?这个问题没有一个简单的答案,甚 ...

  8. Web 应用程序的自动化测试

    如今,大多数的应用软件被写为基于 Web 的应用程序并通过浏览器展示给用户并与之进行交互.不同公司和机构组织都需要测试这些应用程序的有效性.在一个高度交互性和响应的软件流程时代,许多组织倾向于运用敏捷 ...

  9. SAP Spartacus - Progressive Web Applications,渐进式 Web 应用程序

    原文 Spartacus 是一种基于 Angular 的 JavaScript 解决方案,主要在浏览器中运行.它是渐进式 Web 应用程序 (PWA) 之一,反过来又代表了响应式网站和应用程序的共生关 ...

最新文章

  1. sqlserver清除日志
  2. FPGA设计中MEMORY型数据怎么综合到blockRAM里面(二)
  3. 在Linux上安装其他版本的cmake 或 升级cmake
  4. hadoop2.6.5安装文档及解决root用户无法ssh localhost的问题
  5. 博士申请 | 香港科技大学陈浩教授招收AI医疗方向全奖博士/博后/实习生
  6. asp sql查询过滤空格_对比Excel,轻松学习SQL数据分析数据笔记02
  7. springboot quartz 动态配置_springboot集成quartz实现动态任务调度
  8. css演练 0920 个人简历的制作
  9. 【WPF】绑定Hyperlink超链接
  10. Hive提取json字段信息
  11. 学习笔记:关于科学方法在社会科学中的局限性
  12. MATLAB拟合优度检验
  13. 一本快速入门ARM64体系结构的编程书
  14. 硬盘安装manjaro linux,安装Manjaro Linux的详细步骤
  15. 国内DDOS防御的专业防火墙技术
  16. MySQL添加删除账户及授予权限
  17. vue:移动端使用ckplayer
  18. SQL注入绕过(passby)策略
  19. tkinter窗口布局pack方法详解
  20. 针织厂计算机社会实践报告,大学生寒假针织厂打工实践报告

热门文章

  1. 编程利用Google日历API发短信、Email
  2. ACCESS在程序运行中实时更新查询列表的条件
  3. 用burpsuite实现在谷歌中对百度抓包
  4. Qt工程的软件封装与打包
  5. 路路通 GPS软件 脱壳+破解 纪要 (RtNavi.exe)
  6. OpenCV3.X 编译 ——libpng库问题相关解决方法
  7. LTE学习-RACH(4)
  8. C++模板的底层实现
  9. 经典推荐算法之协同过滤
  10. 光环:软件工程环境堆栈建设思路——徐磊