代码之家  ›  专栏  ›  技术社区  ›  Arno

说服我从YUI 2切换到YUI 3

  •  6
  • Arno  · 技术社区  · 15 年前

    我一直在用Yui图书馆开发网站。YUI 3于9月推出。

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

    第三版比第二版有什么优势?

    最近你有没有参与过这样的迁移?

    3 回复  |  直到 15 年前
        1
  •  6
  •   Zoidberg    15 年前

    我没有参与过迁移,但我为Yui3画廊做出了贡献,我也知道有一个画廊条目允许在Yui3中使用来自Yui2的任何类。我想Yui3的主要优势是能够按需加载所需内容。您包含1个javascript文件,然后使用下面的行使用您想要的yui中的任何模块。

    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模块仅在给定的功能范围内可用。如果您愿意的话,这将释放页面的主范围以用于其他事情。更安全的是,您的函数定义在一个私有范围内,因此它们没有全局变量钩子可以通过脚本注入或其他方式加以利用。

        2
  •  4
  •   Eric Miraglia    15 年前

    阿诺——这是我的答案:

    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

    Yui3对我们来说是向前迈出的一大步——我们对基础架构感到非常兴奋,我们从迁移者那里听到的是,他们喜欢Yui3体验。我们需要让小部件继续3,但我们正在努力(见 http://developer.yahoo.com/yui/theater/video.php?v=desai-yuiconf2009-widgets )

    我不是很客观,但我从那些人那里听到了好消息。

    -埃里克

        3
  •  3
  •   frglps    15 年前

    不需要迁移。你可以在YUI 2的右边开始使用YUI 3,我鼓励你这样做。

    我对Yui3背后的理念和建筑印象深刻。例如,yui 3如何规范化节点和事件处理,以及如何像本机事件一样处理自定义事件。

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

    看看埃里克的介绍视频和所有其他YUI 3视频 YUI Theater 以了解进行切换的更多原因。