论坛首页 AJAX版 AJAX

会让人疯掉的dojo

浏览 7398 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2007-11-13
设计确实不错,但是功能好像只是给人看的,而不是给人用的。在用了dojo的东西以后,有好多的功能不能直接使用,看起来很好,例子总是那么的简单,但是一旦自己修改了,他的版本一升级,就得重新修改一遍,而且好多时候是连api都全部改变了,我觉得这可能是开发人员最难以接受的吧!没有一个固定的api不知道是否经过思考和设计的,如果有用的比较熟练的前辈,还希望多给dojo板块发些好的资料啊!我在项目中就用了它的校验功能,而且没有Textarea的校验,不得不自己写了一个。树的组件也被改了好多,其他的暂时没有用,不过它封装的dojox还是挺不错,对浏览器绘图提出了一个好的解决方法,针对vml和svg的封装。
   
0 请登录后投票
最后更新时间:2007-11-13
用ExtJS吧!
   
0 请登录后投票
最后更新时间:2007-11-13
Dojo的文档确实写的不好,给个链接自己用eMule去下吧。
ed2k://|file|Dojo_Developer_Guide.pdf|923301|C24D468767B4E55E76F93C040B06D6E5|/
我下了一个不小心删掉了,下完的同学可以压缩一下传上来。

不过Dojo要解决的很多问题是传统DHTML开发多年来难以解决的问题,甚至包括很多传统DHTML从来未曾涉足的领域(2D、3D图形、本地存储、Comet等等),所以对Dojo我还是寄予厚望的。不应该因为自己大部分开发都用不到这些,就完全否定Dojo做这些工作的价值。

Dojo是一个很有趣的框架,很多时候会给我带来惊讶,原来DHTML/Ajax还能做这个,原来DHTML/Ajax还能做那个。Dojo的设计好坏我们可以讨论,但是现在,一些事情是只有Dojo能做到的,它能做到,就已经很令人惊奇了。

不过因为Dojo一直在不断地扩充、修改和重构,而且缺乏文档,所以Dojo虽然很有趣,但是并不适合用在项目或者产品的开发过程中。Dojo 1.0发布后,也许会稳定下来,并且提供更好的文档。

现在我们使用Rails,所以Ajax开发用RJS、Prototype、script.aculo.us。这几个库的文档很全,书也已经出了好几本了。
   
0 请登录后投票
最后更新时间:2007-11-13
Dojo的地位值得肯定。
对比DOJO和EXT(or YUI)的源码,是两种明显不同的风格。
有没有一种综合方案,把两者的优点都提炼出来?
   
0 请登录后投票
最后更新时间:2007-11-14
dlee 写道
Dojo的文档问题确实写的不好,给个链接自己用eMule去下吧。
ed2k://|file|Dojo_Developer_Guide.pdf|923301|C24D468767B4E55E76F93C040B06D6E5|/
我下了一个不小心删掉了,下完的同学可以压缩一下传上来。

不过Dojo要解决的很多问题是传统DHTML开发多年来难以解决的问题,甚至包括很多传统DHTML从来未曾涉足的领域(2D、3D图形、本地存储、Comet等等),所以对Dojo我还是寄予厚望的。不应该因为自己大部分开发都用不到这些,就完全否定Dojo做这些工作的价值。

谢谢dlee的文档链接。像2D、3D、本地存储这些值得期待,在新一代客户端技术成熟之前,似乎只有用这些折衷的实现。但dojo要做的事情太多,没有把最常用的功能做到精益求精,现在项目里用得还是有点胆颤心惊,希望dojo-1.1能更好。
引用

Dojo是一个很有趣的框架,很多时候会给我带来惊讶,原来DHTML/Ajax还能做这个,原来DHTML/Ajax还能做那个。Dojo的设计好坏我们可以讨论,但是现在,一些事情是只有Dojo能做到的,它能做到,就已经很令人惊奇了。

不过因为Dojo一直在不断地扩充、修改和重构,而且缺乏文档,所以Dojo虽然很有趣,但是并不适合用在项目或者产品的开发过程中。Dojo 1.0发布后,也许会稳定下来,并且提供更好的文档。

现在我们使用Rails,所以Ajax开发用RJS、Prototype、script.aculo.us。这几个库的文档很全,书也已经出了好几本了。

