SlideShare a Scribd company logo
Aprimorando
            sua Aplicação
             com Ext JS 4

Loiane Groner
http://loiane.com
http://loianegroner.com     BrazilJS
me@loiane.com
Loiane...

palestrante = {
  nome: ‘Loiane Groner’,
  trabalha: ‘Senior Software Engineer’,
  onde: ‘@Citibank - São Paulo’,
  usaExtDesde: 2009,
  twitter: ‘@loiane’
}
Mãos ao alto!

   Conhece JQuery?

   Conhece Ext JS?

Já trabalhou com Ext JS?
http://sencha.com
Ext JS
   é
líndio!
1milhão de desenvolvedores

RIA JS Framework

Melhores componentes UI do
mercado
Puro HTML/Javascript   Com Ext JS




                                    HOT!
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
XML
  ou
JSON
Tem
 para
todos
Cross Browser
         Funciona até
          no IEca 6!




         Não precisa
              ficar
         esquentando
           a cabeça!
Ext 3
 ->
Ext 4
Framework
 rewritten
Performance++
Faster++
Stable++
E outros....
Plus:
*New Class System
*New Data Package
*New Charts
*New Theming: CSS3
*New Architecture:
 MVC
The New Class
   System
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
Class Definition

// Ext 3:
Ext.ns('MyApp'); // required in Ext 3
MyApp.CustomerPanel = Ext.extend
(Ext.Panel, {
    // etc.
});

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


Ext.define('Sample.Musician', {
	 extend: 'Sample.Person',

	 mixins: {
	 	 guitar: 'Sample.ability.CanPlayGuitar',
	 	 compose: 'Sample.ability.CanComposeSongs',
	 	 sing: 'Sample.ability.CanSing'
	 }
});
Mixin Definition


 
Ext.define
('Sample.ability.CanPlayGuitar',
{
    playGuitar: function() {
        //code to play
    }
});
 
Dynamic Loading


Ext.require('Ext.Window', function() {
    new Ext.Window({
        title : 'Loaded Dynamically!',
        width : 200,
        height: 100
    }).show();
});
Dynamic Loading Hierarchy

Ext.define('Ext.Window', {
     extend: 'Ext.Panel',
     requires:
" " " " " ['Ext.util.MixedCollection'],
     mixins: {
           draggable: 'Ext.util.Draggable'
     }
});
The New Data
  Package
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
Model Declaration


Ext.regModel('User', {
    fields: [
        {name: 'id', type: 'int'},
        {name: 'name', type: 'string'}
    ]
});
New Store Declaration

new Ext.data.Store({
    model: 'User',
    proxy: {
        type: 'ajax',
        url : 'users.json',
        reader: 'json'
    },
    autoLoad: true
});
Store Features
new Ext.data.Store({
    model: 'User',
 
    sorters: ['name', 'id'],
    filters: {
        property: 'name',
        value   : 'Loiane'
    },
    groupers: {
        property : 'age',
        direction: 'ASC'
    }
});
 
Ext.regModel('User', {
    fields: ['id', 'name'],
 

});
    hasMany: 'Posts'         Associations
 
Ext.regModel('Post', {
    fields: ['id', 'user_id', 'title', 'body'],
 
    belongsTo: 'User',
    hasMany: 'Comments'
});
 
Ext.regModel('Comment', {
    fields: ['id', 'post_id', 'name', 'message'],
 
    belongsTo: 'Post'
});
Loading Nested Data
//loads User with ID 123 using User's Proxy
User.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'));
            });
        });
    }
});
{              Nested Data: JSON
    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!'
                 }
             ]
        }
    ]
}
Model Validation

Ext.regModel('User', {
    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/}
    ]
});
Charts
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
MVC
Architecture
Hands On!!!
Código para
       Download:

 https://github.com/
loiane/ext4-crud-mvc
Book:
Ext JS 4: First Look!!!

    Coming: 2011
Aprimorando sua Aplicação com Ext JS 4 - BrazilJS
contato = {
  email: ‘me@loiane.com’,
  blogPtBr: ‘loiane.com’,
  blogIngles: ‘loianegroner.com’,
  twitter: ‘@loiane’,
  github: ‘loiane’,
  slideshare: ‘loianeg’
}

