<p>作为一名优秀的Web开发人员,如何去开发出一款优秀的Web应用程序?很少有人能给出个确切的答案,就连那些教育机构都未必清楚。所以大多数的Web开发人员都会去通过实验来学会这些。一开始改怎么去做?我们从给自己做点什么东西开始,在此过程中学会如何开发Web应用程序,这是学习任何语言的一个非常有效的办法。经过自己的摸索,基本的特征已经弄清楚了,现在就可以开始定义开发Web应用程序的整个过程。过程中的某些步骤可能很简单,在你脑海里就能完成这个工作,但是把事情整个的了解清楚总是有好处的。下面简单介绍下整个过程。首先分析需求通过分析需求,你先定义出一个要开发的Web应用程序应该提供的功能的清单。你开发的应用程序能能帮客户做些什么工作,你需要清楚他们想要什么。从和客户的讨论中,你可以总结出需求和软件规格。即使是为自己开发,你也应该把你要开发的Web应用程序能够做的功能列出来。其次是设计一旦你弄清楚了这个web应用需要做哪些事情,你就可以开始设计了。这个步骤通常会反反复复进行很多次,每一次都把设计细化一些。你第一要做的是画出页面流程图(可以用某些软件做这些,如EnterpriseArchitect)。页面流程图通常是很抽象的黑白绘画,画出你将要实现的web应用的样子。这个步骤能够让你知道你的应用最终会是个什么样子。跟37signals倡导的相反,我建议使用一些词语描述,适度细化。当我想到一个很好的想法时,或想到事情该如何做时,我会把它标注到纸上。当你对做出的草图满意后,你可以开始制作实体模型了。实体模型仍然是些图案,但有色彩和细节。最终的实体模型看起来应该像你将要实现的web应用的一个截屏图。如果你为一个客户开发,他会看看这些东西,并给你他的认可。然而,很多人都喜欢跳过这一步(大多数都是非设计人员),他们喜欢直接奔向网页原型。原型是用HTML开发出来,使用CSS渲染(有时也是有Javascript)。页面布局要做出来,链接能够点,颜色,字体,字体大小要设定好(。这一步非常的重要,因为这里所有的东西都能用于你最终的应用中。如果允许的话,在你的原型上做一些可用性测试,从长期的效果来看,这能使你避免大量的失误。在这个步骤的最后,你基本上就知道了你的web应用是如何组织到一起的了。登录页面有些什么,用户如何从主页转向到各个页面。然后是实现程序功能,选择一个框架现在我们已经知道了要去开发什么东西,那就要把它做出来。这一部分的工作很多,你大部分的时间都要花在这个上面。你第一个要做的决定是如何着手,采用什么样的技术,什么框架。你有很多选择的余地,你需要选出一个适合你的。下面是一个最常用的框架的列表:ASP.NETPHP上的任何一个流程的框架PythonwithDjangoRubyonRails没有一个明确的标准说哪个框架最好。它们都各有不同,每个都有自己的长处。最重要的是你要知道它们任何一个都能让你开发出好用的web应用。一旦你知道了如何去开发,那就要甩开臂膀开干了。这个开发工作可以看作有很多块,但说到底,这都是标准的编程活动了。在后台,你要创建类,对象,服务,过程,以及持久层来把这些对象保存到数据库中。后台是整个应用的核心,对任何应用来说,它跟普通的编程没有什么区别。接着是前台的开发,你现在编写的代码才是真正给用户使用的操作界面。你把后台的程序和原型界面集成到一起,把系统各部分集成到一起。你还可以把你在开发过程中想到的一些很炫的小功能用Javascript实现。然后是完善应用程序现在应用程序已经开发出来,各个独立的模块也集成到了一起。你需要通过测试来确保你在步骤一中定义的需求和软件规格是否被实现(这个问题在你开发的整个过程中都要记在脑中)。你要确保那些愚蠢的用户不能通过试图做一些你还没有实现的操作而把你的应用弄坏(参考白盒和黑盒测试)。你同时还要确保你的程序能够在各种浏览器里(希望不是IE6)都能正确的运行。现在也是你做一些小的调整,改进你的应用程序给人的感觉的时候,让它趋于完美。最后是发布这最后一步(但不是就此完结)是发布你的应用,让用户能够真正使用它(如果这个应用是个公众开发的应用,别忘了做新闻宣传)。如果你愿意,先发布一个Beta版,这样只有一小部分用户能够发现你的应用里的大问题(因为你的程序里肯定会有bug),他们会帮助你改进程序的质量。不要忙着增加功能,要专注于把你目前的程序变的稳固。经过了测试阶段后,你的程序已经变得十分的稳定了,听取用户的反馈意见,自己也用用一下自己开发的应用程序,这时候你就可以开始思考如何使应用变的更好。找出不好的地方,去除掉。</p>