No he estado involucrado en una migración, pero he contribuido a la galería YUI 3, y también sé que hay una entrada en la galería que permite que cualquier clase de YUI 2 se use en YUI 3. Creo que la principal La ventaja de YUI 3 es la capacidad de cargar lo que desee a pedido. Incluyes 1 archivo javascript, y luego usarías la siguiente línea para usar los módulos en yui que quieras.
YUI().use('dom',function(){
// your code here
});
La ventaja de esto es que proporciona el módulo DOM, y lo pone a disposición SÓLO en el ámbito de esa función. Esto es bueno porque solo carga los módulos que desea en un ámbito específico. Esto evitará conflictos con otros marcos JS si los usa.
Si desea añadir su módulo personalizado que haría algo como esto
YUI().add('mycustompackage',function(Y){
MyCustom.package.SomeClass = function(){}
MyCustom.package.SomeClass.prototype = {}
},'1.0.0',{requires:['base','dom','event'],use:['node']});
Eso agregará su módulo, y registrar las dependencias, por lo que a continuación se puede usar diciendo
YUI().use('mycustompackage',function(){
// code goes here
});
Supongo que por lo que puedo ver, las principales ventajas son un marco más seguro y portátil. Puede hacer que los módulos YUI 3 estén disponibles SÓLO dentro de un alcance de función determinado. Esto libera el alcance principal de la página para otras cosas si lo desea. También es más seguro, la definición de sus funciones se encuentra en un ámbito privado, por lo que no tienen ningún gancho variable global para ser explotado por inyección de script o qué no.
¿Consideraría cambiar de YUI 2 a ExtJS 3? – Upperstage
En realidad, no parece ser muy "skinnable" ... Pero no tengo suficiente conocimiento de ello ... – Arno