天天看点

走进Web开发

从五月底开始接触web开发,到现在已经快三个月了.对web开发有了一定的了解.也实现了一些web应用程序.从最初的一个图书管理系统.到新闻发布系统,又到现在的教务系统.一路走来.收获很多.接下来会用几篇文章,总结自己在这段时间学习到的关于web开发的知识.

在这之前,首先说一下自己的体会.

最初对web程序的印象是强大.一个应用程序,不用安装,只要有个浏览器,你就能干自己的事了.方便,快捷,干净,环保.所以自己特别想做web的程序.

经过几个项目的锻炼,逐渐加深了对web开发的认识.

到底什么是web开发 呢?他和cs开发有那些异同呢?它都用到那些技术.他的工作原理是什么?

首先看看微软对它的定义:

Web开发是一个指代网页或网站编写过程的广义术语。网页使用 HTML、CSS 和 JavaScript编写。这些页面可能是类似于文档的简单文本和图形。页面也可以是交互式的,或显示变化的信息。编写交互式服务器页面略微复杂一些,但却可以实现更丰富的网站。如今的大多数页面都是交互式的,并提供了购物车、动态可视化甚至复杂的社交网络等现代在线服务。

通俗的说,web开发就是我们说的做网站.它分为网页部分,和逻辑部分也就是我们说的前台与后台.前台负责与用户的交互,显示数据.用到HTML显示数据,CSS控制样式,JS编写复杂交互.后台编写处理这些逻辑的程序.可以用C#,java,vb.php等语言.

现在web应用程序已经和我们的生活息息相关,小到我们的博客,空间.大到大型社交网站如facebook,人人等.更复杂的如电子商务中的C2C,B2B等网站.都给我们带来了很大的方便.

那么web开发与我们以前做过的cs开发有什么区别呢?

C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。

B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier(三层架构)结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构,microsoft.net也是在这样一种背景下被提出来的架构,但微软的方案只是一种构想,要成为现实还需要几年,而JAVA技术已经是很成熟的应用了。

从根本上说,cs开发更适合开发单机的应用程序,或者比较固定业务逻辑,而且对硬件要求较高的程序.比如:一些应用软件,如杀毒软件,教学软件这些与服务器逻辑交互较少,而且程序与客户端硬件有密切联系的程序.

而bs开发趋向于电子商务,社交网络等这些需要服务端密切配合的软件.他由于客户端只有一个浏览器,开发方便,用户体验简洁.但是会受到网络,通信的限制.必须考虑服务器性能.

总体来说:

由于管理与部署的简便性,B/S架构成为当今许多信息系统的首选,然而,用户是追求好的使用体验的,大体总结起来,有以下要求:

     (1)漂亮的界面。这点B/S有优势。

    (2)方便的输入。比如许多用户都希望能不用鼠标就可以录入数据,或者是通过简单的点击实现数据的自动填充,在B/S架构下实现起来比较麻烦,AJAX可以在一定程度上解决这个问题。

    (3)闪电般的速度。对于C/S而言,要实现响应速度快,有许多的法子可想,可B/S就不容易了。由于受到浏览器的限制,客户端强大的硬件资源几乎是被闲置的。另外,网络速度是B/S架构的瓶颈,除非带宽能有快速的增长,否则,WWW就是WorldWide Wait.

    C/S虽然拥有好的用户体验,但它的问题在于开发跨越整个互联网的分布式系统困难,而且由于需要安装客户端,系统更新与组件版本管理就成了一个大问题,此外,不象B/S架构中只需考虑服务器端的问题,在C/S架构由于多用户同时访问服务器,各组件间的调用和依赖关系复杂,在处理多线程访问共享资源,事务处理等方面必须同时考虑客户端与服务器端,吞吐量受到大的限制。因此,C/S多建构于局域网内,供企业内部使用

补充知识:

一、超文本(hypertext)

      一种全局性的信息结构,它将文档中的不同部分通过关键字建立链接,使信息得以用交互方式搜索。它是超级文本的简称。

二、超媒体(hypermedia)

      超媒体是超文本(hypertext)和多媒体在信息浏览环境下的结合。它是超级媒体的简称。用户不仅能从一个文本跳到另一个文本,而且可以激活一段声音,显示一个图形,甚至可以播放一段动画。 Internet采用超文本和超媒体的信息组织方式,将信息的链接扩展到整个Internet上。Web就是一种超文本信息系统,Web的一个主要的概念就是超文本连接,它使得文本不再象一本书一样是固定的线性的。而是可以从一个位置跳到另外的位置。你可以从中获取更多的信息。可以转到别的主题上。想要了解某一个主题的内容只要在这个主题上点一下,就可以跳转到包含这一主题的文档上。正是这种多连接性我们才把它称为Web。

Web的特点:

一、Web是图形化的和易于导航的(navigate)

      Web 非常流行的一个很重要的原因就在于它可以在一页上同时显示色彩丰富的图形和文本的性能。在Web之前Internet上的信息只有文本形式。Web可以提供将图形、音频、视频信息集合于一体的特性。同时,Web是非常易于导航的,只需要从一个连接跳到另一个连接,就可以在各页各站点之间进行浏览了。

二、Web与平台无关

      无论你的系统平台是什么,你都可以通过Internet访问WWW。浏览WWW对你的系统平台没有什么限制。无论从Windows平台、UNIX平台、Macintosh还是别的什么平台我们都可以访问WWW。对WWW的访问是通过一种叫做浏览器(browser)的软件实现的。如Netscape 的Navigator、NCSA的Mosaic、Microsoft的Explorer等。

三、Web是分布式的

      大量的图形、音频和视频信息会占用相当大的磁盘空间,我们甚至无法预知信息的多少。对于Web没有必要把所有信息都放在一起,信息可以放在不同的站点上。只需要在浏览器中指明这个站点就可以了。使在物理上并不一定在一个站点的信息在逻辑上一体化,从用户来看这些信息是一体的。 Web 是动态的

      最后,由于各Web站点的信息包含站点本身的信息,信息的提供者可以经常对站上的信息进行更新。如某个协议的发展状况,公司的广告等等。一般各信息站点都尽量保证信息的时间性。所以Web站点上的信息是动态的。经常更新的。这一点是由信息的提供者保证的。

Web动态的特性还表现在Web是交互的。

      Web的交互性首先表现在它的超连接上,用户的浏览顺序和所到站点完全由他自己决定。另外通过FORM的形式可以从服务器方获得动态的信息。用户通过填写FORM可以向服务器提交请求,服务器可以根据用户的请求返回相应信息。

继续阅读