More Related Content

PPTX
Windows ストアーアプリで SQLite を使ってみよう
PPTX
Xml operations in odoo
PDF
Dependency injection in Scala
PPTX
Mule esb – connecting to ms sql db
PPTX
Jquery Basics
PPTX
Ext JS Introduction
PPTX
Getting classy with ES6
PPTX
Venturing Into The Wild: A .NET Developer's Experience As A Ruby Developer
Windows ストアーアプリで SQLite を使ってみよう
Xml operations in odoo
Dependency injection in Scala
Mule esb – connecting to ms sql db
Jquery Basics
Ext JS Introduction
Getting classy with ES6
Venturing Into The Wild: A .NET Developer's Experience As A Ruby Developer

What's hot (20)

KEY
Active Record
PPTX
Testable, Object-Oriented JavaScript
PPTX
HOW TO CREATE A MODULE IN ODOO
PPTX
Odoo Web Services
KEY
ActiveRecord
PPTX
Continuous integration using thucydides(bdd) with selenium
PDF
jQuery secrets
PDF
えっ、なにそれこわい
PDF
Rails GUI Development with Ext JS
DOCX
Cara membuat tulisan mengikuti kursor di blog
PDF
Magento2&java script (2)
PPTX
Drupal sins 2016 10-06
PPTX
Sins Against Drupal 2
PDF
Symfony2. Form and Validation
PDF
Assignment4
 
PPTX
The War is Over, and JavaScript has won: Living Under the JS Regime
PPTX
MVVM e Caliburn Micro for Windows Phone applications
PDF
LoginFormCode
PPTX
Introducing coServ
KEY
Polymorphism
Active Record
Testable, Object-Oriented JavaScript
HOW TO CREATE A MODULE IN ODOO
Odoo Web Services
ActiveRecord
Continuous integration using thucydides(bdd) with selenium
jQuery secrets
えっ、なにそれこわい
Rails GUI Development with Ext JS
Cara membuat tulisan mengikuti kursor di blog
Magento2&java script (2)
Drupal sins 2016 10-06
Sins Against Drupal 2
Symfony2. Form and Validation
Assignment4
 
The War is Over, and JavaScript has won: Living Under the JS Regime
MVVM e Caliburn Micro for Windows Phone applications
LoginFormCode
Introducing coServ
Polymorphism
Ad

Viewers also liked (20)

PDF
QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
PDF
Javaone Brazil 2012: Integrando Ext JS 4 com Java EE
PDF
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
PDF
Ajax de primeira com ExtJS + JSON no seu projeto Spring
PPT
DevInCachu 2012: Desenvolvendo Aplicacoes RIA com ExtJS 4 e Sencha Touch 2
PDF
DevInCachu 2012 LT: Ext Gwt 3: GXT 3
PDF
MobileConf 2015: Desmistificando o Phonegap (Cordova)
PDF
Conexao Java 2012: Desenvolvendo RIA com Java e Ext GWT (GXT)
PDF
School of Net Webinar: ExtJS 4
PDF
Curso XML - IBM Academic Initiative
PDF
JavaCE Conference 2012: ExtJS 4 + VRaptor
PDF
JavaCE Conference - Ext GWT - GXT 3
PDF
Cafe com Tom - ExtJS 4
PDF
Devcast Brasil: ExtJS 4 e Sencha Touch 2
PDF
JavaOne Brazil 2011: Jax-RS e Ext JS 4
PDF
BeagaJS 2013: Sencha Touch + PhoneGap
PDF
Justjava 2012: REST Com Jax-RS e ExtJS 4
PDF
Mulheres da Tecnologia da Informação - Techinter
PDF
Linguagil 2012: Desenvolvendo Aplicações RIA com Ext JS 4 e Touch 2
PDF
Ext JS 4 em 5 Minutos - QCONSP 2011
QConSP 2012: Sencha Touch 2: Mobile Multiplataforma
Javaone Brazil 2012: Integrando Ext JS 4 com Java EE
FrontInBahia 2014: 10 dicas de desempenho para apps mobile híbridas
Ajax de primeira com ExtJS + JSON no seu projeto Spring
DevInCachu 2012: Desenvolvendo Aplicacoes RIA com ExtJS 4 e Sencha Touch 2
DevInCachu 2012 LT: Ext Gwt 3: GXT 3
MobileConf 2015: Desmistificando o Phonegap (Cordova)
Conexao Java 2012: Desenvolvendo RIA com Java e Ext GWT (GXT)
School of Net Webinar: ExtJS 4
Curso XML - IBM Academic Initiative
JavaCE Conference 2012: ExtJS 4 + VRaptor
JavaCE Conference - Ext GWT - GXT 3
Cafe com Tom - ExtJS 4
Devcast Brasil: ExtJS 4 e Sencha Touch 2
JavaOne Brazil 2011: Jax-RS e Ext JS 4
BeagaJS 2013: Sencha Touch + PhoneGap
Justjava 2012: REST Com Jax-RS e ExtJS 4
Mulheres da Tecnologia da Informação - Techinter
Linguagil 2012: Desenvolvendo Aplicações RIA com Ext JS 4 e Touch 2
Ext JS 4 em 5 Minutos - QCONSP 2011
Ad

