说服我从YUI 2切换到YUI 3

时间:2009-12-18 15:15:46

标签: javascript yui

我一直在使用YUI Library来开发网站。 YUI 3于9月份问世。

我仍然不相信我是否必须为迁移做好准备。

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

您最近是否参与过此类迁移?

3 个答案:

答案 0 :(得分: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模块可用。如果您愿意,这可以释放其他内容的页面主要范围。它也更安全,你的函数的定义在私有范围内,所以它们没有全局变量钩子可以通过脚本注入来利用或者没有。

答案 1 :(得分:4)

Arno - 这是我的答案:

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

答案 2 :(得分:3)

无需迁移。你可以在YUI 2旁边开始使用YUI 3,我鼓励你这样做。

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

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

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