从五月底开始接触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多建构于局域网内,供企业内部使用