Similar to Aprimorando sua Aplicação com Ext JS 4 - BrazilJS (20)

PDF
RIA - Entwicklung mit Ext JS
PDF
SenchaTouch 2 and Sencha.io
PDF
Angular를 활용한 웹 프론트단 개발과 2.0에서 달라진점
PDF
Angular를 활용한 웹 프론트단 개발과 2.0에서 달라진점
PDF
Scalable web application architecture
PDF
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
PPTX
Sencha Touch - Introduction
PPSX
Sencha Touch basic concepts, pros and cons
PPTX
SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...
PDF
Intro To JavaScript Unit Testing - Ran Mizrahi
PDF
Python RESTful webservices with Python: Flask and Django solutions
PPT
Ember.js Tokyo event 2014/09/22 (English)
ODP
ExtJS framework
PDF
Tools and Projects Dec 2018 Edition
PPTX
Django - sql alchemy - jquery
PPTX
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
PPTX
Webinar: Build an Application Series - Session 2 - Getting Started
PPTX
Create online games with node.js and socket.io
PDF
There's more than web
PDF
GDI Seattle - Intro to JavaScript Class 4
RIA - Entwicklung mit Ext JS
SenchaTouch 2 and Sencha.io
Angular를 활용한 웹 프론트단 개발과 2.0에서 달라진점
Angular를 활용한 웹 프론트단 개발과 2.0에서 달라진점
Scalable web application architecture
JavaOne Brasil 2016: JavaEE e HTML5: da web/desktop ao mobile
Sencha Touch - Introduction
Sencha Touch basic concepts, pros and cons
SenchaCon 2016: Want to Use Ext JS Components with Angular 2? Here’s How to I...
Intro To JavaScript Unit Testing - Ran Mizrahi
Python RESTful webservices with Python: Flask and Django solutions
Ember.js Tokyo event 2014/09/22 (English)
ExtJS framework
Tools and Projects Dec 2018 Edition
Django - sql alchemy - jquery
SenchaCon 2016: Handle Real-World Data with Confidence - Fredric Berling
Webinar: Build an Application Series - Session 2 - Getting Started
Create online games with node.js and socket.io
There's more than web
GDI Seattle - Intro to JavaScript Class 4

Recently uploaded (20)

PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Machine learning based COVID-19 study performance prediction
PDF
Encapsulation theory and applications.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPT
Teaching material agriculture food technology
PDF
Electronic commerce courselecture one. Pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
KodekX | Application Modernization Development
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Reach Out and Touch Someone: Haptics and Empathic Computing
Machine learning based COVID-19 study performance prediction
Encapsulation theory and applications.pdf
The AUB Centre for AI in Media Proposal.docx
Unlocking AI with Model Context Protocol (MCP)
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Per capita expenditure prediction using model stacking based on satellite ima...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Teaching material agriculture food technology
Electronic commerce courselecture one. Pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
KodekX | Application Modernization Development

Aprimorando sua Aplicação com Ext JS 4 - BrazilJS