SlideShare a Scribd company logo
1 of 218
Download to read offline
YUI 3.0 PR1
   Yahoo!
    YDN
The YUI Library 3.0 PR1
http://developer.yahoo.com/yui/3
Powered by YUI 3.0 PR1:
YUI
      2.x
UI
UI   YUI    UI
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
UI
                        UI    YUI    UI

        Button    Def. But.


Label    Menu

Label    Text Field

        Label

        Label


  Text Area




         click me
YUI
iPhone   YUI
http://blogs.computerworld.com/nytimes_iphone_browser_marketshare



         iPhone                                  YUI
http://marketshare.hitslink.com/report.aspx?sample=21&qprid=43&qpcustom=Chrome+0.2




    Google Chrome                                                              ;)
http://marketshare.hitslink.com/report.aspx?sample=21&qprid=43&qpcustom=Chrome+0.2




    Google Chrome                                                              ;)
http://marketshare.hitslink.com/report.aspx?sample=21&qprid=43&qpcustom=Chrome+0.2




    Google Chrome                                                              ;)
Button + Menu + Container + ... = RTE Editor
Accessbility
ImageLoader Utility     2KB   4KB     5KB 2KB



          YUILoader Utility     2KB
                                      UI
                                      4KB



      AutoComplete Control      2KB   4KB     5KB       4KB         4KB                   8KB



            Button Control      2KB   4KB     5KB     3KB                 8KB                     10KB                                            15KB



          Calendar Control      2KB   4KB     5KB                               13KB



       Color Picker Control     2KB   4KB     5KB       4KB               6KB   3KB             5KB      3KB



            Container Core      2KB   4KB     5KB                     10KB



          Container Family      2KB   4KB     5KB       4KB         4KB             6KB                                              16KB



         DataTable Control      2KB   4KB     5KB       3KB   3KB                                               18KB



           Rich Text Editor     2KB   4KB     5KB       4KB                  8KB                       10KB                                                              21KB



             Menu Control       2KB   4KB     5KB                     10KB                                         15KB



             Slicer Control     2KB   4KB     5KB       4KB               6KB      3KB
                                                                                                      YAHOO Global Object   Dom Collection        Event Utility          Animation Utility
                                                                                                      Connection Manager    DataSource Utility    Drag & Drop Utility    Element Utility
                                                                                                      History Utility       ImageLoader Utility   YUILoader Utility      AutoComplete Control
           TabView Control      2KB   4KB     5KB     3KB     3KB                                     Button Control        Calendar Control      Color Picker Control   Container Core
                                                                                                      Container Family      DataTable Control     Rich Text Editor       Menu Control
                                                                                                      Slider Control        TabView Control       TreeView Control


          TreeView Control      2KB     5KB     5KB

                              0KB                           15KB                                      30KB                                         45KB                                         60KB




YUI K-weight on the wire (gzipped) by component, v2.3.0
YUI
Flickr

My
        Yahoo! Go + iPhone

          +                  Delicious

                             Yahoo Live

          +                  Yahoo Pipes




Metro




                                      YUI
YUI
YUI
•     30   +
• Yahoo!       3
• 90
• 1.1
•
•
•
•
Thomas Sha,                Satyen Desai,                  Dav Glass,
Director                   Engineer                       Engineer & hacker
Strategy and direction;    Tools, Container Family,       Rich Text Editor, Layout
IO (AJAX) utility.         Calendar Control, 3.x widget   Manager, Drag and Drop
                           framework                      Utility, Resize Utility,
                                                          ImageCropper Control



Adam Moore,
Engineer
Core, Loaders, OOP,
                           Nate Koechley,                 Luke Smith,
Event Utility, Color       Engineer                       Engineer
Picker, TreeView           Global standards,              Slider, Color Picker, Logger,
Control, Doc Tool.         evangelism; CSS Reset,         Paginator, Connection
                           Base, Fonts, & Grids.          Manager, performance
                                                          specialist


Matt Sweeney,
Architect                  Todd Kloots,
CSS architect; Animation   Engineer
Utility;                   Menu Widget, Button Widget,
Dom Collection; TabView    accessibility protagonist.
Widget.




George Puckett             Jenny Han,
Program Manager
                           Engineer
                           DataSource Utility
                           AutoComplete Widget,
                           DataTable Widget,
                           Evangelism.
Beyond the YUI Team       Satyam
                          (Daniel Barreiro)




                      Major enhancements to TreeView for 2.6.0.
Beyond the YUI Team
Beyond the YUI Team
                                                 Caridy




                      Bubbling library, updates to Layout Manager
Beyond the YUI Team
Beyond the YUI Team   Philip




                               Date functions for 2.6.0
Beyond the YUI Team




                      http://www.flickr.com/photos/scarls13/2104638757/ photo by Steve Carlson; used by kind permission.
Beyond the YUI Team
                                                                                            Nicholas




                                                                                YUI Cookie, YUI Profiler, YUI Test
                      http://www.flickr.com/photos/scarls13/2104638757/ photo by Steve Carlson; used by kind permission.
Beyond the YUI Team
Beyond the YUI Team
                              Gopal




                      Carousel Control for 2.6.0
Beyond the YUI Team
Beyond the YUI Team
                      John Peloquin




                         Interval Calendar for 2.6.0
Beyond the YUI Team
Beyond the YUI Team
                                    Marco




                      AccordionView coming in 2.7.0
Beyond the YUI Team
Beyond the YUI Team
                                            Julien




                      Browser History Manager, YUI Compressor
Beyond the YUI Team
Beyond the YUI Team
                Matt




ImageLoader
Wanted!
  YUI Contributor
YUI 3.x
YUI 2.x
YUI 3.x
YUI 3.x
• Lighter
YUI 3.x
• Lighter
• Faster
YUI 3.x
• Lighter
• Faster
• More Consistent
YUI 3.x
• Lighter
• Faster
• More Consistent
• More Powerful
YUI 3.x
• Lighter
• Faster
• More Consistent
• More Powerful
• More Securable
based on YUI 3.0 PR1 2008-09-12                                                   YUI 3.x Architecture (JavaScript)
              seed                                                         core                                 component framework                                                                            components
                 YUI                                Event                                Node                                        Widget                                   Drag and Drop                            Animation                                IO
                                                                                                                  Provides foundational plumbing for high-level UI                                                                                  Provides XMLHttpRequest,
                                                                                                                  components, including lifecycle management.                 DD Manager Base                                                       SWF-based cross-domain
              YUI Base                           Event Base                           Node Base                   Builds upon base and is an Attribute provider.
                                                                                                                                                                                                                        Anim Base                   requests, and file upload
     Minimal YUI Global and core          Provides DOM event and               Provides abstraction for                                                                    Provides base DD manager              Provides foundational
                                                                                                                                                                           functionality to make a Node                                             support.
     library methods. The only            Custom Event functionality,          creating and manipulating                                                                                                         animation support for
     universal YUI 3.x                    event facade implementation,         DOM elements. Can be                                                                        draggable.                            animating properties on the
                                          and page-load storyboarding          extended by components via                                                                                                        style object of an element.
     dependency.                                                                                                                       Base
                                          events.                              plugin architecture.
                                                                                                                  Provides base class for all YUI components that                  DDM Shim
                                                                                                                                                                                                                                                            Cookie
                                                                                                                  provide managed attributes and that serve as                                                                                      Provides cookie management
                                                                                                                                                                           Extends DD manager to allow                  Anim Color
                                                                                                                  event targets.                                                                                                                    support.
                  Get                                                                                                                                                      elements to be dragged over           Extends animation
     Provides generic mechanism                                                         NodeList                                                                           iframes and other
     for dynamically loading script                  Dom                       Extension of Node to handle                                                                 mousetraps.
                                                                                                                                                                                                                 functionality to support
                                                                                                                                                                                                                 animations of color values.
                                                                               abstraction for element
     and CSS resources.
                                                  Dom Base                     collections; used for batching                       Attribute                                                                                                                JSON
                                          Provides low-level DOM               DOM manipulations.                 Provides managed attribute system that can                        DD Drag
                                                                                                                  augment any class; includes get/set interface and        Provides DD functionality for
                                                                                                                                                                                                                        Anim Curve                          Stringify
                                          helper methods.
                Loader                                                                                            intrinsic change events.                                 simple drag operations on a
                                                                                                                                                                                                                 Extends animation                    Convert JavaScript
     Adds dependency calculator                                                                                                                                                                                  functionality to support             objects to JSON strings.
                                                                                      Node Style                                                                           Node.
                                                                                                                                                                                                                 animations of element
     and YUI 3.x package                                                       Extended API for
     metadata, allowing dynamic                   Dom Style                                                                                                                                                      position along a curved path.
                                          Provides low-level style             manipulating style properties
     loading of all YUI modules in                                             on Nodes and NodeLists.                                Plugin                                        DD Drop                                                                   Parse
     single, combo-handled HTTP           management methods.                                                                                                                                                                                         Safely convert strings to
                                                                                                                  Plugin namespace. Forthcoming class will serve           Provides drop-target
     requests.                                                                                                                                                             functionality.                              Anim Easing                    JavaScript objects.
                                                                                                                  as a template for plugin functionality. Plugins can
                                                                                                                  also operate directly on Nodes.                                                                Extends animation
                                                Dom Screen                           Node Screen                                                                                                                 functionality to support easing
                                          Provides low-level positioning       Extends Node and NodeList
                                          and region management                API for positioning and region                                                                      DD Proxy                      effects.
                                          methods.                             management.                                                                                 Provides proxy-drag
                                                                                                                                                                           functionality.
                                                                                                                                                                                                                                                         ...and more
                                                                                                                                                                                                                                                    More utility (low-level)
                                                                                                                                                                                                                        Anim Scroll                 components are provided in
                                                                                                                                                                                                                 Extends animation                  the YUI 3.0 preview release 1
                                                   Selector                                                                                                                      DD Constrain                    functionality to support
                                          Provides low-level methods                                                                                                       Provides drag constraint                                                 build. Future preview
                                                                                                                                                                                                                 animations of elements' scroll     releases and betas will
                                          for collecting and filtering                                                                                                      functionality.                        positions.                         include the full component
                                          DOM elements based on
                                          selector syntax.                                                                                                                                                                                          framework and samples of
                                                                                                                                                                                   DD Plugin                                                        higher-level components
                                                                                                                                                                           Provides pluggable drag                         Anim XY                  (widgets).
                                                                                                                                                                           functionality for Node                Adds support for the xy
                                                                                                                                                                           instances.                            property in from and to
                                                     OOP                                                                                                                                                         configurations.

                                                  OOP Base                                                                                                                     DD Drop Plugin
                                          Provides low-level object
                                                                                                                                                                           Provides pluggable drop-                     Anim Plugin
                                                                                                                                                                           target functionality for Node         Provides pluggable animation
                                          management functionality for
                                                                                                                                                                           instances.                            support for Nodes.
                                          JavaScript objects including
                                          extension and augmentation.




