A-Status auf dem YUI 2-zu-3 Transition Prüfen

5. November 2010 um 11.06 Uhr von Eric Miraglia | In Entwicklung , YUI 3 Galerie | 7 Kommentare

Die YUI 2 JavaScript-und CSS-Bibliothek verfügt über eine enorm erfolgreiches Produkt in den vier-jährigen, seit wir es veröffentlicht im Jahr 2006. YUI 2-Distributionen wurden mehr als 2 Millionen Mal heruntergeladen, und Tausende von Entwicklern nutzen heute YUI, ohne jemals den Download der Dateien, zog stattdessen entweder aus dem Yahoo oder Google EUR. 1 YUI Verkehr auf der Yahoo! EUR hat über die Jahre stetig gewachsen da wir es der Öffentlichkeit, und heute haben wir schätzen, dass yui.yahooapis.com ist für rund 15 Milliarden Dateien monatlich.

Es ist kein Geheimnis, aber, dass YUI Ingenieure bei Yahoo! verbringen den größten Teil ihrer Energie arbeiten heute auf YUI 3 , der Nachfolger Projekt YUI 2, und eine, die viele der Lektionen von YUI-Ingenieure in den Jahren gelernt, gilt verbrachten wir Gebäude YUI 2. YUI 3 heute ist robust und feature-rich. Am Nutzenniveau (Animation, XHR, drag and drop, etc.), überschreitet er die funktionale Ebene der YUI 2. Auf der Widget-Ebene ist, wo YUI 2 wurde mit seinem breiten Portfolio, YUI 3 beliebte noch Nachholbedarf. YUI 2er-DataTable sind Editor, Menü, Button und Kalender immer noch der Standard und YUI 3 Benutzer auf der Suche nach gleichwertigen Funktionen sind heute zu den geführten YUI 2-in-3-Projekt , mit dem Sie einfach schließen und zu nutzen YUI 2 aus ermöglicht innerhalb von YUI 3-Implementierungen. Das ist einfach und sicher, aber es ist auch nicht optimal: Wir würden es vorziehen, nicht zwischen den beiden APIs Schalter, und wir würden es vorziehen, nicht auf die Laufzeit-Overhead des Ladens beiden Bibliotheks-Kerne entstehen.

Da wir für nächste Woche vorbereiten YUIConf 2010 , schien es wie ein guter Zeitpunkt, um den Status der YUI 2-zu-YUI 3 Übergang zu überprüfen. Wir sind etwas mehr als einem Jahr in die YUI-3-Ära, und nicht ganz ein Jahr aus dem YUI 3 Galerie 's zu starten. Zwischen den YUI-Team bei Yahoo! und die von Ihnen in der YUI-Community beizutragen Komponenten (fast 100 contribitors insgesamt), wie werden wir denn da?

Die Antwort mag Sie überraschen.

Mit Projekten wie Liferay AlloyUI und Dutzende unabhängige Beiträge Auffüllen der Galerie haben wir jetzt mehr Optionen zur Verfügung, auch an den Widget-Ebene in YUI 3 als wir mit YUI 2 ausgeliefert. Die folgende Tabelle entspricht die Funktionalität zwischen den beiden Bibliotheken und gibt ein Gefühl dafür, wie die beiden Bibliotheken vergleichen in Bezug auf die funktionalen Kategorien. Vorsichtsmaßnahmen:

  • Wenige Zeilen werden 1:1 Vergleiche. Wenn ich sage, dass die Funktionalität unterstützt wird, weiß ich nicht, dass es in genau der gleichen Weise oder mit der gleichen Leistungsstufe in beiden Entwicklungspfaden unterstützt wird.
  • Alle nicht unterstützten Features in YUI 3 kann über YUI 2-in-3 zugegriffen werden.
  • Wo habe ich angedeutet, dass etwas über community / Galerie unterstützt wird, bin ich damit nicht sagen nichts über die Funktion Vollständigkeit der Gallery Inhalt - lediglich, dass die Gemeinde hat, um diesen Bedarf reagiert und produziert und gemeinsam eine Lösung.
  • Diese Tabelle enthält nur einen Bruchteil des Inhalts, dass in der Galerie ist. Ein genaueres Bild, inklusive aller Inhalte Gallery, würde YUI 3 Verzwergung YUI 2 in Bezug auf die Komponente Optionen anzuzeigen. Ich habe mich hier auf die Grundfunktionalität von YUI 2, den Gegenwert in YUI 3 und wichtige neue Entwicklungen in der YUI 3 Welt (einschließlich wesentlicher Bestandteil Kategorien, die in der Galerie entstanden sind) beschränkt.
