WEB 开发的趋势.

来源:互联网 发布:windows属于系统软件 编辑:程序博客网 时间:2024/03/29 14:03

   最近,在看一些有关于WEB方面的一些书,再加上原来学习过的一些东西,现在逐渐对WEB开发有了一些认识。并且随着阅读资料的深入,对这些认识越来越强烈,这个认识也刚好与现在WEB开发的趋势相一致。

   第一点认识:“分离”。这个分离有两个层次的意思:第一层就是“数据”与“显示”的分离,第二层就是数据,显示,与开发代码的分离。

   如果没有错的话,下面的代码是一个典型的HTML(1)代码

 在这个文件中,为了让标题显示在中间,使用了center标签,而且为了控制字体使用了size等,这样的HTML使需要显示的数据与控制数据显示的格式命令混合在了一起。而且在这个文件中<br>也没有关闭,在HTML中最典型的一个格式控制的例子就是使用表格来进行页面的布局而不是使用表格来显示数据,这种数据与格式混合的情况是数据的共享性变差,于是人们引入了CSS(2)(层叠样式表),CSS的主要作用就是控制HTML的显示格式。那么现在完全可以使用HTML来表示数据,而没有一点控制显示格式的痕迹了。

插入CSS也能达到同样的效果。并且还能获得更加精确的控制与效果。这样写就是HTML的升级版本XHTML。

虽然支持将CSS放到XHTML文件中,这个我推断并不是CSS应该存在的真实的位置,CSS严格的真实的位置应该完全在XHTML的外部,这样才符合分离的初衷。

但是这个时候XHTML还是没有完全脱离数据与现实的束缚,因为这些xhtml标签本身就暗含有一些显示的影子,而且标签的个数与功能都有限,完全不能满足日益丰富的INTERNET的要求,能不能允许客户自己定义标签呢?

于是XML(3)出现了,这个标签语言允许客户自己定义标签,当然必须符合DTD的约束,那么这些XML的数据如何显示呢?这个就是XSLT(4)的任务了。

这里XML就像现在大家还在使用的XHTML,用来表示数据,而XSLT就像CSS,来控制数据在不同应用中的显示,当然不仅仅局限于浏览器。

所以WEB开发的一个发展趋势是-------将来XML将会取代XHTML,而CSS也会被XSLT取代。

第二层的分离就是数据的动态显示与控制动态显示代码的分离

在这里不得不提一个新的东西就是DOM(5),DOM就是文档对象模型,其实就是数据在内存中的一个树形结构的表示,如果想实现页面的一些动态效果,完全可以使用代码进行控制DOM中的元素(ELEMENT),包括动态的插入,删除,随着时间逐渐显示或者隐藏的动态效果。这些效果很多程序员使用JAVASCRIPT(6)来实现.但是在JAVASCRIPT控制这些效果的起初,开发人员往往把这些代码直接写到HTML文件中,而且随着效果的越来越绚丽,这些代码也逐渐变得庞大起来,而且这些效果在很对网页中都基本一致,于是又有很对程序员将这些代码做成了像C,C++等应用程序的库,在您使用的时候,将这些库直接嵌入到网页中,就可以使用这个库提供的函数来实现很多功能。Jquery,scriptaculous等就是这样的库,同样的道理,这些这些控制网页效果的JAVASCRIPT也应该完全分离出来,而不能同html页面的数据在一起。

第二点认识是:桌面应用程序与WEB应用程序在互相融合

  很多用户已经非常习惯使用WINFORM程序了,觉得winform程序非常的灵活,快捷,界面可以随意拖动,但是winform程序需要在使用前安装等操作,而且winform程序在互联网中的功能好像没有WEB程序的网络能力强大,那么有没有不用安装程序,仍然使用浏览器打开应用,但是能够像使用WINFORM程序那样来操作网页的方法呢?现在它已经出现了,就是RIA(7)(Rich Internet Applications)富互联网应用.RIA 具有的桌面应用程序的特点包括:在消息确认和格式编排方面提供互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界面特性如拖放式(drag and drop)以及在线和离线操作能力。RIA具有的Web应用程序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可以充分利用被广泛采纳的互联网标准。RIA具有通信的特点则包括实时互动的声音和图像。现在在RIA领域风起云涌,各个公司都推出了自己的RIA技术,包括微软的WPF等,http://blog.csdn.net/EricLee00/archive/2007/03/22/1537022.aspx中有一个新闻短评,就是讲述OpenAjax,WPF,Apollo激战RIA的情形,在这场大战中,还有一个公司加入,那就是Adobe,现在形成了一个三足鼎立的趋势,.net,Adobe,java.《什么是AIR及产生背景》这篇文章(http://blog.csdn.net/niuyongjie/archive/2009/04/19/4092973.aspx)论述了这三者之间的关系。

看来这个世界变化真的很快!!!!