The YUI Seed layer can be used        YUI's 3.x Core serves as a common dependency layer for most               The Component Framework (not yet complete               Components in YUI 3.x are provided a la carte and can be highly modular. You can minimize your
 o bootstrap any implementation.      downstream components. Let the YUI Loader (or Dependency                  as of PR1) will provide a consistent and                inclusion of library code by selecting the specific portions of each component that are required in your
With the seed on the page,            Configurator) calculate your true core dependencies, though; in many       reusable structure for building low-level utilities     implementation.
YUI().use() can bring in all          cases, you will not require the full core layer, even if you are using    and higher-level UI widgets.
additional components quickly and     downstream components.
safely.
seed                                                     core                                com
            YUI                            Event                               Node
                                                                                                      Provid
                                                                                                      compo
         YUI Base                       Event Base                          Node Base                 Builds
Minimal YUI Global and core      Provides DOM event and              Provides abstraction for
library methods. The only        Custom Event functionality,         creating and manipulating
universal YUI 3.x                event facade implementation,        DOM elements. Can be
dependency.                      and page-load storyboarding         extended by components via
                                 events.                             plugin architecture.
                                                                                                      Provid
                                                                                                      provide
             Get                                                                                      event t
Provides generic mechanism                                                    NodeList
for dynamically loading script              Dom                      Extension of Node to handle
and CSS resources.                                                   abstraction for element
                                         Dom Base                    collections; used for batching
                                 Provides low-level DOM              DOM manipulations.               Provid
                                 helper methods.                                                      augme
          Loader                                                                                      intrinsi
Adds dependency calculator                                                  Node Style
and YUI 3.x package                                                  Extended API for
metadata, allowing dynamic               Dom Style
                                 Provides low-level style            manipulating style properties
loading of all YUI modules in                                        on Nodes and NodeLists.
single, combo-handled HTTP       management methods.
                                                                                                      Plugin
requests.                                                                                             as a te
                                       Dom Screen                          Node Screen                also op
                                 Provides low-level positioning      Extends Node and NodeList
                                 and region management               API for positioning and region
                                 methods.                            management.


                                          Selector
                                 Provides low-level methods
                                 for collecting and filtering
                                 DOM elements based on
core                                component framework
             Node                                      Widget                               Drag and Drop
                                    Provides foundational plumbing for high-level UI
                                    components, including lifecycle management.             DD Manager Base
          Node Base                 Builds upon base and is an Attribute provider.
   Provides abstraction for                                                               Provides base DD manager
   creating and manipulating                                                              functionality to make a Node
   DOM elements. Can be                                                                   draggable.
   extended by components via
   plugin architecture.
                                                         Base
                                    Provides base class for all YUI components that              DDM Shim
                                    provide managed attributes and that serve as          Extends DD manager to allow
                                    event targets.                                        elements to be dragged over
            NodeList                                                                      iframes and other
   Extension of Node to handle                                                            mousetraps.
   abstraction for element
   collections; used for batching                     Attribute
   DOM manipulations.               Provides managed attribute system that can                     DD Drag
                                    augment any class; includes get/set interface and     Provides DD functionality for
                                    intrinsic change events.                              simple drag operations on a
          Node Style                                                                      Node.
   Extended API for
   manipulating style properties
   on Nodes and NodeLists.                              Plugin                                     DD Drop
                                    Plugin namespace. Forthcoming class will serve        Provides drop-target
                                    as a template for plugin functionality. Plugins can   functionality.
         Node Screen                also operate directly on Nodes.
   Extends Node and NodeList
   API for positioning and region                                                                 DD Proxy
   management.                                                                            Provides proxy-drag
                                                                                          functionality.


                                                                                               DD Constrain
                                                                                          Provides drag constraint
                                                                                          functionality.
work                                      components
            Drag and Drop                       Animation                               IO
vel UI                                                                      Provides XMLHttpRequest,
ent.        DD Manager Base                                                 SWF-based cross-domain
der.
                                                 Anim Base                  requests, and file upload
          Provides base DD manager        Provides foundational
          functionality to make a Node                                      support.
                                          animation support for
          draggable.                      animating properties on the
                                          style object of an element.
s that           DDM Shim
                                                                                    Cookie
as                                                                          Provides cookie management
          Extends DD manager to allow            Anim Color                 support.
          elements to be dragged over     Extends animation
          iframes and other               functionality to support
          mousetraps.                     animations of color values.
                                                                                     JSON
an                 DD Drag
ace and   Provides DD functionality for
                                                 Anim Curve                         Stringify
                                          Extends animation                   Convert JavaScript
          simple drag operations on a
                                          functionality to support            objects to JSON strings.
          Node.
                                          animations of element
                                          position along a curved path.
                   DD Drop                                                            Parse
          Provides drop-target                                                Safely convert strings to
l serve
          functionality.                        Anim Easing                   JavaScript objects.
ins can
                                          Extends animation
                                          functionality to support easing
                  DD Proxy                effects.
          Provides proxy-drag
          functionality.
                                                                                 ...and more
                                                                            More utility (low-level)
                                                 Anim Scroll                components are provided in
                                          Extends animation                 the YUI 3.0 preview release 1
               DD Constrain               functionality to support
          Provides drag constraint                                          build. Future preview
                                          animations of elements' scroll    releases and betas will
          functionality.                  positions.                        include the full component
                                                                            framework and samples of
YUI 3.x
YUI 3.x
• Seed
                   YUI
YUI 3.x
• Seed
                          YUI
• Core
                   DOM Event    Node
YUI 3.x
• Seed
                          YUI
• Core
                   DOM Event    Node
• Component Framework
YUI 3.x
• Seed
                          YUI
• Core
                   DOM Event    Node
• Component Framework


• Component
YUI




      More Secure
      Faster
      Coding / Loading
1
         YUI 3.x

1.       Seed
2.       Script
<script type=quot;text/javascriptquot; src=quot;http://
yui.yahooapis.com/3.0.0pr1/build/yui/yui-min.jsquot;></
script>
YUI Global (7KB, 1 HTTP request)
YUI Global (7KB, 1 HTTP request)
YUI().use('node', function(Y) {
  Y.Node.get('#demo');
});
YUI Global (7KB, 1 HTTP request)
    YUI().use('node', function(Y) {
      Y.Node.get('#demo');
    });
<script   src=quot;http://yui.yahooapis.com/3.0.0pr1/build/oop/oop-min.js></script>
<script   src=quot;http://yui.yahooapis.com/3.0.0pr1/build/event/event-min.js></script>
<script   src=quot;http://yui.yahooapis.com/3.0.0pr1/build/dom/dom-min.js></script>
<script   src=quot;http://yui.yahooapis.com/3.0.0pr1/build/node/node-min.jsquot;></script>
YUI Global (7KB, 1 HTTP request)
YUI().use('node', function(Y) {
  Y.Node.get('#demo');
});
<script type=quot;text/javascriptquot; src=quot;http://
yui.yahooapis.com/combo?3.0.0pr1/build/oop/oop-
min.js&3.0.0pr1/build/event/event-min.js&3.0.0pr1/
build/dom/dom-min.js&3.0.0pr1/build/node/node-
min.jsquot;></script>
YUI Global (7KB, 1 HTTP request)

OOP, Event, Dom, and Node (16KB, 1 HTTP request)




                  YUI().use('node', function(Y) {
  YUI Instance        /*
                         Y       Scope
                         YUI Instance
node
                             Y
    Dependent         */
                      Y.get('#demo');
                  });
<script type=quot;text/javascriptquot; src=quot;http://
yui.yahooapis.com/combo?3.0.0pr1/build/yui-base/yui-
base-min.js&3.0.0pr1/build/oop/oop-min.js&3.0.0pr1/
build/event/event-min.js&3.0.0pr1/build/dom/dom-
min.js&3.0.0pr1/build/node/node-min.jsquot;></script>
YUI Base, Dom, Node, Event and OOP (16KB, 1 HTTP
request)




YUI().use('node', function(Y) {
    /*
                                      YUI Instance
       Y       Scope
       YUI Instance
                                    node
                                        Dependent
      */
      Y.get('#demo');
});
YUI Configurator
2
YUI 3.x   Instance-based
     Instance
Instance-based
Instance-based
YUI 2.x
YAHOO
YAHOO.widget.HelloWorld = doSomething; //       1
...
YAHOO.widget.HelloWorld = doNothing; //     2
Instance-based
YUI 2.x
YAHOO
YAHOO.widget.HelloWorld = doSomething; //           1
...
YAHOO.widget.HelloWorld = doNothing; //         2

YUI 3.x
YUI()
YUI().use(‘node’, function(Y) { //          1
     Y.HelloWorld = doSomething;
};);
YUI.use(‘drag’, function(Y) { //       2
     Y.HelloWorld = doNothing;
};);
5

                1

    2   3       4




Y       Application



   YUI Instance


              YUI Instance


   Instance
         Sandboxes


                  YUI Instance


       Instance
             Sandboxes
   Sandboxes      Secure Mashup


                  YUI Instance


       Instance
             Sandboxes
   Sandboxes       Secure Mashup
       Instance   YUI 3.x
3
YUI          YUI
  Instance
YUI   Constructor
YUI                         Constructor

YUI().use(‘node’, function(Y) {
     //...
};);
YUI                         Constructor

YUI().use(‘node’, function(Y) {
     //...
};);




var YAHOO = YUI(); // Factory,     Instance
YAHOO.use(‘node’, function(Y) {
     //...
};);
4
          Y
YUI     YUI 2.x
YAHOO
Y   YUI
Y             YUI
YUI 2.x
YAHOO
<script type=”text/javascript” src=”...”></script>
<script type=”text/javascript”>
    var oDD = new YAHOO.util.DD(‘foo’);
</script>
Y             YUI
YUI 2.x
YAHOO
<script type=”text/javascript” src=”...”></script>
<script type=”text/javascript”>
    var oDD = new YAHOO.util.DD(‘foo’);
</script>

YUI 3.x
  Y            YUI
