montaque

小碗喝酒,小口吃肉

博客园 首页 新随笔 联系 订阅 管理
  119 Posts :: 1 Stories :: 680 Comments :: 17 Trackbacks

从04年,Web 2.0正式被提出来之后。围绕业务模式,模型。web 2.0应用雨后春笋。比前几年吵的很热的SOA还要火爆。我google了一下,web 2.0的结果是SOA 的20倍。在技术领域,哪怕开发工具,好似不支持web 2.0就很落伍了一样。我最近听了一个delphi的讲座,delphi 2007很快推出,他居然也说要支持web2.0. 那么对web 2。0的支持,从技术角度讲有那些层次呢。
1. 对Javascript/Ajax/DOM的包装和实现
    web 2.0 的技术其实分为三个部分,脚本语言, 浏览器展现的模型,异步调用。对于脚本语言,一般是, Sys.Serialization.Javajavascript,javascript本省没有什么安全类型,OO特性,命名空间。而一些第三方的库都会帮你去封装,去帮你做一些javascrip的OO使用。比如帮你扩展String的方法,实现一些常用的工具类。
 microsoft atlas client library (http://ajax.asp.net/docs/ClientReference/default.aspx)就有这部分的特性
比如你可以写OOScriptSerializer serialize代码一样

 Sys.Serialization.JavaScriptSerializer.serialize(yourobject)


 就可以把一个对象序列华成Json格式。

 另外就是对于Ajax的支持。Ajax 很大的特征就是异步调用。展开的话,就是不同的浏览器有不同的异步调用组件。调用的时候需要知道调用那个url,对方返回的是个什么内容,是javascript?还是一个对象(json格式)还是xml?Callback 是什么?为此几乎所有的ajax 框架都会封装这个特性。帮你做到浏览器兼容,编程透明。以下是Dojo的一个调用。
 客户端调用服务端的一个方法,服务端返回一个Json格式的对象。而对于.net ,也有一些第三方的库,负责把你序列华对象到json格式。比如 http://www.newtonsoft.com/products/json/
 你在客户端只要写一下,简单的一个方法调用。就可以完成绝大多数的操作。
  

var bindArgs = {
    url:        
"http://youserver/yourapp.aspx",
    mimetype:   
"text/json",
 sync:
true,
    error:      
function(type, errObj){
          alert(
"error");
    }
,
    load:      
function(type, data, evt){
        
// handle successful response here
   dojo.byId("result").innerHTML=data.FullName;  
    }

 }
;
 
  dojo.io.bind(bindArgs);

  
 仅仅有javascript的特性支持加异步调用还不够,能否跟Dom结合作出一些现成的可用的组件或者控件呢?比如能否给我一个自动完成的combox类似google sugesst一样?能否给我一个treeview异步的从后台抓数据?可否有一个拖放额效果?
 很多库也是支持这方面的需求。比如YahooUI(YUI),Dojo,MochiKit等。这三个库都是客户端的库,也就是说完全基于javascript+浏览器模型
 
2.对既有编程体系的扩展使之支持Ajax.
 两个典型的例子就是微软的Atlas server-side. 您只需拖放一个UpdatePanel控件,稍许配置一下就可以实现部分刷新。而Atalas帮你做自动的render成JS代码,js代码负责展现,后台异步调用以及操作dom。而且还支持可视化的调试。
 
 当然 Delphi 2007对 web20的支持也是这个范畴。有一些VCL for web的组件,让你可以用delphi的语法操作对象,对象自动有异步的事件。而生成的代码都是透明的。当然是非常混乱的。所以特别大的网站很少这样用。原因1:生成的js数量太大,影响加载速度。 2。太多不可控。因为这些特性,是很容易自己开发实现。
 
3. web 2.0的实现技术。出了传统的Ajax之外呢,你也可以用machomedia的Flex,实现强的展示,用户体验。还有一些快速开发的技术,比如用Ruby on Rails,我今天看了一个video,他可以15分钟作出一个blog来。。。


  
  

posted on 2007-03-16 11:53 montaque 阅读(3248) 评论(15) 编辑 收藏

评论

#1楼 2007-03-16 12:11 Cat Chen      
Web2.0其实根本不是技术,所以无所谓支持或者不支持啊。所谓支持Web2.0,最多就是支持Web2.0所需的常见的基础技术,其实就是AJAX,而AJAX甚至也算不上技术,能支持的就是JavaScript、DOM和XHR。
 回复 引用 查看   

#2楼 2007-03-16 12:55 roydu[未注册用户]
说的很散,看了两遍,好象关于delphi2007的,那个web 2.0/ajax后面的技术没啥关系吧?从题目开始偏题,一直偏..偏到最后,哥们你这mvp真不简单.
 回复 引用   

#3楼[楼主] 2007-03-16 13:04 montaque      
◎Cat Chen
没错,您说得很对。 web 2.0不是技术。我是想说一下那些开发技术来支撑web 2.0,其实狭义的支持也就是您说的这些。
@roydu
抱歉,我页不知道就写偏了。我是最近看了一下delphi的新特性,这个最不可能跟web 20有关西的产品页都支持ajax了。呵呵。

 回复 引用 查看   

#4楼 2007-03-16 13:41 Leepy      
能把那个video共享出来下么?
 回复 引用 查看   

#5楼 2007-03-16 13:50 非我      
看了标题乘兴而来,看了内容……
 回复 引用 查看   

严重偏题,不过题目取得好@#¥5
 回复 引用   

#7楼 2007-03-16 17:04 M[未注册用户]
http://www.rubyonrails.org/screencasts
 回复 引用   

#8楼 2007-03-16 17:09 wsx[未注册用户]
搂主是火星人,鉴定完毕!
 回复 引用   

#9楼 2007-03-16 18:34 ok[未注册用户]
楼主真菜,先搞明白术语再来BC
 回复 引用   

呵呵,大家都匆匆忙忙的干吗?
我只是展开了一个话题,参考了英国的一个科研机构JISC的一个section。
http://www.jisc.ac.uk/media/documents/techwatch/tsw0701b.pdf

不过web 2.0本来就是一个特别崇尚自由和自我的模型。百家争鸣是web 2。0最大的特色,而不是拘泥于少数人的只言片语

 回复 引用   

#11楼 2007-03-17 09:08 路过[未注册用户]
楼主提到了web 2.0大家都认为就是ajax的这部分技术,提到了三个很好的库。dojo. YUI. MochiKit ,描述了这些库的背景和解决什么问题。这个很好啊,有些人可能对JS不熟悉吧。
 回复 引用   

文不对题。。。
 回复 引用 查看   

#13楼 2007-08-20 14:22 asky99[未注册用户]
Web2.0不是技术,Web2.0主要是互动,相对与Web1.0而言的。Ajax也只是提高UE的一种形式
 回复 引用   

出售蓝奇高级验证码识别引擎,可准确识别新浪动网淘宝CSDN等多种复杂验证码。

输出为一个标准DLL,可供VB,VC,Delphi,C#.NET,VB.NET,模拟精灵,按键精灵等多平台调用,调用方法简单,几行代码即可完成。独具特色的边缘检测字符分离、旋转倾斜纠正和通用字符匹配算法(无论字体和大小), 使得该引擎对于像新浪、动网、淘宝、CSDN等多种验证码均有不错的识别率,是一款效果较为理想的验证码识别引擎。附详细的调用实例和代码注释等相关技术文档。

官方网站 - http://***/yzm_advocr
识别效果怎么样一试就知道 - DEMO下载 http://***/yzm_advocr/advocr.rar

 回复 引用   

#15楼 2009-02-16 19:47 =.=[未注册用户]
这种文章竟然被google排在前面,真是………………
 回复 引用