Tôi chưa tham gia vào quá trình di chuyển, nhưng tôi đã đóng góp vào bộ sưu tập YUI 3 và tôi cũng biết có mục nhập thư viện cho phép bất kỳ lớp nào từ YUI 2 được sử dụng trong YUI 3. Tôi đoán chính lợi thế của YUI 3 là khả năng tải trong những gì bạn muốn theo yêu cầu. Bạn bao gồm 1 tệp javascript, và sau đó sẽ sử dụng dòng sau để sử dụng bất kỳ mô-đun nào trong yui bạn muốn.
YUI().use('dom',function(){
// your code here
});
Lợi thế của việc này là la ó mô-đun DOM và chỉ có sẵn trong phạm vi chức năng đó. Điều này là tốt vì nó chỉ tải các mô-đun bạn muốn trong một phạm vi cụ thể. Điều này sẽ ngăn chặn các xung đột với bất kỳ khung công tác JS nào khác nếu bạn sử dụng chúng.
Nếu bạn muốn thêm mô-đun tùy chỉnh riêng của bạn, bạn sẽ làm điều gì đó như thế này
YUI().add('mycustompackage',function(Y){
MyCustom.package.SomeClass = function(){}
MyCustom.package.SomeClass.prototype = {}
},'1.0.0',{requires:['base','dom','event'],use:['node']});
Đó sẽ thêm mô-đun của bạn, và đăng ký phụ thuộc, như vậy thì bạn có thể sử dụng nó bằng cách nói
YUI().use('mycustompackage',function(){
// code goes here
});
Tôi đoán từ những gì tôi có thể thấy, những ưu điểm chính là một khuôn khổ an toàn hơn và di động. Bạn có thể làm cho các mô-đun YUI 3 chỉ có sẵn trong phạm vi hàm đã cho. Điều này giải phóng phạm vi chính của trang cho những thứ khác nếu bạn muốn. Nó cũng an toàn hơn, định nghĩa của các hàm của bạn nằm trong một phạm vi riêng, vì vậy chúng không có móc biến toàn cục để khai thác bằng cách nói tiêm script hoặc cái gì không.
Bạn có cân nhắc chuyển từ YUI 2 sang ExtJS 3 không? – Upperstage
Trên thực tế, nó không có vẻ là rất "skinnable" ... Nhưng tôi không có đủ kiến thức về nó ... – Arno