YUI().use(‘dd-drag’, function(Y) {
     new Y.DD.Drag(‘#foo’);
};);
5
YUI 3.x   YUI 2.x

YUI Instance
var yui2path = ‘http://yui.yahooapis.com/2.5.2/build/’;
YUI({
      modules: {
            'yui2-yde' : {
                  ‘fullpath’: yui2path + ‘yahoo-dom-event/yahoo-dom-event.js’
             },
            'yui2-calendar' : {
                  ‘fullpath’ : yui2path + ‘calendar/calendar-min.js’,
                  ‘requires’ : ['yui2-yde', 'yui2-calendarcss']
             },
             'yui2-calendarcss' : {
                   ‘fullpath’: yui2path + ‘calendar/assets/skins/sam/calendar.css’,
                   ‘type’: 'css'
             }
       }
}).use('node’, ‘yui2-calendar’, function(Y) {
       //                      YUI 2.x              YUI 3.x       Node


});
seed                                                     core
            YUI                            Event
         YUI Base                       Event Base
Minimal YUI Global and core      Provides DOM event and              Pr
library method. The only         Custom Event functionality,         cre
universal YUI 3.x                event facade implementation,        DO
dependency.                      and page-load storyboarding         ex
                                 events.                             plu


             Get
Provides generic mechanism
for dynamically loading script              Dom                      Ex
and CSS resources.                                                   ab
                                         Dom Base                    co
                                 Provides low-level DOM              DO
                                 helper methods.
          Loader
Adds dependency calculator
and YUI 3.x package                                                  Ex
metadata, allowing dynamic               Dom Style
                                 Provides low-level style            ma
loading of all YUI modules in                                        on
single, combo-handled HTTP       management methods.
requests.
                                       Dom Screen
                                 Provides low-level positioning      Ex
                                 and region management               AP
                                 methods.                            ma


                                          Selector
                                 Provides low-level methods
seed                                                     core
                           YUI                            Event
                        YUI Base                       Event Base
               Minimal YUI Global and core      Provides DOM event and              Pr
               library method. The only         Custom Event functionality,         cre
               universal YUI 3.x                event facade implementation,        DO

   YUI Base   dependency.                      and page-load storyboarding
                                                events.
                                                                                    ex
                                                                                    plu


                            Get

   Get Utility:
               Provides generic mechanism
               for dynamically loading script              Dom                      Ex
               and CSS resources.                                                   ab
                                                        Dom Base                    co
                                                Provides low-level DOM              DO


   YUI Loader
                                                helper methods.
                         Loader
               Adds dependency calculator
               and YUI 3.x package                                                  Ex
               metadata, allowing dynamic               Dom Style
                                                Provides low-level style            ma
               loading of all YUI modules in                                        on
                                                management methods.

    Get    Loader                               2.x
               single, combo-handled HTTP
               requests.
                                                      Dom Screen
                                                Provides low-level positioning      Ex
                                                and region management               AP
                                                methods.                            ma


                                                         Selector
                                                Provides low-level methods
YUI   5
YUI   5

1.
YUI          5

1.
2.   Instance-based
YUI          5

1.
2.   Instance-based
3. YUI
YUI          5

1.
2.   Instance-based
3. YUI
4.       Y      YUI
YUI          5

1.
2.   Instance-based
3. YUI
4.       Y       YUI
5. YUI 2.x   YUI 3.x
Node & NodeList




DOM + Selector

      More Powerful
      More Consistent
id
1
   Selector
   CSS Selector
DOM
CSS Selector
CSS Selector

YUI 2.x
  DOM
var $D = YAHOO.util.Dom; // reference cache
var el = $D.get(‘foo’);
var items = $D.getElementsByClassName(‘highlighted’, ‘li’,
el);
CSS Selector

YUI 2.x
  DOM
var $D = YAHOO.util.Dom; // reference cache
var el = $D.get(‘foo’);
var items = $D.getElementsByClassName(‘highlighted’, ‘li’,
el);

YUI 3.x
                    NodeList
