Web开发是一个广义的术语,为互联网(www)或企业内网所涉及的工作而开发一个网站。这可以包括网页设计,网页内容开发,客户联络,client-side/server-side脚本,Web服务器和网络安全配置,以及电子商务的开发。然而,在Web的专业人士之中,“Web开发”通常是指建立网站:编码方面的工作。 Web开发的范围可以从简单的静态单一的纯文本页面到最复杂的基于Web的网络应用程序,电子商务,社交网络服务开发等。对于较大的组织和企业,网站开发团队可以由数以百计的人来共同完成。规模较小的企业可能只需要一个web管理员加上一个平面设计师和/或信息系统技术人员等相关职位的人,因为甚至他不需要知道编码,直接买现成的程序会操作后台即可。
20世纪90年代中期以来,Web开发已经成为世界上增长最快的行业之一。 在美国1995年仅有1000家以下的网络开发公司,但到2005年,有超过30,000家这样的公司。这个行业的增长正在推动大型企业出售它们的产品和服务给他们的客户并自动化的业务流程。此外,网站开发和托管的成本已大幅下降,作为早期的网站的情况下花费是几十万美元,人们现在却可以免费使用,如在谷歌平台下开发一个简单的网站。至于Web开发工具和平台,有很多免费系统提供给公众帮助发展。一个普遍的例子是LAMP(Linux操作系统,Apache,MySQL和PHP)协议栈,这通常是免费的分布式系统。这一事实本身就体现了许多世界各地的人们建立新的Web站点从而有利于提高网络的发展普及。另一个因素就是简单易用的所见即所得的网页开发软件,最显着的Adobe Dreamweaver中,或微软的Expression Studio。使用这样的软件,几乎任何人都可以相对快速地在短短的几分钟内,学习如何开发一个非常基本的网页。超文本标记语言(HTML),或其他编程语言的知识仍然需要使用,但网络上这样的资料实在是太多。
下一代Web开发工具使用的强劲增长,LAMP,Java平台,微软.NET技术等,最戏剧性的转变就是通信和商业Web开发的例子,包括电子商务。在线竞拍网站如eBay已经改变了消费者的消费与购买商品和服务的方式。 Amazon.com和Buy.com等在线分销商,已经改变了很多消费者的购物的体验。另一个很好的例子是由Web开发的博客。此外,Web开发已经转移到一个新的阶段。计算机网站不再是简单的工作或商业工具。Facebook和Twitter就是很好的例子,它们为用户提供了自由沟通的平台。大型社交网站发展如火如荼。
Web开发可以被分成几种类型,一个典型的和基本的Web开发层次结构可能包括:
1. 客户端编码
◆AJAX:异步JavaScript提供了新的方法,使用JavaScript和其他语言,以改善用户体验。
◆Flash:Adobe Flash Player是一个无处不在的浏览器插件和RIA(富互联网应用)。相信搞过Flash的人就会了解Flex。
◆JavaScript:JavaScript是一个无处不在的客户端平台,用于创建和与丰富的Web应用程序交互,也可以运行在各种设备上。
◆jQuery:的跨浏览器的JavaScript库,旨在简化和加快客户端HTML的脚本。
◆微软的Silverlight:微软的浏览器插件,允许动画,矢量图形和高清晰度视频播放,编程使用XAML和.NET编程语言。
◆原生支持HTML5和CSS3最新的HTML推荐标准,结合最新的CSS标准推荐框架,如Flash和Silverlight客户端提供的功能
2. 服务端编码
◆ASP:Microsoft专有
◆CSP:服务器端ANSI C
◆ColdFusion的(adobe专利,前身是Macromedia公司)
◆CGI
◆Groovy(编程语言)Grails(框架)
◆Java:例如Java EE或WebObjects的
◆Lotus Domino的
◆Node.js的
◆Perl:Catalyst,Dancer,Mojolicious(所有开源)
◆PHP(开源)
◆Python:例如Django(web框架)(开源)
◆Real Studio Web Edition
◆Ruby:例如Ruby on Rails(开源)
◆Smalltalk:例如Seaside, AIDA/Web
◆SSJS服务器端JavaScript:例如Aptana Jaxer, Mozilla Rhino
◆WebDNA(WSC专利)
◆WebSphere(IBM专利)
◆.NET和.NET MVC框架(Microsoft专利)
3. 客户端+服务器端
◆Google Web Toolkit提供的工具来在Java中创建和维护复杂的JavaScript前端应用程序。
4. 数据库
◆Apache Derby
◆DB2 (IBM专利)
◆Firebird
◆Microsoft SQL Server
◆MySQL
◆Oracle
◆PostgreSQL
◆SQLite
◆Sybase
◆WebDNA
◆Redis
◆MongoDB
◆CouchDB
5. 更专业的分工
◆GUI(图形用户界面)设计
◆音频,视频和动画处理和编码(Web使用)
◆Flash功能(动画,音频,视频,脚本)
◆网站内容管理系统部署和/或内容管理基础设施的设计,开发和集成
◆Web应用程序开发,集成和部署
◆Web服务器压力测试
◆网站的安全性分析与测试
◆网站代码优化(这是搜索引擎优化的一个重要方面)
◆常见的IT开发项目管理,QA等方面