Core Components
Komponente YUI 2 YUI 3 Hinweise
Bibliothek-Core Yahoo Global Object YUI-Modul Oop und lang - Einige der YUI-2-Funktionalität wurde auch auf andere Module verschoben.
Ladeprogramm YUI Loader Loader-Modul YUI 3er Loader ist intrinsische (wird automatisch aufgerufen werden) und beinhaltet die Unterstützung für die Gallery.
DOM-Unterstützung DOM-Sammlung Node-Modul YUI 3 wird "node-centric" - Arbeiten über den Knoten API ist ein Paradigmenwechsel zwischen YUI 2 und 3.
Browser und benutzerdefinierte Ereignisse Event-Dienstprogramm Event-Modul
Component-Stiftung
Komponente YUI 2 YUI 3 Hinweise
Attribut-Management AttributeProvider Attribut-Modul
Event-Management EventProvider EventTarget in der Custom Event-Modul
Component-Basisklasse Basismodul
Erweiterung Modell Basismodul
Plugin-Modell Plugin-und Plugin-Host-Module
Widget Stiftung Element-Dienstprogramm Widget-Modul YUI 2er-Element-Dienstprogramm fehlt der Lebenszyklus-Muster für die Komponente Entwicklung in den YUI 3 Base / Widget-System enthalten.
Dienstprogramme
Komponente YUI 2 YUI 3 Hinweise
Ajax / XHR Connection Manager-Dienstprogramm IO-Modul
Animation Zeichentrick-Dienstprogramm
  • Modul Animation
  • Transition Modul
YUI 3 fügt Unterstützung für CSS Übergänge über die Transitions-Modul, unterstützt Hardware-beschleunigte Übergänge, wo unterstützt.
Asset-Prefetching
Asynchronous Queueing AsyncQueue Modul Unterstützung für eine Kette von Funktion Rückrufe via ausgeführt setTimeout . YUI 2er-Lieferung von dieser Funktionalität ist nicht ausreichend für den allgemeinen Gebrauch aufgeteilt.
Authentication
Zwischenspeicher Cache-Modul Unterstützung für die Speicherung von Schlüssel / Wert-Paare in lokalen JS-Speicher.
Keks Cookie-Utility- Cookie-Modul
Data Management DataSource-Dienstprogramm
  • DataSchema (beta)
  • DataSource (beta)
  • DataType (beta)
Es ist nicht exakt Feature Parität zwischen den beiden (zum Beispiel ist nicht Schlange in YUI 3 unterstützt; YUI 3 Module bleiben im Beta Stadium.)
Drag and Drop Drag and Drop-Dienstprogramm DD-Modul
Event-Extras
  • Event-Delegation
  • Ereignis-Simulation
  • Event-Delegation
  • Ereignis-Simulation
  • Gestures
  • Synthetische Veranstaltungen
  • Touch-Events
