公司的项目4月份开始,我们选择了dojo,不为别的,因为他有IBM的支持。当然,我个人认为EXT也是不错的。
其实开源的类库和框架我们公司用的还是很谨慎的,这次能够用上dojo我已经心满意足了。可惜,还是被开源给摆了一道,当我们开发了一大半页面的时候,dojo 1.0 发布了,而且改变很大,我们面临一个选择,继续用0.43还是升级到1.0,公司决定先进行一个评估,这个任务就落在我的头上了。
[b]评估[/b]
站在个人的立场上,我当然是希望能够升级到1.0,但是设计到进度和时间的安排,这个评估是必不可少的。
通过分析,我发现dojo控件的 Package 和 dojoType 命名全部都变了,但是这个很容易处理,用全局替换(global replace)就可以处理。麻烦一点的就是一些控件的属性也有变化,庆幸的是这些变化很小。另一方面,就是使用到的dojo函数和变量了,dojo的函数很多,不过因为我们对dojo的研究还不是很深入,所以并没有大量的采用,用的多一点的也就是那么几个,dojo.byId, dojo.widget.byId, dojo.addOnload。最麻烦的就是曾经使用过一个dojo的scriptScope变量_container_, 这个变量在dojo1.0里面没有合适的代替者,通过_container_可以获得js当前的scriptScope,比如contentPane,这样的话,类似_container_.addOnLoad(...)的代码必须改成dojo.widget.byId(widgetId).addOnLoad(...),widgetId在每个页面都是不同的,有一部分页面可能是动态的,同样的,这样的地方不多。
综上,这样的升级还是能够接受的,可以找一个稍微初级一点的程序员也能够搞定。
其实开源的类库和框架我们公司用的还是很谨慎的,这次能够用上dojo我已经心满意足了。可惜,还是被开源给摆了一道,当我们开发了一大半页面的时候,dojo 1.0 发布了,而且改变很大,我们面临一个选择,继续用0.43还是升级到1.0,公司决定先进行一个评估,这个任务就落在我的头上了。
[b]评估[/b]
站在个人的立场上,我当然是希望能够升级到1.0,但是设计到进度和时间的安排,这个评估是必不可少的。
通过分析,我发现dojo控件的 Package 和 dojoType 命名全部都变了,但是这个很容易处理,用全局替换(global replace)就可以处理。麻烦一点的就是一些控件的属性也有变化,庆幸的是这些变化很小。另一方面,就是使用到的dojo函数和变量了,dojo的函数很多,不过因为我们对dojo的研究还不是很深入,所以并没有大量的采用,用的多一点的也就是那么几个,dojo.byId, dojo.widget.byId, dojo.addOnload。最麻烦的就是曾经使用过一个dojo的scriptScope变量_container_, 这个变量在dojo1.0里面没有合适的代替者,通过_container_可以获得js当前的scriptScope,比如contentPane,这样的话,类似_container_.addOnLoad(...)的代码必须改成dojo.widget.byId(widgetId).addOnLoad(...),widgetId在每个页面都是不同的,有一部分页面可能是动态的,同样的,这样的地方不多。
综上,这样的升级还是能够接受的,可以找一个稍微初级一点的程序员也能够搞定。