2009-12-18 65 views
6

我一直在使用YUI库开发网站。 YUI 3于9月问世。说服我从YUI 2切换到YUI 3

我仍然不相信,如果我必须为迁移做好准备。

第3版比第2版有什么优势?

最近你是否参与过这样的迁移?

+0

你会考虑从YUI 2切换到ExtJS 3吗? – Upperstage 2009-12-18 15:21:49

+0

其实,它似乎不是很“可换肤”......但我没有足够的知识...... – Arno 2009-12-18 15:39:29

回答

6

我还没有参与迁移,但我已经为YUI 3画廊做出了贡献,我也知道有一个画廊条目允许YUI 2中的任何类在YUI 3中使用。我猜主要YUI 3的优点是能够按需求加载。你包含1个javascript文件,然后使用下面这一行来使用你想要的任何模块。

YUI().use('dom',function(){ 
// your code here 
}); 

这样做的好处是可以放置DOM模块,并且只在该函数的范围内可用。这很好,因为它只在特定范围内加载你想要的模块。这将防止与任何其他JS框架的冲突,如果你使用它们。

如果你想添加自己的自定义模块,你会做这样的事情

YUI().add('mycustompackage',function(Y){ 
    MyCustom.package.SomeClass = function(){} 
    MyCustom.package.SomeClass.prototype = {} 
},'1.0.0',{requires:['base','dom','event'],use:['node']}); 

那会增加你的模块,并注册的依赖关系,这样的话你可以这样

YUI().use('mycustompackage',function(){ 
// code goes here 
}); 
使用

我猜从我所看到的主要优点是更安全和便携的框架。您只能在给定的功能范围内使YUI 3模块可用。如果您愿意,可以将页面的主要范围释放出来用于其他事情。它也更加安全,你的函数的定义在一个私有的范围内,所以它们没有全局变量钩子可以被脚本注入或者不是被利用。

+0

感谢您的回答,它似乎相当完整... – Arno 2009-12-18 15:41:31

+0

没问题,祝你好运您的迁移(如果您选择这样做) – Zoidberg 2009-12-18 15:45:19

4

阿诺 - 这里是我的答案:

http://developer.yahoo.com/yui/theater/video.php?v=miraglia-yuiconf2009-yui3

这里是卢克的回答是:

http://developer.yahoo.com/yui/theater/video.php?v=smith-yuiconf2009-events

哦,托德的回答(也太棒了):

(甚至更好!)

http://developer.yahoo.com/yui/theater/video.php?v=kloots-yuiconf2009-sugar

YUI 3对我们来说是一大进步 - 我们对基础架构感到非常兴奋,我们从正在进行迁移的人那里听到的是他们喜欢YUI 3的体验。我们需要获取小部件3,但我们正在研究这个小部件(请参阅http://developer.yahoo.com/yui/theater/video.php?v=desai-yuiconf2009-widgets)。

我不是客观的,但我从那些人那里听到了好的东西。

-Eric

+0

关于您需要进行的小部件3 - 谨慎地进行详细说明? – 2009-12-19 11:20:30

+1

所有核心小部件 - DataTable,富文本编辑器,自动完成,按钮,滑动条,TabView,日历等 - 都需要有适当的YUI 3实现,每个发行版都经过测试,除了任何贡献的画廊。 – 2010-01-04 18:51:18

3

没有必要迁移。您可以在YUI 2旁边开始使用YUI 3,我鼓励您这样做。

我对YUI 3背后的想法和架构印象深刻。例如,YUI 3如何规范化节点和事件处理以及自定义事件如何像本地事件一样处理。

库的模块化不仅使它更易于使用,而且促进了自己编写更多模块化的代码,这是一件好事。

查看Eric的介绍视频以及所有其他YUI 3视频YUI Theater以查看更多理由进行切换。