YUI 3er Veranstaltung zu unterstützen übersteigt die YUI 2 Niederlassungen, mit einem guten Abstraktionen für Touch-und Gesten.
Formularüberprüfung
Geolocation
Get (Script / CSS loading) Get Utility Holen Sie Modul
History-Verwaltung History-Dienstprogramm History-Modul YUI 3er History Modul beinhaltet HTML5 unterstützen.
ImageLoader (smart Stundung von Bild zu laden) ImageLoader Dienstprogramm ImageLoader Modul
Internationalisierung variiert je nach Komponente Internationalisierung Modul YUI 3er i18n-Modell ist robust, aber es gibt viel zu tun, um alle seine Vorteile in der Widget-System zu realisieren.
JSON JSON-Dienstprogramm JSON-Modul YUI 3 umfasst die JSONP Modul, das eine Einrichtung für die Arbeit mit JSONP Rückrufe aus YUI 3er Sandkasten Muster zur Verfügung stellt.
Resize Resize Utility- Die AlloyUI Umsetzung in der Galerie in die Bibliothek Kern angenommen und werden Teil der 3.3.0 Release.
Storage (Client-side) Storage Utility (inklusive Flash-Fallback) Storage-Lite unterstützt keine Flash-Fallback.
Stylesheet (Manipulation via JS) Stylesheet-Dienstprogramm Stylesheet-Modul
SWF-Management SWF-Dienstprogramm
SVG-Unterstützung
Undo / Redo-Unterstützung
YQL Wrapper YQL Abfrage-Modul
UI Widgets
Komponente YUI 2 YUI 3 Hinweise
Akkordeon Als YUI 2-basierte Widget ist Marco Komponente nicht in der YUI 3 Galerie förmlich.
AutoVervollständigen AutoComplete Steuerung YUI 3 AutoComplete mit YUI 3.3.0 Schiff. Übersehen Sie nicht die AlloyUI Komponente hier, obwohl - es ist reich an Funktionen und einsatzbereit heute.
Taste Button Control
Kalender Calendar Control Kalender-Widget / aktuelle Auswahl ist nicht zu erwarten als Teil des YUI 3-Distribution bis 3.4.0 oder höher; die AlloyUI Umsetzung jedoch ist eine ausgezeichnete Wahl für die allgemeine Anwendungsfälle.
Karussell Carousel Steuerung Gopal hat das YUI 2.x Carousel Codebasis für eine lange Zeit im Besitz und seine YUI 3 Galerie-Modul wird in der Produktion Yahoo! Produkte in diesem Jahr.
Charts Charts Control- Tripp ist einer der Autoren und der Maintainer des YUI 2 Charts Control, das Flash-basiert. Die YUI 3 Charts arbeiten, die nicht auf Flash angewiesen ist, wird zur Galerie regelmäßig und Tripp die Arbeit auf dem neuesten Stand wird in der Beta als Teil des YUI 3.3.0 Schiff geschoben.
Color Picker Color Picker Control-
DataTable DataTable Control- Antonius-Projekt, das ein paar Plugin-Module umfasst, ist nicht dazu gedacht, Feature Parität mit dem ehrgeizigen YUI 2 DataTable Control haben. Die Arbeit der YUI-Team auf YUI 3 DataTable Wille geschehe in Beta-Form in 3.3.0 erscheinen.
Bild zuschneiden ImageCropper Steuerung
Layout (Vollbild Application Management) Layout-Manager
Menüführung Menüsteuerung Einfache Menüführung ist nicht so reich an Funktionen, wie die umfassende Unterstützung Menüführung in YUI 2 vorgesehen. Derzeit plant die YUI-Team die Arbeit an einem YUI 3 Menü-Steuerung für die 3.4.0 Zeitrahmen. Node MenuNav ist Teil der YUI 3-Distribution, aber es bleibt in der Betaphase und kann zu Gunsten der neuen Arbeit auf eine formale UI-Steuerelement veraltet sein.
Overlays Container Familie
Pagination Paginator Steuerung
Progress Bar ProgressBar Control- Satyam schrieb die YUI 2 ProgressBar Control; seine YUI 3 Implementierung ist nicht in der Galerie, aber es ist zur Verfügung.
Ratings
Rich Text Editing Rich Text Editor YUI 3.3.0 enthält die Basis-Editor Inhalte, die Yahoo! in der neuen Yahoo! Mail Beta mit sich - das ist die am weitesten fortgeschrittene Editor wir als Teil der YUI produziert haben. Allerdings wird der Editor-Symbolleiste (das ist ein wichtiger Bestandteil der Komponente für die meisten Praktiker) auf Button und Menüführung Funktionalität, die nicht mindestens bis 3.4.0 erscheint verlassen.
ScrollView ScrollView Modul Dies ist eine wichtige Komponente für mobile Entwicklung.
Slideshows Diese Kategorie ist ein gutes Beispiel dafür, was die YUI Galerie werden kann. Während wir noch nie eine starke YUI 3 Slideshow Komponente, haben wir bereits vier ausgezeichnete Module aus der YUI 3 Welt zu wählen.
Sliders Slider Control YUI 3.3.0 enthält eine interessante neue Ergänzung der Schieberegler Interaktionsmuster, mit freundlicher Genehmigung von Yahoo! Designer und Ingenieur Jeff Conniff. Stay tuned für weitere Informationen hierzu als 3.3.0 Preview-Releases erscheinen.
Tabs TabView Steuerung TabView Modul
Bäume TreeView-Steuerelement Yahoo! Ingenieur Gonzalo Cordero arbeitet derzeit an einem YUI 3 TreeView Umsetzung. Es ist zwar nicht bereit sein wird für 3.3.0 ist es zu erwarten, dass in der Galerie verfügbar, nachdem die 3.3.0 Version und ein Kandidat für die Verteilung so früh wie 3.4.0.
Uploader (Multi-Datei-Upload mit dem Fortschritt Tracking) Uploader Control- Uploader-Modul Sowohl YUI 2 und YUI 3-Implementierungen benötigen Flash.
Video (HTML5)
CSS-Komponenten
Komponente YUI 2 YUI 3 Hinweise
Zurücksetzen CSS zurücksetzen CSS zurücksetzen
Basis CSS Basis CSS Basis
Schriftarten CSS Schriften CSS Schriften
Grids CSS Grids CSS Grids Die neuen, flexibleren YUI 3 CSS Grids Paket wurde in 3.2.0 freigegeben.

