Я не участвовал в миграции, но я внес вклад в галерею YUI 3, и я также знаю, что есть запись в галерее, которая позволяет использовать любой класс из YUI 2 в YUI 3. Я предполагаю, что основной Преимущество YUI 3 - это способность загружать то, что вы хотите по требованию. Вы включаете 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 доступными ТОЛЬКО в пределах данной области действия. Это освобождает основной объем страницы для других вещей, если вы пожелаете. Его также более безопасно, определение ваших функций находится в частной области, поэтому у них нет глобальных перехватчиков переменных, которые могут быть использованы, например, с помощью сценария или что нет.
Рассматриваете ли вы переход от YUI 2 к ExtJS 3? – Upperstage
На самом деле, похоже, это не очень «скин» ... Но у меня недостаточно знаний об этом ... – Arno