`

如何开发Web应用程序?

阅读更多

Crossbrowser网站上曾发表一片博文《How to develop web applications》,文中分享了开发一个Web应用程序的全过程,是比较详细的Web开发入门教程。外刊IT评论对本文进行了翻译,先转载于此,全文如下:

这是一个经常被问到的问题,问的理所当然。作为一个程序员,为什么我就非要被认为知道如何开发Web应用程序呢?这个问题没有一个简单的答案,甚至那些教育机构都未必能清楚的知道;我上的那个大学并没有提供任何关于这个主题的课程。所以,像大多数在这个领域里的web开发人员一样,我只是通过去做,去实验才学会了这些。没有人告诉我如何去做,我从给自己做点什么东西开始,学会如何开发web应用程序是在这个过程中的一个副产品。这是学习任何语言的一个非常有效的方法。

你很幸运,我在这里将会把如何开发一个web应用程序的主要过程都讲一下。希望能帮助你入门。
Web应用程序与网站之间的区别

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

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

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

从里面,我总结出来自己对web应用程序的定义:

一个web应用程序是一个能够让用户完成某些特定任务的网站。而一个普通的网站的主要目标是给用户提供信息(博客,新闻,指导,等)。
Web应用程序的开发过程

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

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

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

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

当你对做出的草图满意后,你可以开始制作实体模型了。

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

原型是用HTML开发出来,使用CSS渲染(有时也是有Javascript)。页面布局要做出来,链接能够点,颜色,字体,字体大小要设定好(如果你做了实体模型,这个会很容易)。这一步非常的重要,因为这里所有的东西都能用于你最终的应用中。如果允许的话,在你的原型上做一些可用性测试,从长期的效果来看,这能使你避免大量的失误。

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

我建议你去听一下Ryan Singer在“Web应用的未来”研讨会上做的他是如何设计37signals的演讲。
步骤三:实现

选择一个框架

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

● ASP.NET

● PHP 上的任何一个流程的框架

● Python with Django

● Ruby on Rails

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

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

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

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

现在也是你做一些小的调整,改进你的应用程序给人的感觉的时候,让它趋于完美。
步骤五:发布和后续工作

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

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

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

分享到:
评论

相关推荐

    C++Builder开发Web应用程序

    本文将详细介绍如何使用C++Builder 开发Web应用程序,包括Web应用程序的基本原理、开发流程以及实例演示。 #### Web应用程序原理与类型 Web应用程序是一种运行在服务器端的软件,能够接收来自客户端(通常是Web...

    C#Web应用程序入门经典

    图书类型:pdg 本书探讨了Web应用程序开发中所涉及的主要问题,以及与桌面应用程序开发之间的重大差异。本书将重点放在实践上,围绕一个高度交互的web应用程序实例一步一步讲述了开发、调试、部署的每一个阶段...

    ASP.NET Web应用程序的开发

    ASP.NET Web应用程序开发是微软公司推出的用于构建动态网站、Web应用程序和Web服务的框架。它基于.NET Framework,提供了丰富的功能和工具,使开发者能够高效地创建高性能、安全性和可伸缩性的Web解决方案。 在开发...

    运用ASP.NET 2.0简化Web应用程序开发流程

    微软信息技术部 (Microsoft IT) 的 HRIT 部门想要减少其在 Web 应用程序空间上的低效状况,同时对新开发的 Web 应用程序强制标准的外观和行为。HRIT 部门所创建的解决方案可能有助于其它企业运用 ASP.NET 2.0 的新...

    C#-开发Web应用程序

    C#-开发Web应用程序

    目标web应用程序开发-译文

    目标Web应用程序开发 HANS-W.GELLERSEN和MARTIN GAEDKE 卡尔斯鲁厄大学 Web已经发展成为提供各种应用程序的全球环境,从小型和短期服务到分布在许多服务器上的大型企业工作流系统。使用基于HTML的前端的应用程序可从...

    ASP.NET Web应用程序开发新思维(英文版)

    ASP.NET是微软公司推出的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了丰富的功能和工具,简化了Web应用的开发流程。本资源"ASP.NET Web应用程序开发新思维(英文版)"是一本深入探讨ASP.NET...

    Web_应用程序开发—算法分析与应用

    本书紧紧围绕Web应用程序开发这一主题,针对各种关键问题,集中讨论解决方案,努力探求解决该类问题的一般思路和通用方法。全书共15章、3个附录。第1章和第2章的内容是Web开发的基础,介绍Web应用程序的体系结构、...

    开发Web应用程序

    开发Web应用程序 Web应用程序是运行在服务器端的程序,由多个Web页面通过超链接组织在一起。使用Visual Sdudio 2005创建的Web应用程序也叫“ASP.NET网站”,它对客户端的要求非常低,只需客户机上安装有浏览器即可...

    使用RAD开发Web应用程序培训

    ### 使用RAD开发Web应用程序培训知识点概述 #### 一、培训对象 本次培训主要面向以下两类人群: 1. **基于Java的Web开发者**:对于已经具备一定J2EE基础的开发者而言,通过此次培训将能够更加深入地掌握完整的J2EE...

    .Net Web应用程序设计

    本实验的主要目的是让学生了解各种标准服务器控件,并熟悉基于标准服务器控件的 Web 应用程序的开发过程。通过本实验,学生将学习如何综合应用各种标准服务器控件进行 Web 应用程序的开发。 HiddenField 服务器...

    体验经典Web应用程序

    体验微软经典Web应用程序体验微软经典Web应用程序体验微软经典Web应用程序体验微软经典Web应用程序

    Extjs WEB 应用程序开发指南

    extjs web 应用开发程序指南的源码 适合初学者学习

    c#+web应用程序入门经典.pdf

    在学习Web应用程序的开发时,入门书籍还会介绍Web标准,例如HTTP协议、HTML和CSS,以及如何使用JavaScript来增强页面的交互性。随着学习的深入,读者可能会了解到如何使用***框架提供的各种控件和组件,例如*** Web ...

    用PB开发WEB应用

    PowerBuilder(PB)是一款强大的企业级应用程序开发工具,尤其适合构建数据库驱动的Web应用程序。它以其易用性、高效的数据库访问以及内置的数据窗口组件而受到开发者喜爱。在本主题中,我们将深入探讨如何利用Power...

    ExtJS Web应用程序开发指南(第2版)

    利用ExtJS构建的RIA Web应用具有与桌面程序一样的标准用户界面和操作方式,并且能够跨不同的浏览器平台使用。ExtJS已经成为开发具有完美用户体验的Web应用选择。许多程序员在RIA Web开发的征途中选择ExtJS作为...

    C#web开发者指南教程PDF(含源代码),很适合入门学习C#web制作web应用程序。附带源代码。

    《C# Web开发者指南教程》是一本专门为初学者设计的教育资源,旨在帮助读者掌握使用C#语言进行Web应用程序开发的基本技能。这本书包含了丰富的理论知识和实际操作指导,结合了源代码,使得学习过程更具实践性。 C#...

    PowerBuilder11开发WEB应用之.NET应用程序开发

    PowerBuilder的过去、现在和未来 .NET应用程序开发 简介PowerBuilder 11.0 新功能和开发WEB应用

Global site tag (gtag.js) - Google Analytics