确实是这样的,不过很多仅限于“惊讶”,达不到真正可用。只是希望dojo能尽快完善,否则在ext、prototype、silverlight的夹击下,比较难以真正普及开来,会不会成为叫好不叫座?要美观和“易用”,并且足够强大,ext无疑是很好的选择。要轻巧,mootools、prototype、jquery也很不错,prototype得到了ROR社区的支持,jquery则对应着python社区,我看python-cn mailling list里清一色的jquery……silverlight、flex这些看似更加强大。

sp42 写道
Dojo的地位值得肯定。
对比DOJO和EXT(or YUI)的源码,是两种明显不同的风格。
有没有一种综合方案,把两者的优点都提炼出来?


有一个问题,我个人觉得dojo的widget框架还不错,拥有比较好的一套机制,比如基于django语法的template是一个亮点。不知道有没有人能对ext和dojo以及其他一些框架的widget做一些对比?

另外,似乎现在的dojo的类继承机制不是太完善,父类的构造函数默认被调用。下面这样的代码就有可能出问题:
dojo.declare("hello.Parent",null,{
        constructor:function(name){
        this.name = name;
   },
   say:function(){
        alert('hello ' + this.name);
   }
});
  
dojo.declare("hello.Child",hello.Parent,{
    constructor:function(gender,age){
        this.gender = gender;
        this.age = age;
    }
});
function foo ()
{
    var person = new hello.Child('male',18);
    person.say();
}

打印出来是:
引用
hello male

粗看了一下dojo.declare的源码,没搞清楚,暂时还没有时间去研究。出现这个问题是在dojo-grid的model里。
dojox.grid.data.Model的constructor
constructor: function(inFields, inData){
		this.observers = [];
		this.fields = new dojox.grid.data.Fields();
		if(inFields){
			this.fields.set(inFields);
		}
		this.setData(inData);
	},

造成每扩展一个model都必须这样去调用:new xxx.MyModel(null,null,myarg1,myarg2,...)
子类如果把自己的参数放在前两个位置,如:
constructor: function(url){
    this.url = url;
}

调用:new xxx.MyModel(myurl)
dojox.grid.data.Model的constructor执行时,就会把你的url参数当inFields来使用,就会发生意外……除了使用对象直接量作为构造函数参数外,还有其他更好的办法吗?或者dojo里已经提供了父类构造函数不自动执行的方式,请各位指点一二.
dojo文档这么写的:But you don't have to worry in the constructor. As we said above, superclass constructors are always called automatically, and always before the subclass constructor. This convention reduces boilerplate in 90% of cases. [b]
可js这种弱类型的语言它怎么去保证自动调用不出错...
另附刚才dlee发的文档,在回帖期间居然下载完了,很不幸的是非dojo-0.9以后的...
   
0 请登录后投票
最后更新时间:2007-11-14
Dojo原创很多东西;
而Ext显得没什么原创,以致有些人说EXT,--只不过把网上一些有用的脚本收集起来。
我的看法是,除了这些,还揉合了一些思想,尤其ext2的对象模型,熟悉swing/awt的朋友应该看得出来。
   
0 请登录后投票
最后更新时间:2007-11-15
Dojo Book 1.0版他们在加紧写,另外看到说有个人正在为出版社写一本Dojo的专著。

O'Reilly上个月出了一本Dojo的快速入门:
http://www.oreilly.com/catalog/9780596517052/

IBM/BEA/AOL都在自己的产品中使用了Dojo,Dojo 1.0的API稳定下来之后,他们估计也会为Dojo写一些文档的。
   
0 请登录后投票
最后更新时间:2007-11-15
我个人用的dojo的就是校验和2d绘图,因为要做webgis,想尽量不和后台交互,这样速度可能会好些,但是前端的绘图开发就得使用vml或者svg,想跨浏览器,那么dojo就是一个很好的类库了,它处理了根据不同浏览器,把相应的代码的转换工作,看到1.0中的3d的效果,确实不错。但是dojo的widget就是看起来蛮好看的,在项目中真正用的时候,就不是那么回事了,可以作为学习。希望以后会有更对的js类库关注跨浏览器绘图方面的功能,webgis毕竟是一个趋势,那么跨浏览器的工作,就是js的工作了。
   
0 请登录后投票
最后更新时间:2007-11-23
重新评价。
   
0 请登录后投票
最后更新时间:2007-11-23
xxxxxx
   
0 请登录后投票
论坛首页 AJAX版 AJAX

跳转论坛:
JavaEye推荐