Next Generation UI
        with jQuery

     By Vitali Malinouski
The need
• Why do we need another UI library?
 • jQuery & plugins
 • Others (prototype, mootools, dojo)
 • YUI
 • ExtJs
Pain Points
• Moving Target (Web 2.0, HTML5, CSS3)
• MVC
• Size and Speed
• Uniformity
• Diversity
• Customization
Moving Target
• HTML5 and CSS3
 • new semantics
 • borders, gradients, shadows
 • CSS3 animations
• Graceful Degradation vs Progressive
  Enhancement
MVC

• Client side vs Server Side
• JSON as Model
• Multi-tiered MVC designes
• Frame Work
Uniformity

• Similar Usage $().w2grid()
• Same render() idea
• All have resize() method
• Common event workflow
Size and Speed

• 24Kb (minified and gzipped)
 • Core (layout, grid, tree, toolbar, tabs,
    popup, utils)
• Fast with jQuery DOM manipulations
• Size Compared
Customization

• Structure and Presentation Layer
• CSS Scoping
• Widget CSS
• <style> tag
What Do you Love
   About jQuery
• Simple Idea - $(‘#id’)
• Complex arguments - $().html(), $
  ().html(‘set’)
• Chaining
• Uniformity
Widget Needs
•   Layout          •   Tabs

•   Grid            •   Popup

•   Tree            •   Toolbar
Layout

• Overview
• Comparison to Other plugins
• Basic Function
• Panels
Layout Panels
Layout Code
Grid

• Overview
• Comparison to Other Plugins
• Basic Functions
 • Grid Elements
 • Client vs Server side
The Grid
Simple Code
Bells and Whistles
Toolbar

• Overview
• Toolbar Items
• Reuse in other Widgets
• Comparison
Toolbar
Tabs
Tree
Popup
Popup Code

Next Generation UI