tdc 2011 - ext js 4

52
Aprimorando sua App com Ext JS 4 Loiane Groner

Upload: loiane-groner

Post on 07-May-2015

3.366 views

Category:

Technology


3 download

DESCRIPTION

Palestra apresentada na trilha de javascript do TDC 2011.

TRANSCRIPT

Page 1: TDC 2011 - Ext JS 4

Aprimorando sua App com

Ext JS 4

Loiane Groner

Page 2: TDC 2011 - Ext JS 4

palestrante = {nome: ‘Loiane Groner’,trabalha: ‘Sr Software Engineer’,onde: ‘@Citibank - São Paulo’,usaExtDesde: 2009,twitter: ‘@loiane’,escreve: ‘http://loiane.com’,escreveEN: ‘http://loianegroner.com’

}

Loiane Quem?

Page 3: TDC 2011 - Ext JS 4

Mãos ao alto!

Conhece JQuery?

Conhece Ext JS?

Já trabalhou com Ext JS?

Page 4: TDC 2011 - Ext JS 4

Mas o que é esse tal de Ext JS?

Page 5: TDC 2011 - Ext JS 4

http://sencha.com

Page 6: TDC 2011 - Ext JS 4

1milhão de desenvolvedores

RIA JS Framework

Melhores componentes UIdo mercado

Page 7: TDC 2011 - Ext JS 4

Puro HTML/Javascript

Page 8: TDC 2011 - Ext JS 4

Com Ext JSHOT!

Page 9: TDC 2011 - Ext JS 4
Page 10: TDC 2011 - Ext JS 4

Cross Browser

Não precisa ficar

esquentando a cabeça!

Funciona até no IEca 6!

Page 11: TDC 2011 - Ext JS 4

XMLou

JSON

Page 12: TDC 2011 - Ext JS 4

Fácil Integração

Page 13: TDC 2011 - Ext JS 4

E outros....

Pode integrar código!

Page 14: TDC 2011 - Ext JS 4

Orientado a Objetos

Ext.define('MyApp.CustomerPanel', { extend: 'Ext.panel.Panel', // etc.});

Page 15: TDC 2011 - Ext JS 4

Carregamento Dinâmico

Ext.Loader.setConfig({ enabled: true});

Ext.Loader.setPath('Ext.ux', '../ux');

Ext.require([ 'Ext.grid.*', 'Ext.data.*', 'Ext.ux.RowExpander',]);

Page 16: TDC 2011 - Ext JS 4

Data Package

Model

Proxy

Store

Field

Validation

Association

SorterFilter

Grouper

Reader

Writer

Page 17: TDC 2011 - Ext JS 4

Model Fields

Ext.define('User', { extend: 'Ext.data.Model', fields: [ {name: 'id', type: 'int'}, {name: 'name', type: 'string'} ]});

Page 18: TDC 2011 - Ext JS 4

Model Validations

Ext.define('User', { extend: 'Ext.data.Model', fields: ['id', 'name', 'email', 'height'],  validations: [ {type: 'presence', field: 'id'}, {type: 'length', field: 'name', min: 2}, {type: 'format', field: 'email', matcher: /[a-z]@[a-z].com/} ]});

Page 19: TDC 2011 - Ext JS 4

Ext.define('User', { extend: 'Ext.data.Model', fields: ['id', 'name'],  hasMany: 'Posts'}); Ext.define('Post', { extend: 'Ext.data.Model', fields: ['id', 'user_id', 'title', 'body'],  belongsTo: 'User', hasMany: 'Comments'}); Ext.define('Comment', { extend: 'Ext.data.Model', fields: ['id', 'post_id', 'name', 'message'],  belongsTo: 'Post'});

Model Association

Page 20: TDC 2011 - Ext JS 4

{ id: 1 name: 'Loiane', posts: [ { id : 12, title: 'New features in Ext JS 4', body : 'Ext JS 4 is the most...', comments: [ { id: 123, name: 'Someone', message: 'Great Post!' } ] } ]}

Nested Data: JSON

Page 21: TDC 2011 - Ext JS 4

//loads User with ID 123 using User's ProxyUser.load(123, { success: function(user) { console.log("User: " + user.get('name'));  user.posts().each(function(post) { console.log("Comments for post: " + post.get('title'));  post.comments().each(function(comment) { console.log(comment.get('message')); }); }); }});

Dados Associados

Page 22: TDC 2011 - Ext JS 4

new Ext.data.Store({ model: 'User', proxy: { type: 'ajax', url : 'users.json', reader: 'json' }, autoLoad: true});

Store

Page 23: TDC 2011 - Ext JS 4

new Ext.data.Store({ model: 'User',  sorters: ['name', 'id'], filters: { property: 'name', value : 'Loiane' }, groupers: { property : 'age', direction: 'ASC' }});

Page 24: TDC 2011 - Ext JS 4

Proxy

AJAX REST

JSON-PLocal Storage(Memory &HTML 5)

Page 25: TDC 2011 - Ext JS 4

Componentes

Page 26: TDC 2011 - Ext JS 4

Grid

Page 27: TDC 2011 - Ext JS 4

Tree

Page 28: TDC 2011 - Ext JS 4

Form + Validação Nativa

Page 29: TDC 2011 - Ext JS 4

Data View

Page 30: TDC 2011 - Ext JS 4

Toolbar + Buttons

Page 31: TDC 2011 - Ext JS 4

Gerenciador de Layout

Page 32: TDC 2011 - Ext JS 4

Acessibilidade(ARIA)

Page 33: TDC 2011 - Ext JS 4

Desenhos

Page 34: TDC 2011 - Ext JS 4

Charts

Page 35: TDC 2011 - Ext JS 4
Page 36: TDC 2011 - Ext JS 4
Page 37: TDC 2011 - Ext JS 4
Page 38: TDC 2011 - Ext JS 4
Page 39: TDC 2011 - Ext JS 4
Page 40: TDC 2011 - Ext JS 4
Page 41: TDC 2011 - Ext JS 4
Page 42: TDC 2011 - Ext JS 4
Page 43: TDC 2011 - Ext JS 4
Page 44: TDC 2011 - Ext JS 4

TemasCSS 3:

Sass + Compass

Page 45: TDC 2011 - Ext JS 4

Arquitetura MVC

Page 46: TDC 2011 - Ext JS 4

Model

View Controller

Page 47: TDC 2011 - Ext JS 4

Show me the code!

Page 49: TDC 2011 - Ext JS 4

Licença

US$ 595 por Dev

Page 50: TDC 2011 - Ext JS 4

http://extjs4book.com

Livro:Ext JS 4: First Look

RAW - Julho 2011Lançamento: final 2011

Page 51: TDC 2011 - Ext JS 4
Page 52: TDC 2011 - Ext JS 4

contato = {email: ‘[email protected]’,blogPtBr: ‘loiane.com’,blogIngles: ‘loianegroner.com’,twitter: ‘@loiane’,github: ‘loiane’

}

Obrigada!