Intro to Sencha Ext JS 4

advertisement
JavaScript Framework for Rich Apps in Every
Browser
Maura Wilder maura@devpartners.com
Joan Wortman joan.wortman@gmail.com
Characteristics

Mature library (Started as YUI-Ext, 2006)
 True cross-browser support




Extensible, object-oriented architecture



Eventing
Dom manipulation
Ajax
Inheritance, Multiple Inheritence/Traits
Component plugins
Feature-rich UI widgets (grid, tree etc.)
 Complete data package
Demo
 Web
Desktop
 Other sample & demos
Let’s look a little closer at:
 Inheritance
 Layout
Management
 UI Components (aka widgets)
 The Grid
 Data Package
 Charts and Drawing
Inheritance: Example Class Diagram
Observable
Component
Panel
Tab Panel
Window
Menu
resizeable
draggable
Inheritance: example code
Ext.define('Ext.Window', {
extend: 'Ext.Panel',
…,
mixins: {
draggable: 'Ext.util.Draggable‘
…
},
config: {
title: “Grid Window"
}
});
Layout Management
Example
UI Components

Out of the box components:








dialog boxes
tree, tree grid
combo box, slider
pickers (date, time, color)
menu, button, toolbar, and tooltip
grid
… and a lot more
Data Binding
 Validations, Dirty Indicators
 Drag and Drop
The Grid
 Data
backed pluggable data stores
 Configurable features:

paging, filtering, progress bar, sorting, cell
and row editing, locking, searching, buffered
scrolling, ...
 Customizable
 Plugins
data views
Data Package








Models and Stores to define data format
DataReaders and DataWriters to populate, and
update data
Local (in-page) and Remote (ajax) data access
Databinding with common components
(grid/tree/combobox)
Built in filtering, sorting, grouping
Supports client-side MVC
More info on Sencha blog
Examples
Charts and Drawing

Pure JavaScript packages
 Ext.chart.Chart extends Ext.draw.Component


Full featured chart library



SVG or VML
Pie, bar, stacked, line …
live updates
Works using the same data stores as grids


Define the axes
Define the series
Example
Sample
Drawing
Code
Some of the Other Stuff
Dom
Manipulation
CSS selector queries
 component rendering
 templates

Event
Management
custom events
 remote functions

Forms
side MVC
Other Components
Trees
 Combo boxes
 Progress Indicators
 Dialogs
 Menus
 etc.

Class
Animation
Keyboard
Client
Support
loader
Theming
Other Sencha Products
Touch – framework for building
mobile applications (demo schedule)
 Sencha.io – cloud services for mobile
 Ext Designer – wysiwig tool for Ext JS
 Sencha Animator – tool for designing
CSS3 animations
 Ext GWT – Ext controls available for
Google Web Toolkit
 Sencha
Questions & Contact Info
 Any
questions?
 Slides will be posted on Maura’s blog:

squdgy.wordpress.com
 Joan’s

contact info:
joan.wortman@gmail.com
 Maura’s


contact info
maura@devpartners.com
twitter: @squdgy
Download