Notes:

  1. Die YUI 2 Dependency Configurator können Ihnen helfen, Ihre Script und CSS enthält entweder für Yahoo! oder Google CDNs.

Share and erweitern: Lesezeichen mit del.icio.us | digg it! | reddit!

7 Kommentare »

RSS-Feed für Kommentare zu diesem Beitrag.

  1. Heilige shnikies, sind diejenigen, AlloyUI Komponenten glatt. Will auf jeden Fall ausprobieren Alloy in meinem nächsten App. :)

    Kommentar von Josh L - 5. November 2010 #

  2. YUI3 Nachteil gegenüber YUI2 ist der Mangel an UI-Widgets in standart-Kit (nur Community-Widgets). Vor allem (für mich), DataTable, Bäume, Rich Text Editor, Layout (Vollbild Application Management), Button. Diese Widgets sind sehr wichtig und in konkurrierenden javascript Framworks. Sie sollten in Full-Entwickler-Kit von YUI3 einbezogen werden. Ich bin mir nicht sicher über die hohe Qualität des Codes in Community-Projekten, so dass ich fürchte, es zu benutzen. Warten auf nächsten Versionen von YUI3.

    Kommentar von Sergey - 7. November 2010 #

  3. @ Sergey sind alle yui2 Widgets und andere Komponenten nutzbar durch yui3.

    Kommentar von Joe - 21. November 2010 #

  4. Wir verwenden YUI2 Dialog der Lage ist, asynchron ein Formular in den Dialog der Körper. Dieses Feature ist in unserer App verwendet. Ich sehe nicht, diese Funktion in der AlloyUI Dialog oder Anthony Pipkin-Dialog-Modul in der Galerie. Gibt es irgendwelche Pläne, um zusätzliche Auflagen in YUI3 wie YUI2 ist reich an Funktionen Dialog hinzufügen?

    Kommentar von Sean - 7. Januar 2011 #

  5. @ Sean, Windowing-Komponenten (Panel, Dialoge etc.) sind auf der 2011 Roadmap für YUI3. Wir haben nicht herausfinden, welche Version sie werden in sein Landung gebügelt, aber sie sind vorläufig für irgendwo Gegen Mitte des Jahres geplant.

    Der asynchrone Formularübertragung die YUI2 Dialog unterstützt ist ein idealer Kandidat für eine einfache YUI3 Plugin, so dass Sie (oder jemand anderem in der Gemeinde) ist willkommen, give it a shot und fügen Sie ihn in die Galerie.

    Es ist wirklich nur eine leichte Hülle um IO Form zu unterstützen. Es ist wahrscheinlich, dass die YUI 3 Implementierung wird genau das - ein Plugin für Overlay, das io-Form gilt für die Inhalte der Overlay.

    Im Allgemeinen, als wir Anfang des Jahres sind wir nach Wegen suchen, um effizienter zu sammeln Fahrplan-Eingang (durch offene Stunden) aus der Community, pflegen es und veröffentlichen, so dass Sie mehr Einblick in das Kommende haben, und wann.

    Kommentar von Satyen Desai - 7. Januar 2011 #

  6. Satyen, ich danke Ihnen sehr für das Feedback. Ich denke, wir werden mit YUI2 bleiben, bis YUI3 ist ein bisschen reifer. Ich könnte beginnen mit migriert YUI3 Komponenten und 2in3 für eine YUI2/YUI3 gemischten Umgebung, aber ich kann nicht rechtfertigen, den ROI als wäre dies eine deutliche vielen Teilen unserer App neu zu schreiben. Wir verwenden viele YUI2 Komponenten, sondern DataTable / ScrollingDataTable und Dialog sind die beiden wichtigsten. Sobald diese Komponenten voll zur YUI3 migriert sind, werde ich eine Migration Aufgabe des Managements vorzuschlagen.

    Kommentar von Sean - 11. Januar 2011 #

  7. Hey! LayoutManager und ImageCropper sind jetzt in der Galerie.

    ImageCropper: http://yuilibrary.com/gallery/show/imagecropper
    Layout: http://yuilibrary.com/gallery/show/axo-layout

    Kommentar von Juan - 8. Juli 2011 #

Leave a comment

Hinweis: Kommentare sind für Erstbesucher moderiert. Spam gelöscht.

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Hosted by Yahoo!

Copyright © 2006-2011 Yahoo! Inc. Alle Rechte vorbehalten. Datenschutzbestimmungen - Nutzungsbedingungen

Präsentiert von WordPress auf Yahoo! Web Hosting .