var items = Y.all(‘#foo li.highlighted’);
2
Node   NodeList
            HTMLElement
CSS Selector
CSS Selector
YUI 2.x
  DOM
HTMLElement
var $D = YAHOO.util.Dom; // reference cache
var el = $D.get(‘foo’);
alert(el.nodeName); //output: DIV
CSS Selector
YUI 2.x
  DOM
HTMLElement
var $D = YAHOO.util.Dom; // reference cache
var el = $D.get(‘foo’);
alert(el.nodeName); //output: DIV


YUI 3.x
                      HTMLElement
var el = Y.get(‘#foo’);
alert(el.nodeName); //output: undefined
alert(el.get(‘nodeName’)); //output: DIVs
YUI Node   HTMLElement
YUI Node          HTMLElement
• appendChild()   • appendChild()
• removeChild()   • removeChild()
• parentNode      • parentNode
YUI Node           HTMLElement
• appendChild()    • appendChild()
• removeChild()    • removeChild()
• parentNode       • parentNode
• contains()       • contains()
• insertBefore()   • insertBefore()
• children         • children
YUI Node           HTMLElement
• appendChild()    • appendChild()
• removeChild()    • removeChild()
• parentNode       • parentNode
• contains()       • contains()
• insertBefore()   • insertBefore()
• children         • children
• addClass()
• test()
• region
YUI 3.x
YUI 3.x
YUI 2.x
Function-based
var $D = YAHOO.util.Dom; // reference cache
var el = $D.get(‘foo’);
YUD.addClass(el, ‘highlighted’);
el.innerHTML += ‘ clicked’;
YUI 3.x
YUI 2.x
Function-based
var $D = YAHOO.util.Dom; // reference cache
var el = $D.get(‘foo’);
YUD.addClass(el, ‘highlighted’);
el.innerHTML += ‘ clicked’;


YUI 3.x
Object-based
var el = Y.get(‘#foo’);
el.addClass(‘highlighted’);
el.set(‘innerHTML’) = el.get(‘innerHTML’) + ‘ clicked’;
3
Node   NodeList
NodeList   Node
NodeList            Node

Node
addClass
var el = Y.get(‘#foo’);
el.addClass(‘main-module’);
NodeList                     Node

Node
addClass
var el = Y.get(‘#foo’);
el.addClass(‘main-module’);


NodeList
                    NodeList
var items = Y.all(‘#foo li’);
items.addClass(‘disabled’);
items.set(‘title’, ‘item disabled’);
Node   3
Node   3

1. Node        Selector
Node   3

1. Node         Selector


2.   DOM
Node     3

1. Node           Selector


2.   DOM


3. NodeList
core                                component framework
                   Event                               Node                                      Widget                               Drag
                                                                              Provides foundational plumbing for high-level UI
                                                                              components, including lifecycle management.             DD M
                Event Base                          Node Base                 Builds upon base and is an Attribute provider.
d core   Provides DOM event and              Provides abstraction for                                                               Provides b
 ly      Custom Event functionality,         creating and manipulating                                                              functional
         event facade implementation,        DOM elements. Can be                                                                   draggable
         and page-load storyboarding         extended by components via
         events.                             plugin architecture.
                                                                                                   Base
                                                                              Provides base class for all YUI components that              D
                                                                              provide managed attributes and that serve as          Extends D
                                                                              event targets.                                        elements
anism                                                 NodeList                                                                      iframes an
script              Dom                      Extension of Node to handle                                                            mousetrap
                                             abstraction for element
                 Dom Base                    collections; used for batching                     Attribute
         Provides low-level DOM              DOM manipulations.               Provides managed attribute system that can                    D
         helper methods.                                                      augment any class; includes get/set interface and     Provides D
                                                                              intrinsic change events.                              simple dra
ulator                                              Node Style                                                                      Node.
                 Dom Style                   Extended API for
amic                                         manipulating style properties
         Provides low-level style
les in
         management methods.                 on Nodes and NodeLists.                              Plugin                                    D
HTTP                                                                          Plugin namespace. Forthcoming class will serve        Provides d
                                                                              as a template for plugin functionality. Plugins can   functional
               Dom Screen                          Node Screen                also operate directly on Nodes.
         Provides low-level positioning      Extends Node and NodeList
         and region management               API for positioning and region                                                                D
                                             management.                                                                            Provides p
         methods.
                                                                                                                                    functional


                  Selector                                                                                                               DD
         Provides low-level methods                                                                                                 Provides d
         for collecting and filtering                                                                                                functional
         DOM elements based on
         selector syntax.
                                                                                                                                           D
                                                                                                                                    Provides p
                                                                                                                                    functional
                                                                                                                                    instances
                    OOP
                 OOP Base                                                                                                               DD D
                                                                                                                                    Provides p
         Provides low-level object
                                                                                                                                    target fun
core                                 component framework
                        Event                               Node                                       Widget                               Drag
                                                                                    Provides foundational plumbing for high-level UI
                                                                                    components, including lifecycle management.             DD M
                     Event Base                          Node Base                  Builds upon base and is an Attribute provider.
d core        Provides DOM event and              Provides abstraction for                                                                Provides b
 ly           Custom Event functionality,         creating and manipulating                                                               functional
              event facade implementation,        DOM elements. Can be                                                                    draggable
              and page-load storyboarding         extended by components via
              events.                             plugin architecture.
                                                                                                         Base
                                                                                    Provides base class for all YUI components that              D
                                                                                    provide managed attributes and that serve as          Extends D


            Node Base                                                              DOM
                                                                                    event targets.                                        elements
anism                                                      NodeList                                                                       iframes an
script                   Dom                      Extension of Node to handle                                                             mousetrap
                                                  abstraction for element
                      Dom Base                    collections; used for batching                      Attribute
              Provides low-level DOM              DOM manipulations.                Provides managed attribute system that can                    D

            NodeList                                                              Node
              helper methods.                                                       augment any class; includes get/set interface and     Provides D
                                                                                    intrinsic change events.                              simple dra
ulator                                                   Node Style                                                                       Node.
                      Dom Style                   Extended API for
amic                                              manipulating style properties
              Provides low-level style
les in
              management methods.                 on Nodes and NodeLists.                               Plugin                                    D


             NodeStyle
HTTP

         
                                                                                    Plugin namespace. Forthcoming class will serve        Provides d
                                                                                    as a template for plugin functionality. Plugins can   functional
                    Dom Screen                          Node Screen                 also operate directly on Nodes.
              Provides low-level positioning      Extends Node and NodeList
              and region management               API for positioning and region                                                                 D
                                                  management.                                                                             Provides p
              methods.
                                                                                                                                          functional



            Node Screen
                       Selector
              Provides low-level methods
              for collecting and filtering
              DOM elements based on
                                                                             XY                   Region                                       DD
                                                                                                                                          Provides d
                                                                                                                                          functional

              selector syntax.
                                                                                                                                                 D
                                                                                                                                          Provides p
                                                                                                                                          functional
                                                                                                                                          instances
                         OOP
                      OOP Base                                                                                                                DD D
                                                                                                                                          Provides p
              Provides low-level object
                                                                                                                                          target fun
Event




DOM Event
             Custom Event
    More Consistent
1

DOM   Event
Y.on()
YUI().use(‘node’, function (Y) {
    Y.on(‘click’, function (e) {
        //
    }, ‘#foo’);
});
Y.on()
YUI().use(‘node’, function (Y) {
    Y.on(‘click’, function (e) {
        //
    }, ‘#foo’);
});



           Node.on()
YUI().use(‘node’, function (Y) {
    var el = Y.get(‘#foo’);
    el.on(‘click’, function (e) {
        //
    });
});
2
Node   Event

       DOM Event
Event
Event
YUI 2.x
           DOM Event
var $E = YAHOO.util.Event; // reference cache
$E.on(‘foo’, ‘click’, function (e) {
    alert(e.type); //output: click
    $E.preventDefault(e); //
    $E.stopPropogation(e); //   Bubbleup
});


YUI 3.x
Y.on(‘click’, function (e) {
    alert(e.type); //output: undefinded
    e.preventDefault();
    e.stopPropogation();
}, ‘#foo’);
3
YUI 3.x
Custom Event
YUI 2.x
                Custom Event
var $E = YAHOO.util.Event; // reference cache
function Toggle() {
    this.onToggleComplete = new
        YAHOO.util.CustomEvent(‘toggleComplete’);
    ...
    this.onToggleComplete.fire();
}
var oToggle = new Toggle();
oToggle.onToggleComplete.subscribe(function(e) {
    //...
});
YUI 2.x
                Custom Event
var $E = YAHOO.util.Event; // reference cache
function Toggle() {
    this.onToggleComplete = new
        YAHOO.util.CustomEvent(‘toggleComplete’);
    ...
    this.onToggleComplete.fire();
}
var oToggle = new Toggle();
oToggle.onToggleComplete.subscribe(function(e) {
    //...
});

YUI 3.x
    Event
before   after
YUI().use(quot;dragquot;, function(Y) {
    var drag = new Y.Drag({
        node: ‘#demo’
    });
    drag.on(quot;drag:mouseDownquot;, function(e) {
        e.preventDefault();
    });
    Y.on(quot;drag:mouseDownquot;, function(e) {
        e.preventDefault();
    });
});



                   before    after
4
   DOM Event
Customer Event
    preventDeafult
stopPropagation
Custom Event
Custom Event

YUI().use(quot;dragquot;, function(Y) {
    var drag = new Y.Drag({
        node: ‘#demo’
    });

      drag.on(quot;drag:mouseDownquot;, function(e) {
          e.preventDefault();
          e.stopPropagation();
      });
});
Event   4
Event   4

1.
Event   4

1.
2.
Event      4

1.
2.
3.           Custom Event
Event         4

1.
2.
3.             Custom Event
4. Custom Event
   bubble preventable    after
   moment
seed                                                     core                                com
            YUI                            Event                               Node
                                                                                                      Prov
                                                                                                      com
         YUI Base                       Event Base                          Node Base                 Buil
Minimal YUI Global and core      Provides DOM event and              Provides abstraction for
library method. The only         Custom Event functionality,         creating and manipulating
universal YUI 3.x                event facade implementation,        DOM elements. Can be
dependency.                      and page-load storyboarding         extended by components via
                                 events.                             plugin architecture.
                                                                                                      Prov
                                                                                                      prov
             Get                                                                                      even
Provides generic mechanism                                                    NodeList
for dynamically loading script              Dom                      Extension of Node to handle
and CSS resources.                                                   abstraction for element
                                         Dom Base                    collections; used for batching
                                 Provides low-level DOM              DOM manipulations.               Prov
                                 helper methods.                                                      aug
          Loader                                                                                      intrin
Adds dependency calculator                                                  Node Style
and YUI 3.x package                                                  Extended API for
metadata, allowing dynamic               Dom Style
                                 Provides low-level style            manipulating style properties
loading of all YUI modules in                                        on Nodes and NodeLists.
single, combo-handled HTTP       management methods.
                                                                                                      Plug
requests.                                                                                             as a
                                       Dom Screen                          Node Screen                also
                                 Provides low-level positioning      Extends Node and NodeList
                                 and region management               API for positioning and region
                                 methods.                            management.


                                          Selector
                                 Provides low-level methods
                                 for collecting and filtering
seed                                                     core                                com
            YUI                            Event                               Node
                                                                                                      Prov
                                                                                                      com
         YUI Base                       Event Base                          Node Base                 Buil
Minimal YUI Global and core      Provides DOM event and              Provides abstraction for



DOM    events and
library method. The only         Custom Event functionality,         creating and manipulating
universal YUI 3.x                event facade implementation,        DOM elements. Can be
dependency.                      and page-load storyboarding         extended by components via
                                 events.                             plugin architecture.
                                                                                                      Prov
                                                                                                      prov


   Custom Events
             Get                                                                                      even
Provides generic mechanism                                                    NodeList
for dynamically loading script              Dom                      Extension of Node to handle
and CSS resources.                                                   abstraction for element
                                         Dom Base                    collections; used for batching
                                 Provides low-level DOM              DOM manipulations.               Prov
                                 helper methods.                                                      aug
          Loader                                                                                      intrin
Adds dependency calculator                                                  Node Style
and YUI 3.x package                                                  Extended API for
metadata, allowing dynamic               Dom Style
                                 Provides low-level style            manipulating style properties
loading of all YUI modules in                                        on Nodes and NodeLists.
single, combo-handled HTTP       management methods.
                                                                                                      Plug
requests.                                                                                             as a
                                       Dom Screen                          Node Screen                also
                                 Provides low-level positioning      Extends Node and NodeList
                                 and region management               API for positioning and region
                                 methods.                            management.


                                          Selector
                                 Provides low-level methods
                                 for collecting and filtering
Lifecycle
YUI 3.x
More Consistent
ore                                component framework
            Node                                      Widget                               Drag and Drop
                                   Provides foundational plumbing for high-level UI
                                   components, including lifecycle management.             DD Manager Base
         Node Base                 Builds upon base and is an Attribute provider.
  Provides abstraction for                                                               Provides base DD manage
  creating and manipulating                                                              functionality to make a Nod
  DOM elements. Can be                                                                   draggable.
  extended by components via
  plugin architecture.
                                                        Base
                                   Provides base class for all YUI components that              DDM Shim
                                   provide managed attributes and that serve as          Extends DD manager to al
                                   event targets.                                        elements to be dragged ov
           NodeList                                                                      iframes and other
  Extension of Node to handle                                                            mousetraps.
  abstraction for element
  collections; used for batching                     Attribute
  DOM manipulations.               Provides managed attribute system that can                     DD Drag
                                   augment any class; includes get/set interface and     Provides DD functionality f
                                   intrinsic change events.                              simple drag operations on
         Node Style                                                                      Node.
  Extended API for
  manipulating style properties
  on Nodes and NodeLists.                              Plugin                                     DD Drop
                                   Plugin namespace. Forthcoming class will serve        Provides drop-target
                                   as a template for plugin functionality. Plugins can   functionality.
        Node Screen                also operate directly on Nodes.
  Extends Node and NodeList
  API for positioning and region                                                                 DD Proxy
  management.                                                                            Provides proxy-drag
                                                                                         functionality.


                                                                                              DD Constrain
                                                                                         Provides drag constraint
                                                                                         functionality.
YUI 3.x Miscs.




    Debug
      IO
    Queue
   More Powerful
Debug Enhancement

• YUI 2.x
 • alert()
 • YAHOO.log()
 • console.log()
• YUI 3.x          Y.log() Y.dump()
alert()
Firebug      console.log()
          Firefox
YUI 2.x     YAHOO.log()
          Logger          ...
YUI 2.x   Debugging with YAHOO.log()




          YAHOO.log(dItem.innerHTML);
YUI 3.x Y.log()
1.
2.   Firebug      Console
YUI 3.x   Debugging with Y.log()




    Y.log(el.get(‘innerHTML’));
IO & Queue


• IO        Connection Manager


• Queue
IO
• Resource            crossdomain.xml
 • Pipes
    http://pipes.yahooapis.com/
    crossdomain.xml
•        Server          io.swf
•      xdr (cross domain request)
YUI 3.x   JavaScript
YUI 3.x




DragDrop / IO / Animation
    YUI 3.x

      Lighter / Faster
Drag and Drop, minified, in KB
30.0




22.5




15.0




 7.5




  0

                     2.x                               3.x

       Drag & Drop   DDM Base   DDM Shim       DDM Drop      DD Drag
       DD Drop       DD Proxy   DD Constrain   DD Plugin     DD Drop Plugin
Drag and Drop, minified, in KB
30.0




22.5




15.0




 7.5




  0

            2.x                            3.x

                  Drag & Drop   DDM Base
                  DD Drag
Animation, minified, in KB
15.00




11.25




 7.50




 3.75




   0
                      2.x                              3.x


        Animation           Anim Base     Anim Color         Anim Curve
        Anim Easing         Anim Scroll   Anim XY            Anim Plugin
        Anim XY
Ajax component, minified, in KB
15.00




11.25




 7.50




 3.75




   0

          Connection Manager         IO


                        2.x    3.x
rk                                    components
        Drag and Drop                       Animation                               IO
I                                                                       Provides XMLHttpRequest,
        DD Manager Base                                                 SWF-based cross-domain
                                             Anim Base                  requests, and file upload
      Provides base DD manager        Provides foundational
      functionality to make a Node                                      support.
                                      animation support for
      draggable.                      animating properties on the
                                      style object of an element.
t            DDM Shim
                                                                                Cookie
                                                                        Provides cookie management
      Extends DD manager to allow            Anim Color                 support.
      elements to be dragged over     Extends animation
      iframes and other               functionality to support
      mousetraps.                     animations of color values.
                                                                                 JSON
               DD Drag                       Anim Curve
nd    Provides DD functionality for                                             Stringify
                                      Extends animation                   Convert JavaScript
      simple drag operations on a
                                      functionality to support            objects to JSON strings.
      Node.
                                      animations of element
                                      position along a curved path.
               DD Drop                                                            Parse
      Provides drop-target                                                Safely convert strings to
ve
      functionality.                        Anim Easing                   JavaScript objects.
 an
                                      Extends animation
                                      functionality to support easing
              DD Proxy                effects.
      Provides proxy-drag
      functionality.
                                                                             ...and more
                                                                        More utility (low-level)
                                             Anim Scroll                components are provided in
                                      Extends animation                 the YUI 3.0 preview release 1
           DD Constrain               functionality to support          build. Future preview
rk                                     components
         Drag and Drop                       Animation                               IO
I                                                                        Provides XMLHttpRequest,
         DD Manager Base                                                 SWF-based cross-domain
                                              Anim Base                  requests, and file upload
       Provides base DD manager        Provides foundational
       functionality to make a Node                                      support.
                                       animation support for


      Improved                        granularity
       draggable.                      animating properties on the
                                       style object of an element.
t             DDM Shim
                                                                                 Cookie
                                                                         Provides cookie management
       Extends DD manager to allow            Anim Color                 support.
       elements to be dragged over     Extends animation
       iframes and other               functionality to support
       mousetraps.                     animations of color values.
                                                                                  JSON
                DD Drag                       Anim Curve
nd     Provides DD functionality for                                             Stringify
                                       Extends animation                   Convert JavaScript
       simple drag operations on a
                                       functionality to support            objects to JSON strings.
       Node.
                                       animations of element
                                       position along a curved path.
                DD Drop                                                            Parse
       Provides drop-target                                                Safely convert strings to
ve
       functionality.                        Anim Easing                   JavaScript objects.
 an
                                       Extends animation
                                       functionality to support easing
               DD Proxy                effects.
       Provides proxy-drag
       functionality.
                                                                              ...and more
                                                                         More utility (low-level)
                                              Anim Scroll                components are provided in
                                       Extends animation                 the YUI 3.0 preview release 1
            DD Constrain               functionality to support          build. Future preview
rk                                     components
         Drag and Drop                       Animation                               IO
I                                                                        Provides XMLHttpRequest,
         DD Manager Base                                                 SWF-based cross-domain
                                              Anim Base                  requests, and file upload
       Provides base DD manager        Provides foundational
       functionality to make a Node                                      support.
                                       animation support for


      Improved granularity
       draggable.                      animating properties on the
                                       style object of an element.
t             DDM Shim
                                                                                 Cookie
                                                                         Provides cookie management
       Extends DD manager to allow            Anim Color                 support.


      Improved performance
       elements to be dragged over     Extends animation
       iframes and other               functionality to support
       mousetraps.                     animations of color values.
                                                                                  JSON
                DD Drag                       Anim Curve
nd     Provides DD functionality for                                             Stringify
                                       Extends animation                   Convert JavaScript
       simple drag operations on a
                                       functionality to support            objects to JSON strings.
       Node.
                                       animations of element
                                       position along a curved path.
                DD Drop                                                            Parse
       Provides drop-target                                                Safely convert strings to
ve
       functionality.                        Anim Easing                   JavaScript objects.
 an
                                       Extends animation
                                       functionality to support easing
               DD Proxy                effects.
       Provides proxy-drag
       functionality.
                                                                              ...and more
                                                                         More utility (low-level)
                                              Anim Scroll                components are provided in
                                       Extends animation                 the YUI 3.0 preview release 1
            DD Constrain               functionality to support          build. Future preview
3.x
3.x Roadmap
 2008/11      3.0 PR2

 2009            3.0 Beta
         2.x
More information:
 http://tech.groups.yahoo.com/
  group/yui3/
 http://developer.yahoo.com/
  yui/3/
 http://developer.yahoo.com/
  yui/community/
YUI
Project Roadmap
   9/8
    CLA    Contributor License Agreement
   9/8       2.6.0
                 Carousel     DataStore
    RTE      DataTable        Beta
   11/8               Repository
   11/8 3.0 PR2
   2009 Q1     2.7.0 and 3.0 beta 1
Conclusion

• YUI 2.x
• YUI 3.x      Optional
  Loader Element Selector


• Usable v.s. Professional

More Related Content

More from Joseph Chiang

不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会Joseph Chiang
 
Automatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabsAutomatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabsJoseph Chiang
 
From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)Joseph Chiang
 
JavaScript Code Quality
JavaScript Code QualityJavaScript Code Quality
JavaScript Code QualityJoseph Chiang
 
前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練Joseph Chiang
 
Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Joseph Chiang
 
Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練Joseph Chiang
 
Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練Joseph Chiang
 
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Joseph Chiang
 
前端工程開發實務訓練
前端工程開發實務訓練前端工程開發實務訓練
前端工程開發實務訓練Joseph Chiang
 
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練Joseph Chiang
 
CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練Joseph Chiang
 
HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練Joseph Chiang
 
模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京Joseph Chiang
 
YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)Joseph Chiang
 
YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎Joseph Chiang
 

More from Joseph Chiang (20)

不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会不断归零的前端人生 - 2016 中国软件开发者大会
不断归零的前端人生 - 2016 中国软件开发者大会
 
Let's Redux!
Let's Redux!Let's Redux!
Let's Redux!
 
Automatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabsAutomatic Functional Testing with Selenium and SauceLabs
Automatic Functional Testing with Selenium and SauceLabs
 
From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)From Hacker to Programmer (w/ Webpack, Babel and React)
From Hacker to Programmer (w/ Webpack, Babel and React)
 
JavaScript Promise
JavaScript PromiseJavaScript Promise
JavaScript Promise
 
F2E for Enterprise
F2E for EnterpriseF2E for Enterprise
F2E for Enterprise
 
JavaScript Code Quality
JavaScript Code QualityJavaScript Code Quality
JavaScript Code Quality
 
F2E, the Keystone
F2E, the KeystoneF2E, the Keystone
F2E, the Keystone
 
前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練前端的未來 - 前端工程實務訓練
前端的未來 - 前端工程實務訓練
 
Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練Performance 入門 - 前端工程開發實務訓練
Performance 入門 - 前端工程開發實務訓練
 
Debugging - 前端工程開發實務訓練
 Debugging - 前端工程開發實務訓練 Debugging - 前端工程開發實務訓練
Debugging - 前端工程開發實務訓練
 
Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練Javascript 入門 - 前端工程開發實務訓練
Javascript 入門 - 前端工程開發實務訓練
 
Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練Node.js 入門 - 前端工程開發實務訓練
Node.js 入門 - 前端工程開發實務訓練
 
前端工程開發實務訓練
前端工程開發實務訓練前端工程開發實務訓練
前端工程開發實務訓練
 
YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練YUI 教學 - 前端工程開發實務訓練
YUI 教學 - 前端工程開發實務訓練
 
CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練CSS 入門 - 前端工程開發實務訓練
CSS 入門 - 前端工程開發實務訓練
 
HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練HTML 入門 - 前端工程開發實務訓練
HTML 入門 - 前端工程開發實務訓練
 
模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京模块加载策略 - 2012 SDCC, 北京
模块加载策略 - 2012 SDCC, 北京
 
YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)YUI is Sexy (for JSDC.tw)
YUI is Sexy (for JSDC.tw)
 
YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎YUI is Sexy - 使用 YUI 作為開發基礎
YUI is Sexy - 使用 YUI 作為開發基礎
 

Recently uploaded

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 

Recently uploaded (20)

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 

YUI 3.x 介紹

  • 1. YUI 3.0 PR1 Yahoo! YDN
  • 2.
  • 3. The YUI Library 3.0 PR1 http://developer.yahoo.com/yui/3
  • 4.
  • 5. Powered by YUI 3.0 PR1:
  • 6.
  • 7. YUI 2.x
  • 8. UI UI YUI UI
  • 9. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 10. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 11. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 12. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 13. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 14. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 15. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 16. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 17. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 18. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 19. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 20. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 21. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 22. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 23. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 24. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 25. UI UI YUI UI Button Def. But. Label Menu Label Text Field Label Label Text Area click me
  • 26. YUI
  • 27. iPhone YUI
  • 32. Button + Menu + Container + ... = RTE Editor
  • 33.
  • 34.
  • 35.
  • 36.
  • 38. ImageLoader Utility 2KB 4KB 5KB 2KB YUILoader Utility 2KB UI 4KB AutoComplete Control 2KB 4KB 5KB 4KB 4KB 8KB Button Control 2KB 4KB 5KB 3KB 8KB 10KB 15KB Calendar Control 2KB 4KB 5KB 13KB Color Picker Control 2KB 4KB 5KB 4KB 6KB 3KB 5KB 3KB Container Core 2KB 4KB 5KB 10KB Container Family 2KB 4KB 5KB 4KB 4KB 6KB 16KB DataTable Control 2KB 4KB 5KB 3KB 3KB 18KB Rich Text Editor 2KB 4KB 5KB 4KB 8KB 10KB 21KB Menu Control 2KB 4KB 5KB 10KB 15KB Slicer Control 2KB 4KB 5KB 4KB 6KB 3KB YAHOO Global Object Dom Collection Event Utility Animation Utility Connection Manager DataSource Utility Drag & Drop Utility Element Utility History Utility ImageLoader Utility YUILoader Utility AutoComplete Control TabView Control 2KB 4KB 5KB 3KB 3KB Button Control Calendar Control Color Picker Control Container Core Container Family DataTable Control Rich Text Editor Menu Control Slider Control TabView Control TreeView Control TreeView Control 2KB 5KB 5KB 0KB 15KB 30KB 45KB 60KB YUI K-weight on the wire (gzipped) by component, v2.3.0
  • 39. YUI
  • 40. Flickr My Yahoo! Go + iPhone + Delicious Yahoo Live + Yahoo Pipes Metro YUI
  • 41. YUI
  • 42. YUI
  • 43. 30 + • Yahoo! 3 • 90 • 1.1 • • • •
  • 44. Thomas Sha, Satyen Desai, Dav Glass, Director Engineer Engineer & hacker Strategy and direction; Tools, Container Family, Rich Text Editor, Layout IO (AJAX) utility. Calendar Control, 3.x widget Manager, Drag and Drop framework Utility, Resize Utility, ImageCropper Control Adam Moore, Engineer Core, Loaders, OOP, Nate Koechley, Luke Smith, Event Utility, Color Engineer Engineer Picker, TreeView Global standards, Slider, Color Picker, Logger, Control, Doc Tool. evangelism; CSS Reset, Paginator, Connection Base, Fonts, & Grids. Manager, performance specialist Matt Sweeney, Architect Todd Kloots, CSS architect; Animation Engineer Utility; Menu Widget, Button Widget, Dom Collection; TabView accessibility protagonist. Widget. George Puckett Jenny Han, Program Manager Engineer DataSource Utility AutoComplete Widget, DataTable Widget, Evangelism.
  • 45.
  • 46. Beyond the YUI Team Satyam (Daniel Barreiro) Major enhancements to TreeView for 2.6.0.
  • 48. Beyond the YUI Team Caridy Bubbling library, updates to Layout Manager
  • 50. Beyond the YUI Team Philip Date functions for 2.6.0
  • 51. Beyond the YUI Team http://www.flickr.com/photos/scarls13/2104638757/ photo by Steve Carlson; used by kind permission.
  • 52. Beyond the YUI Team Nicholas YUI Cookie, YUI Profiler, YUI Test http://www.flickr.com/photos/scarls13/2104638757/ photo by Steve Carlson; used by kind permission.
  • 54. Beyond the YUI Team Gopal Carousel Control for 2.6.0
  • 56. Beyond the YUI Team John Peloquin Interval Calendar for 2.6.0
  • 58. Beyond the YUI Team Marco AccordionView coming in 2.7.0
  • 60. Beyond the YUI Team Julien Browser History Manager, YUI Compressor
  • 62. Beyond the YUI Team Matt ImageLoader
  • 63. Wanted! YUI Contributor
  • 64.
  • 69. YUI 3.x • Lighter • Faster • More Consistent
  • 70. YUI 3.x • Lighter • Faster • More Consistent • More Powerful
  • 71. YUI 3.x • Lighter • Faster • More Consistent • More Powerful • More Securable
  • 72. based on YUI 3.0 PR1 2008-09-12 YUI 3.x Architecture (JavaScript) seed core component framework components YUI Event Node Widget Drag and Drop Animation IO Provides foundational plumbing for high-level UI Provides XMLHttpRequest, components, including lifecycle management. DD Manager Base SWF-based cross-domain YUI Base Event Base Node Base Builds upon base and is an Attribute provider. Anim Base requests, and file upload Minimal YUI Global and core Provides DOM event and Provides abstraction for Provides base DD manager Provides foundational functionality to make a Node support. library methods. The only Custom Event functionality, creating and manipulating animation support for universal YUI 3.x event facade implementation, DOM elements. Can be draggable. animating properties on the and page-load storyboarding extended by components via style object of an element. dependency. Base events. plugin architecture. Provides base class for all YUI components that DDM Shim Cookie provide managed attributes and that serve as Provides cookie management Extends DD manager to allow Anim Color event targets. support. Get elements to be dragged over Extends animation Provides generic mechanism NodeList iframes and other for dynamically loading script Dom Extension of Node to handle mousetraps. functionality to support animations of color values. abstraction for element and CSS resources. Dom Base collections; used for batching Attribute JSON Provides low-level DOM DOM manipulations. Provides managed attribute system that can DD Drag augment any class; includes get/set interface and Provides DD functionality for Anim Curve Stringify helper methods. Loader intrinsic change events. simple drag operations on a Extends animation Convert JavaScript Adds dependency calculator functionality to support objects to JSON strings. Node Style Node. animations of element and YUI 3.x package Extended API for metadata, allowing dynamic Dom Style position along a curved path. Provides low-level style manipulating style properties loading of all YUI modules in on Nodes and NodeLists. Plugin DD Drop Parse single, combo-handled HTTP management methods. Safely convert strings to Plugin namespace. Forthcoming class will serve Provides drop-target requests. functionality. Anim Easing JavaScript objects. as a template for plugin functionality. Plugins can also operate directly on Nodes. Extends animation Dom Screen Node Screen functionality to support easing Provides low-level positioning Extends Node and NodeList and region management API for positioning and region DD Proxy effects. methods. management. Provides proxy-drag functionality. ...and more More utility (low-level) Anim Scroll components are provided in Extends animation the YUI 3.0 preview release 1 Selector DD Constrain functionality to support Provides low-level methods Provides drag constraint build. Future preview animations of elements' scroll releases and betas will for collecting and filtering functionality. positions. include the full component DOM elements based on selector syntax. framework and samples of DD Plugin higher-level components Provides pluggable drag Anim XY (widgets). functionality for Node Adds support for the xy instances. property in from and to OOP configurations. OOP Base DD Drop Plugin Provides low-level object Provides pluggable drop- Anim Plugin target functionality for Node Provides pluggable animation management functionality for instances. support for Nodes. JavaScript objects including extension and augmentation. The YUI Seed layer can be used YUI's 3.x Core serves as a common dependency layer for most The Component Framework (not yet complete Components in YUI 3.x are provided a la carte and can be highly modular. You can minimize your o bootstrap any implementation. downstream components. Let the YUI Loader (or Dependency as of PR1) will provide a consistent and inclusion of library code by selecting the specific portions of each component that are required in your With the seed on the page, Configurator) calculate your true core dependencies, though; in many reusable structure for building low-level utilities implementation. YUI().use() can bring in all cases, you will not require the full core layer, even if you are using and higher-level UI widgets. additional components quickly and downstream components. safely.
  • 73. seed core com YUI Event Node Provid compo YUI Base Event Base Node Base Builds Minimal YUI Global and core Provides DOM event and Provides abstraction for library methods. The only Custom Event functionality, creating and manipulating universal YUI 3.x event facade implementation, DOM elements. Can be dependency. and page-load storyboarding extended by components via events. plugin architecture. Provid provide Get event t Provides generic mechanism NodeList for dynamically loading script Dom Extension of Node to handle and CSS resources. abstraction for element Dom Base collections; used for batching Provides low-level DOM DOM manipulations. Provid helper methods. augme Loader intrinsi Adds dependency calculator Node Style and YUI 3.x package Extended API for metadata, allowing dynamic Dom Style Provides low-level style manipulating style properties loading of all YUI modules in on Nodes and NodeLists. single, combo-handled HTTP management methods. Plugin requests. as a te Dom Screen Node Screen also op Provides low-level positioning Extends Node and NodeList and region management API for positioning and region methods. management. Selector Provides low-level methods for collecting and filtering DOM elements based on
  • 74. core component framework Node Widget Drag and Drop Provides foundational plumbing for high-level UI components, including lifecycle management. DD Manager Base Node Base Builds upon base and is an Attribute provider. Provides abstraction for Provides base DD manager creating and manipulating functionality to make a Node DOM elements. Can be draggable. extended by components via plugin architecture. Base Provides base class for all YUI components that DDM Shim provide managed attributes and that serve as Extends DD manager to allow event targets. elements to be dragged over NodeList iframes and other Extension of Node to handle mousetraps. abstraction for element collections; used for batching Attribute DOM manipulations. Provides managed attribute system that can DD Drag augment any class; includes get/set interface and Provides DD functionality for intrinsic change events. simple drag operations on a Node Style Node. Extended API for manipulating style properties on Nodes and NodeLists. Plugin DD Drop Plugin namespace. Forthcoming class will serve Provides drop-target as a template for plugin functionality. Plugins can functionality. Node Screen also operate directly on Nodes. Extends Node and NodeList API for positioning and region DD Proxy management. Provides proxy-drag functionality. DD Constrain Provides drag constraint functionality.
  • 75. work components Drag and Drop Animation IO vel UI Provides XMLHttpRequest, ent. DD Manager Base SWF-based cross-domain der. Anim Base requests, and file upload Provides base DD manager Provides foundational functionality to make a Node support. animation support for draggable. animating properties on the style object of an element. s that DDM Shim Cookie as Provides cookie management Extends DD manager to allow Anim Color support. elements to be dragged over Extends animation iframes and other functionality to support mousetraps. animations of color values. JSON an DD Drag ace and Provides DD functionality for Anim Curve Stringify Extends animation Convert JavaScript simple drag operations on a functionality to support objects to JSON strings. Node. animations of element position along a curved path. DD Drop Parse Provides drop-target Safely convert strings to l serve functionality. Anim Easing JavaScript objects. ins can Extends animation functionality to support easing DD Proxy effects. Provides proxy-drag functionality. ...and more More utility (low-level) Anim Scroll components are provided in Extends animation the YUI 3.0 preview release 1 DD Constrain functionality to support Provides drag constraint build. Future preview animations of elements' scroll releases and betas will functionality. positions. include the full component framework and samples of
  • 78. YUI 3.x • Seed YUI • Core DOM Event Node
  • 79. YUI 3.x • Seed YUI • Core DOM Event Node • Component Framework
  • 80. YUI 3.x • Seed YUI • Core DOM Event Node • Component Framework • Component
  • 81. YUI More Secure Faster Coding / Loading
  • 82.
  • 83. 1 YUI 3.x 1. Seed 2. Script
  • 84.
  • 86. YUI Global (7KB, 1 HTTP request)
  • 87. YUI Global (7KB, 1 HTTP request) YUI().use('node', function(Y) { Y.Node.get('#demo'); });
  • 88. YUI Global (7KB, 1 HTTP request) YUI().use('node', function(Y) { Y.Node.get('#demo'); }); <script src=quot;http://yui.yahooapis.com/3.0.0pr1/build/oop/oop-min.js></script> <script src=quot;http://yui.yahooapis.com/3.0.0pr1/build/event/event-min.js></script> <script src=quot;http://yui.yahooapis.com/3.0.0pr1/build/dom/dom-min.js></script> <script src=quot;http://yui.yahooapis.com/3.0.0pr1/build/node/node-min.jsquot;></script>
  • 89. YUI Global (7KB, 1 HTTP request) YUI().use('node', function(Y) { Y.Node.get('#demo'); }); <script type=quot;text/javascriptquot; src=quot;http:// yui.yahooapis.com/combo?3.0.0pr1/build/oop/oop- min.js&3.0.0pr1/build/event/event-min.js&3.0.0pr1/ build/dom/dom-min.js&3.0.0pr1/build/node/node- min.jsquot;></script>
  • 90. YUI Global (7KB, 1 HTTP request) OOP, Event, Dom, and Node (16KB, 1 HTTP request) YUI().use('node', function(Y) { YUI Instance /* Y Scope YUI Instance node Y Dependent */ Y.get('#demo'); });
  • 91.
  • 93. YUI Base, Dom, Node, Event and OOP (16KB, 1 HTTP request) YUI().use('node', function(Y) { /* YUI Instance Y Scope YUI Instance node Dependent */ Y.get('#demo'); });
  • 95.
  • 96. 2 YUI 3.x Instance-based Instance
  • 98. Instance-based YUI 2.x YAHOO YAHOO.widget.HelloWorld = doSomething; // 1 ... YAHOO.widget.HelloWorld = doNothing; // 2
  • 99. Instance-based YUI 2.x YAHOO YAHOO.widget.HelloWorld = doSomething; // 1 ... YAHOO.widget.HelloWorld = doNothing; // 2 YUI 3.x YUI() YUI().use(‘node’, function(Y) { // 1 Y.HelloWorld = doSomething; };); YUI.use(‘drag’, function(Y) { // 2 Y.HelloWorld = doNothing; };);
  • 100.
  • 101. 5 1 2 3 4 Y Application
  • 102.
  • 103.
  • 104.   YUI Instance
  • 105.   YUI Instance  Instance Sandboxes
  • 106.   YUI Instance  Instance Sandboxes  Sandboxes Secure Mashup
  • 107.   YUI Instance  Instance Sandboxes  Sandboxes Secure Mashup  Instance YUI 3.x
  • 108.
  • 109. 3 YUI YUI Instance
  • 110. YUI Constructor
  • 111. YUI Constructor YUI().use(‘node’, function(Y) { //... };);
  • 112. YUI Constructor YUI().use(‘node’, function(Y) { //... };); var YAHOO = YUI(); // Factory, Instance YAHOO.use(‘node’, function(Y) { //... };);
  • 113.
  • 114. 4 Y YUI YUI 2.x YAHOO
  • 115. Y YUI
  • 116. Y YUI YUI 2.x YAHOO <script type=”text/javascript” src=”...”></script> <script type=”text/javascript”> var oDD = new YAHOO.util.DD(‘foo’); </script>
  • 117. Y YUI YUI 2.x YAHOO <script type=”text/javascript” src=”...”></script> <script type=”text/javascript”> var oDD = new YAHOO.util.DD(‘foo’); </script> YUI 3.x Y YUI YUI().use(‘dd-drag’, function(Y) { new Y.DD.Drag(‘#foo’); };);
  • 118.
  • 119. 5 YUI 3.x YUI 2.x YUI Instance
  • 120.
  • 121. var yui2path = ‘http://yui.yahooapis.com/2.5.2/build/’; YUI({ modules: { 'yui2-yde' : { ‘fullpath’: yui2path + ‘yahoo-dom-event/yahoo-dom-event.js’ }, 'yui2-calendar' : { ‘fullpath’ : yui2path + ‘calendar/calendar-min.js’, ‘requires’ : ['yui2-yde', 'yui2-calendarcss'] }, 'yui2-calendarcss' : { ‘fullpath’: yui2path + ‘calendar/assets/skins/sam/calendar.css’, ‘type’: 'css' } } }).use('node’, ‘yui2-calendar’, function(Y) { // YUI 2.x YUI 3.x Node });
  • 122.
  • 123. seed core YUI Event YUI Base Event Base Minimal YUI Global and core Provides DOM event and Pr library method. The only Custom Event functionality, cre universal YUI 3.x event facade implementation, DO dependency. and page-load storyboarding ex events. plu Get Provides generic mechanism for dynamically loading script Dom Ex and CSS resources. ab Dom Base co Provides low-level DOM DO helper methods. Loader Adds dependency calculator and YUI 3.x package Ex metadata, allowing dynamic Dom Style Provides low-level style ma loading of all YUI modules in on single, combo-handled HTTP management methods. requests. Dom Screen Provides low-level positioning Ex and region management AP methods. ma Selector Provides low-level methods
  • 124. seed core YUI Event YUI Base Event Base Minimal YUI Global and core Provides DOM event and Pr library method. The only Custom Event functionality, cre universal YUI 3.x event facade implementation, DO  YUI Base dependency. and page-load storyboarding events. ex plu Get  Get Utility: Provides generic mechanism for dynamically loading script Dom Ex and CSS resources. ab Dom Base co Provides low-level DOM DO  YUI Loader helper methods. Loader Adds dependency calculator and YUI 3.x package Ex metadata, allowing dynamic Dom Style Provides low-level style ma loading of all YUI modules in on management methods. Get Loader 2.x single, combo-handled HTTP requests. Dom Screen Provides low-level positioning Ex and region management AP methods. ma Selector Provides low-level methods
  • 125. YUI 5
  • 126. YUI 5 1.
  • 127. YUI 5 1. 2. Instance-based
  • 128. YUI 5 1. 2. Instance-based 3. YUI
  • 129. YUI 5 1. 2. Instance-based 3. YUI 4. Y YUI
  • 130. YUI 5 1. 2. Instance-based 3. YUI 4. Y YUI 5. YUI 2.x YUI 3.x
  • 131. Node & NodeList DOM + Selector More Powerful More Consistent
  • 132. id
  • 133.
  • 134. 1 Selector CSS Selector DOM
  • 136. CSS Selector YUI 2.x DOM var $D = YAHOO.util.Dom; // reference cache var el = $D.get(‘foo’); var items = $D.getElementsByClassName(‘highlighted’, ‘li’, el);
  • 137. CSS Selector YUI 2.x DOM var $D = YAHOO.util.Dom; // reference cache var el = $D.get(‘foo’); var items = $D.getElementsByClassName(‘highlighted’, ‘li’, el); YUI 3.x NodeList var items = Y.all(‘#foo li.highlighted’);
  • 138.
  • 139. 2 Node NodeList HTMLElement
  • 141. CSS Selector YUI 2.x DOM HTMLElement var $D = YAHOO.util.Dom; // reference cache var el = $D.get(‘foo’); alert(el.nodeName); //output: DIV
  • 142. CSS Selector YUI 2.x DOM HTMLElement var $D = YAHOO.util.Dom; // reference cache var el = $D.get(‘foo’); alert(el.nodeName); //output: DIV YUI 3.x HTMLElement var el = Y.get(‘#foo’); alert(el.nodeName); //output: undefined alert(el.get(‘nodeName’)); //output: DIVs
  • 143. YUI Node HTMLElement
  • 144. YUI Node HTMLElement • appendChild() • appendChild() • removeChild() • removeChild() • parentNode • parentNode
  • 145. YUI Node HTMLElement • appendChild() • appendChild() • removeChild() • removeChild() • parentNode • parentNode • contains() • contains() • insertBefore() • insertBefore() • children • children
  • 146. YUI Node HTMLElement • appendChild() • appendChild() • removeChild() • removeChild() • parentNode • parentNode • contains() • contains() • insertBefore() • insertBefore() • children • children • addClass() • test() • region
  • 148. YUI 3.x YUI 2.x Function-based var $D = YAHOO.util.Dom; // reference cache var el = $D.get(‘foo’); YUD.addClass(el, ‘highlighted’); el.innerHTML += ‘ clicked’;
  • 149. YUI 3.x YUI 2.x Function-based var $D = YAHOO.util.Dom; // reference cache var el = $D.get(‘foo’); YUD.addClass(el, ‘highlighted’); el.innerHTML += ‘ clicked’; YUI 3.x Object-based var el = Y.get(‘#foo’); el.addClass(‘highlighted’); el.set(‘innerHTML’) = el.get(‘innerHTML’) + ‘ clicked’;
  • 150.
  • 151. 3 Node NodeList
  • 152. NodeList Node
  • 153. NodeList Node Node addClass var el = Y.get(‘#foo’); el.addClass(‘main-module’);
  • 154. NodeList Node Node addClass var el = Y.get(‘#foo’); el.addClass(‘main-module’); NodeList NodeList var items = Y.all(‘#foo li’); items.addClass(‘disabled’); items.set(‘title’, ‘item disabled’);
  • 155. Node 3
  • 156. Node 3 1. Node Selector
  • 157. Node 3 1. Node Selector 2. DOM
  • 158. Node 3 1. Node Selector 2. DOM 3. NodeList
  • 159. core component framework Event Node Widget Drag Provides foundational plumbing for high-level UI components, including lifecycle management. DD M Event Base Node Base Builds upon base and is an Attribute provider. d core Provides DOM event and Provides abstraction for Provides b ly Custom Event functionality, creating and manipulating functional event facade implementation, DOM elements. Can be draggable and page-load storyboarding extended by components via events. plugin architecture. Base Provides base class for all YUI components that D provide managed attributes and that serve as Extends D event targets. elements anism NodeList iframes an script Dom Extension of Node to handle mousetrap abstraction for element Dom Base collections; used for batching Attribute Provides low-level DOM DOM manipulations. Provides managed attribute system that can D helper methods. augment any class; includes get/set interface and Provides D intrinsic change events. simple dra ulator Node Style Node. Dom Style Extended API for amic manipulating style properties Provides low-level style les in management methods. on Nodes and NodeLists. Plugin D HTTP Plugin namespace. Forthcoming class will serve Provides d as a template for plugin functionality. Plugins can functional Dom Screen Node Screen also operate directly on Nodes. Provides low-level positioning Extends Node and NodeList and region management API for positioning and region D management. Provides p methods. functional Selector DD Provides low-level methods Provides d for collecting and filtering functional DOM elements based on selector syntax. D Provides p functional instances OOP OOP Base DD D Provides p Provides low-level object target fun
  • 160. core component framework Event Node Widget Drag Provides foundational plumbing for high-level UI components, including lifecycle management. DD M Event Base Node Base Builds upon base and is an Attribute provider. d core Provides DOM event and Provides abstraction for Provides b ly Custom Event functionality, creating and manipulating functional event facade implementation, DOM elements. Can be draggable and page-load storyboarding extended by components via events. plugin architecture. Base Provides base class for all YUI components that D provide managed attributes and that serve as Extends D  Node Base DOM event targets. elements anism NodeList iframes an script Dom Extension of Node to handle mousetrap abstraction for element Dom Base collections; used for batching Attribute Provides low-level DOM DOM manipulations. Provides managed attribute system that can D  NodeList Node helper methods. augment any class; includes get/set interface and Provides D intrinsic change events. simple dra ulator Node Style Node. Dom Style Extended API for amic manipulating style properties Provides low-level style les in management methods. on Nodes and NodeLists. Plugin D NodeStyle HTTP  Plugin namespace. Forthcoming class will serve Provides d as a template for plugin functionality. Plugins can functional Dom Screen Node Screen also operate directly on Nodes. Provides low-level positioning Extends Node and NodeList and region management API for positioning and region D management. Provides p methods. functional  Node Screen Selector Provides low-level methods for collecting and filtering DOM elements based on XY Region DD Provides d functional selector syntax. D Provides p functional instances OOP OOP Base DD D Provides p Provides low-level object target fun
  • 161. Event DOM Event Custom Event More Consistent
  • 162.
  • 163. 1 DOM Event
  • 164.
  • 165. Y.on() YUI().use(‘node’, function (Y) { Y.on(‘click’, function (e) { // }, ‘#foo’); });
  • 166. Y.on() YUI().use(‘node’, function (Y) { Y.on(‘click’, function (e) { // }, ‘#foo’); }); Node.on() YUI().use(‘node’, function (Y) { var el = Y.get(‘#foo’); el.on(‘click’, function (e) { // }); });
  • 167.
  • 168. 2 Node Event DOM Event
  • 169. Event
  • 170. Event YUI 2.x DOM Event var $E = YAHOO.util.Event; // reference cache $E.on(‘foo’, ‘click’, function (e) { alert(e.type); //output: click $E.preventDefault(e); // $E.stopPropogation(e); // Bubbleup }); YUI 3.x Y.on(‘click’, function (e) { alert(e.type); //output: undefinded e.preventDefault(); e.stopPropogation(); }, ‘#foo’);
  • 171.
  • 173.
  • 174. YUI 2.x Custom Event var $E = YAHOO.util.Event; // reference cache function Toggle() { this.onToggleComplete = new YAHOO.util.CustomEvent(‘toggleComplete’); ... this.onToggleComplete.fire(); } var oToggle = new Toggle(); oToggle.onToggleComplete.subscribe(function(e) { //... });
  • 175. YUI 2.x Custom Event var $E = YAHOO.util.Event; // reference cache function Toggle() { this.onToggleComplete = new YAHOO.util.CustomEvent(‘toggleComplete’); ... this.onToggleComplete.fire(); } var oToggle = new Toggle(); oToggle.onToggleComplete.subscribe(function(e) { //... }); YUI 3.x Event
  • 176. before after
  • 177. YUI().use(quot;dragquot;, function(Y) { var drag = new Y.Drag({ node: ‘#demo’ }); drag.on(quot;drag:mouseDownquot;, function(e) { e.preventDefault(); }); Y.on(quot;drag:mouseDownquot;, function(e) { e.preventDefault(); }); }); before after
  • 178.
  • 179. 4 DOM Event Customer Event preventDeafult stopPropagation
  • 181. Custom Event YUI().use(quot;dragquot;, function(Y) { var drag = new Y.Drag({ node: ‘#demo’ }); drag.on(quot;drag:mouseDownquot;, function(e) { e.preventDefault(); e.stopPropagation(); }); });
  • 182. Event 4
  • 183. Event 4 1.
  • 184. Event 4 1. 2.
  • 185. Event 4 1. 2. 3. Custom Event
  • 186. Event 4 1. 2. 3. Custom Event 4. Custom Event bubble preventable after moment
  • 187. seed core com YUI Event Node Prov com YUI Base Event Base Node Base Buil Minimal YUI Global and core Provides DOM event and Provides abstraction for library method. The only Custom Event functionality, creating and manipulating universal YUI 3.x event facade implementation, DOM elements. Can be dependency. and page-load storyboarding extended by components via events. plugin architecture. Prov prov Get even Provides generic mechanism NodeList for dynamically loading script Dom Extension of Node to handle and CSS resources. abstraction for element Dom Base collections; used for batching Provides low-level DOM DOM manipulations. Prov helper methods. aug Loader intrin Adds dependency calculator Node Style and YUI 3.x package Extended API for metadata, allowing dynamic Dom Style Provides low-level style manipulating style properties loading of all YUI modules in on Nodes and NodeLists. single, combo-handled HTTP management methods. Plug requests. as a Dom Screen Node Screen also Provides low-level positioning Extends Node and NodeList and region management API for positioning and region methods. management. Selector Provides low-level methods for collecting and filtering
  • 188. seed core com YUI Event Node Prov com YUI Base Event Base Node Base Buil Minimal YUI Global and core Provides DOM event and Provides abstraction for DOM events and library method. The only Custom Event functionality, creating and manipulating universal YUI 3.x event facade implementation, DOM elements. Can be dependency. and page-load storyboarding extended by components via events. plugin architecture. Prov prov Custom Events Get even Provides generic mechanism NodeList for dynamically loading script Dom Extension of Node to handle and CSS resources. abstraction for element Dom Base collections; used for batching Provides low-level DOM DOM manipulations. Prov helper methods. aug Loader intrin Adds dependency calculator Node Style and YUI 3.x package Extended API for metadata, allowing dynamic Dom Style Provides low-level style manipulating style properties loading of all YUI modules in on Nodes and NodeLists. single, combo-handled HTTP management methods. Plug requests. as a Dom Screen Node Screen also Provides low-level positioning Extends Node and NodeList and region management API for positioning and region methods. management. Selector Provides low-level methods for collecting and filtering
  • 190. ore component framework Node Widget Drag and Drop Provides foundational plumbing for high-level UI components, including lifecycle management. DD Manager Base Node Base Builds upon base and is an Attribute provider. Provides abstraction for Provides base DD manage creating and manipulating functionality to make a Nod DOM elements. Can be draggable. extended by components via plugin architecture. Base Provides base class for all YUI components that DDM Shim provide managed attributes and that serve as Extends DD manager to al event targets. elements to be dragged ov NodeList iframes and other Extension of Node to handle mousetraps. abstraction for element collections; used for batching Attribute DOM manipulations. Provides managed attribute system that can DD Drag augment any class; includes get/set interface and Provides DD functionality f intrinsic change events. simple drag operations on Node Style Node. Extended API for manipulating style properties on Nodes and NodeLists. Plugin DD Drop Plugin namespace. Forthcoming class will serve Provides drop-target as a template for plugin functionality. Plugins can functionality. Node Screen also operate directly on Nodes. Extends Node and NodeList API for positioning and region DD Proxy management. Provides proxy-drag functionality. DD Constrain Provides drag constraint functionality.
  • 191. YUI 3.x Miscs. Debug IO Queue More Powerful
  • 192. Debug Enhancement • YUI 2.x • alert() • YAHOO.log() • console.log() • YUI 3.x Y.log() Y.dump()
  • 194. Firebug console.log() Firefox
  • 195. YUI 2.x YAHOO.log() Logger ...
  • 196. YUI 2.x Debugging with YAHOO.log() YAHOO.log(dItem.innerHTML);
  • 197. YUI 3.x Y.log() 1. 2. Firebug Console
  • 198. YUI 3.x Debugging with Y.log() Y.log(el.get(‘innerHTML’));
  • 199. IO & Queue • IO Connection Manager • Queue
  • 200. IO • Resource crossdomain.xml • Pipes http://pipes.yahooapis.com/ crossdomain.xml • Server io.swf • xdr (cross domain request)
  • 201. YUI 3.x JavaScript
  • 202.
  • 203.
  • 204. YUI 3.x DragDrop / IO / Animation YUI 3.x Lighter / Faster
  • 205. Drag and Drop, minified, in KB 30.0 22.5 15.0 7.5 0 2.x 3.x Drag & Drop DDM Base DDM Shim DDM Drop DD Drag DD Drop DD Proxy DD Constrain DD Plugin DD Drop Plugin
  • 206. Drag and Drop, minified, in KB 30.0 22.5 15.0 7.5 0 2.x 3.x Drag & Drop DDM Base DD Drag
  • 207. Animation, minified, in KB 15.00 11.25 7.50 3.75 0 2.x 3.x Animation Anim Base Anim Color Anim Curve Anim Easing Anim Scroll Anim XY Anim Plugin Anim XY
  • 208. Ajax component, minified, in KB 15.00 11.25 7.50 3.75 0 Connection Manager IO 2.x 3.x
  • 209.
  • 210. rk components Drag and Drop Animation IO I Provides XMLHttpRequest, DD Manager Base SWF-based cross-domain Anim Base requests, and file upload Provides base DD manager Provides foundational functionality to make a Node support. animation support for draggable. animating properties on the style object of an element. t DDM Shim Cookie Provides cookie management Extends DD manager to allow Anim Color support. elements to be dragged over Extends animation iframes and other functionality to support mousetraps. animations of color values. JSON DD Drag Anim Curve nd Provides DD functionality for Stringify Extends animation Convert JavaScript simple drag operations on a functionality to support objects to JSON strings. Node. animations of element position along a curved path. DD Drop Parse Provides drop-target Safely convert strings to ve functionality. Anim Easing JavaScript objects. an Extends animation functionality to support easing DD Proxy effects. Provides proxy-drag functionality. ...and more More utility (low-level) Anim Scroll components are provided in Extends animation the YUI 3.0 preview release 1 DD Constrain functionality to support build. Future preview
  • 211. rk components Drag and Drop Animation IO I Provides XMLHttpRequest, DD Manager Base SWF-based cross-domain Anim Base requests, and file upload Provides base DD manager Provides foundational functionality to make a Node support. animation support for Improved granularity draggable. animating properties on the style object of an element. t DDM Shim Cookie Provides cookie management Extends DD manager to allow Anim Color support. elements to be dragged over Extends animation iframes and other functionality to support mousetraps. animations of color values. JSON DD Drag Anim Curve nd Provides DD functionality for Stringify Extends animation Convert JavaScript simple drag operations on a functionality to support objects to JSON strings. Node. animations of element position along a curved path. DD Drop Parse Provides drop-target Safely convert strings to ve functionality. Anim Easing JavaScript objects. an Extends animation functionality to support easing DD Proxy effects. Provides proxy-drag functionality. ...and more More utility (low-level) Anim Scroll components are provided in Extends animation the YUI 3.0 preview release 1 DD Constrain functionality to support build. Future preview
  • 212. rk components Drag and Drop Animation IO I Provides XMLHttpRequest, DD Manager Base SWF-based cross-domain Anim Base requests, and file upload Provides base DD manager Provides foundational functionality to make a Node support. animation support for Improved granularity draggable. animating properties on the style object of an element. t DDM Shim Cookie Provides cookie management Extends DD manager to allow Anim Color support. Improved performance elements to be dragged over Extends animation iframes and other functionality to support mousetraps. animations of color values. JSON DD Drag Anim Curve nd Provides DD functionality for Stringify Extends animation Convert JavaScript simple drag operations on a functionality to support objects to JSON strings. Node. animations of element position along a curved path. DD Drop Parse Provides drop-target Safely convert strings to ve functionality. Anim Easing JavaScript objects. an Extends animation functionality to support easing DD Proxy effects. Provides proxy-drag functionality. ...and more More utility (low-level) Anim Scroll components are provided in Extends animation the YUI 3.0 preview release 1 DD Constrain functionality to support build. Future preview
  • 213. 3.x
  • 214. 3.x Roadmap  2008/11 3.0 PR2  2009 3.0 Beta 2.x
  • 215. More information:  http://tech.groups.yahoo.com/ group/yui3/  http://developer.yahoo.com/ yui/3/  http://developer.yahoo.com/ yui/community/
  • 216. YUI
  • 217. Project Roadmap  9/8 CLA Contributor License Agreement  9/8 2.6.0 Carousel DataStore RTE DataTable Beta  11/8 Repository  11/8 3.0 PR2  2009 Q1 2.7.0 and 3.0 beta 1
  • 218. Conclusion • YUI 2.x • YUI 3.x Optional Loader Element Selector • Usable v.s. Professional