SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
+
+
+
+
+
+
+
+
Primeiros passos
com o framework
Sencha Ext JS
Wemerson Januário
Sencha MVP
23/10/2018 – São Paulo - SP
+
+
+
+
• Mais conhecido como Januário
• Goiano (Terra do pequi)
• Consultor e proprietário da Novanti Tecnologia
• MVP da Sencha
• No mundo do desenvolvimento web desde 2006 com
especialidade em Ext JS e PHP(Laravel)
Quem sou eu?
Wemerson Januário
+
+
+
+
• Sobre a Sencha
• Introdução ao Ext JS
• Conceitos fundamentais
• Exemplos
Agenda
+
+
+
+
• Fundada em 2010
• Sede em Redwood City, California - EUA
• Desenvolvedora do mais completo framework JavaScript
• Adquirida pela Idera Inc. em Agosto de 2017 e integrada a Embarcadero
Um pouco sobre a empresa Sencha
+
+
+
+
• +10kclientes por todo mundo
• +2Mdesenvolvedores
• +7.2MDownloads de produtos
• +500Kmembros ativos no fórum
• 60%do “Fortune 100” acreditam em soluções da Sencha
Estatísticas (atualizado em 2016)
+
+
+
+
O que é Ext JS?
7
+
+
+
+
• Ext JS é um framework JavaScript popular que fornece um grande conjunto de
componentes, recursos e ferramentas integradas, ajudando a entregar aplicações
web com uso intensivo de dados, para desktops, tablets e smartphones de forma
rica e acelerada.
Introdução ao Ext JS 6.6
https://www.sencha.com/products/extjs/#overview
” O robusto Framework de desenvolvimento para construir aplicações
corporativas potentes para desktop e mobile ”
+
+
+
+
• Grande quantidade de componentes
• Um só framework para múltiplos recursos.
• Oferece um conjunto de ferramentas de apoio facilitando a construção de aplicações ricas, robustas e
universais.
• Desenvolvimento ágil.
• Localização, RTL, Acessibilidade (pacote ARIA, 508 Complience)
• Incomparável documentação de API e guias para o usuário
• Cross-Browser
• Suporte e consultoria
• O mais completo componente para Tabelas (GridPanel)
Por que Ext JS?
+
+
+
+
• Robusto sistema de classes com “O.O Aproach”
• Routes
• Completo sistema de layouts com configuração responsiva
• Completo pacote para manipulação dados
• Completo sistema de eventos
• Excelente pacote para gráficos
• Estrutura MVVM e MVC
• Drag and Drop
• Vários temas inclusos (SASS) com fácil customização
• Sofisticada visualização de dados (D3)
• Componentes premiuns (D3, Pivot Grid, Calendar, Exporter)
• Plugins, UX (extensões de terceiros)
Ext JS = Canivete suíço?
+
+
+
+ • Sencha CMD
• Sencha Architect
• Sencha Themer
• Stencils
• Sencha Test
• Sencha Fiddle
• Sencha Inspector
• Sencha IDE plugins
• GXT
• ExtReact
• ExtAngular
O universo de ferramentas Sencha
” Tudo isso gira em torno do Ext JS”
+
+
+
+
Pilha do framework
MVC/MVVM
Data package
DOM
Class / Loader
Utilities Classes
Views
(Components)
Sencha Core
Toolkits – Classic / Modern
+
+
+
+
Toolkits - Classic e Modern
Classic Modern
Core
Código comum
compartilhado (data
package, helpers etc)
Componentes
responsivos e
modernos pronto
para apps universais
e mobile
Componentes
específicos para
Desktop e Tablet com
suporte cross-
browser
+
+
+
+
Arquitetura
• Suporte para ambas arquiteturas MVC e MVVM
• Excelente convenção de nomes, arquivos e classes
• Arquivos de manifesto para diretivas
• Fácil controle pelo Sencha CMD
+
+
+
+
Sistema de layout e containers
Um dos mais poderosos recursos existentes no Ext JS
• Mais de 10 tipos de layouts
• Controla a exibição e posicionamento dos componentes até mesmo para as mais
complexas interfaces
• Inclui um sistema de configuração responsiva que permite componentes se
adaptarem a uma orientação especifica do dispositivo ou mudança no tamanho
da janela do navegador
+
+
+
+
Principais layouts
Absolute Accordion Border Card
FitColumn HBox VBoxTable
+
+
+
+
Pacote de dados
O pacote de dados é o que carrega e salva todos os
dados da aplicação. Consiste em várias classes, mas
existem três que são extremamente importantes.
• Ext.data.Model
• Ext.data.Store
• Ext.data.proxy.Proxy
+
+
+
+
Eventos
• Evento é uma mensagem, uma chamada de função
gerada por uma parte do programa(emissor do evento)
que notifica outra parte do programa (observador do
evento), que algo aconteceu
• Eventos ao serem disparados nos fornece algumas
informações do que ocorreu via argumentos
• Excelente documentação
+
+
+
+
MVC
 Padrão de arquitetura de projeto dividido em três camadas,
ajudando a organizar o código dentro de uma representação
lógica de informações
 Introduzido na versão Ext JS 4
 M – Model + Storage - Determina um formato dos dados
usados na aplicação (entidade bd)
 V – Viewport + Componentes visuais - Representa/Exibe
dados para o usuário
 C – Controllers clássicos do Ext JS 4 - Registra referencias e
escuta por eventos das views
+
+
+
+
MVVM
 Padrão de arquitetura de projeto baseada em MVC, a
diferença chave é o ViewModel que gerencia mudanças entre
dados do Model e a representação visual dos dados (data
binding), algo que é complicado de gerir em aplicações
tradicionais MVC
 Introduzido na versão 5.0
 M – Model + Storage - Determina um formato dos dados
usados na aplicação (entidade bd)
 V – Viewport + Componentes visuais - Representa/Exibi dados
para o usuário
 VM – View Model
+
+
+
+
• Embora o nome MVVM não relaciona controllers, podemos
considerar o padrão criado na versão 5 como MVVM+VC.
• ViewController como o ViewModel é ligado em um View, e
ambos tem escopo da view relacionada, eliminando “dores
de cabeça” presentes no MVC para gerenciar referencias de
objetos.
• Vantagem - Minimiza e as vezes elimina lógicas de
aplicações que manipula diretamente views
MVVM+VC
+
+
+
+
• Principal parte da arquitetura MVVM
• Permite criação de formulas
• View Model e Data Binding lhe dá poderes na hora
do desenvolvimento permitindo fazer mais com
menos código
• Permite programar no estilo declarativo ajudando
manter um conceito limpo e separado
View Model e Data Binding
+
+
+
+
Dicas para iniciantes
23
• Torne-se membro da comunidade para aprender a partir de outros
desenvolvedores
• Procure serviços profissionais para aprimorar seus códigos, revisão de
estrutura de códigos, e adquirir conhecimento com melhores práticas.
• Participe de conferências web (Sencha Webinars)
• Leia livros e tutoriais
• Estude o guia do usuário e os exemplos
• Assim que estiver confortável estude a documentação da API
+
+
+
+
Fórum oficial da Sencha http://sencha.com/forum
Fórum da comunidade brasileira http://extjs.com.br
Slack sencha-br http://sencha-br.slack.com
Livros https://www.packtpub.com/
Blog da Sencha http://sencha.com/blog
Documentação e guia do usuário http://docs.sencha.com/
Exemplos contidos no SDK http://examples.sencha.com/extjs
Conteúdo para estudo
+
+
+
+
Criando a primeira app
sencha generate workspace /path/to/workspace
sencha --sdk path/to/extjs6.zip generate app -modern MyApp MyApp
• Baixe e instale o Sencha CMD - http://www.sencha.com/products/sencha-cmd/
• Baixe o SDK do Ext JS - http://www.sencha.com/products/extjs/evaluate/
cd path/to/worskspace
sencha app watch
http://localhost:1841
cd MyApp
+
+
+
+
Exemplos
http://examples.sencha.com/extjs/
+
+
+
+
wemerson.januario@gmail.com
@januariocoder
https://github.com/wemersonjanuario
http://wemersonjanuario.com.br
http://novanti.com.br
+
+
+
+

Mais conteúdo relacionado

Mais procurados

Packages access protection, importing packages
Packages   access protection, importing packagesPackages   access protection, importing packages
Packages access protection, importing packagesTharuniDiddekunta
 
Présentation de Robot framework
Présentation de Robot frameworkPrésentation de Robot framework
Présentation de Robot frameworkgilleslenfant
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + PythonMateus Padua
 
Swagger - make your API accessible
Swagger - make your API accessibleSwagger - make your API accessible
Swagger - make your API accessibleVictor Trakhtenberg
 
Analise de requisitos estudo para prova
Analise de requisitos estudo para provaAnalise de requisitos estudo para prova
Analise de requisitos estudo para provaLeonardo Almeida
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringDaniel Brandão
 
Top 10 RxJs Operators in Angular
Top 10 RxJs Operators in Angular Top 10 RxJs Operators in Angular
Top 10 RxJs Operators in Angular Jalpesh Vadgama
 
Clean architecture with ddd layering in php
Clean architecture with ddd layering in phpClean architecture with ddd layering in php
Clean architecture with ddd layering in phpLeonardo Proietti
 
Programação Concorrente - Introdução
Programação Concorrente - IntroduçãoProgramação Concorrente - Introdução
Programação Concorrente - IntroduçãoFabio Moura Pereira
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersDaniel Maia
 
JUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkJUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkOnkar Deshpande
 

Mais procurados (20)

JQuery
JQueryJQuery
JQuery
 
Packages access protection, importing packages
Packages   access protection, importing packagesPackages   access protection, importing packages
Packages access protection, importing packages
 
Présentation de Robot framework
Présentation de Robot frameworkPrésentation de Robot framework
Présentation de Robot framework
 
Introdução a java
Introdução a javaIntrodução a java
Introdução a java
 
Tutorial Django + Python
Tutorial Django + PythonTutorial Django + Python
Tutorial Django + Python
 
Swagger - make your API accessible
Swagger - make your API accessibleSwagger - make your API accessible
Swagger - make your API accessible
 
EBAC Django
EBAC DjangoEBAC Django
EBAC Django
 
Analise de requisitos estudo para prova
Analise de requisitos estudo para provaAnalise de requisitos estudo para prova
Analise de requisitos estudo para prova
 
PHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e QuerystringPHP Aula 06 - Include, Require e Querystring
PHP Aula 06 - Include, Require e Querystring
 
spring-api-rest.pdf
spring-api-rest.pdfspring-api-rest.pdf
spring-api-rest.pdf
 
Django PPT.pptx
Django PPT.pptxDjango PPT.pptx
Django PPT.pptx
 
Presentation swagger
Presentation swaggerPresentation swagger
Presentation swagger
 
Html5-Web-Storage
Html5-Web-StorageHtml5-Web-Storage
Html5-Web-Storage
 
Top 10 RxJs Operators in Angular
Top 10 RxJs Operators in Angular Top 10 RxJs Operators in Angular
Top 10 RxJs Operators in Angular
 
Java virtual machine
Java virtual machineJava virtual machine
Java virtual machine
 
Clean architecture with ddd layering in php
Clean architecture with ddd layering in phpClean architecture with ddd layering in php
Clean architecture with ddd layering in php
 
Programação Concorrente - Introdução
Programação Concorrente - IntroduçãoProgramação Concorrente - Introdução
Programação Concorrente - Introdução
 
Apresentação rest api
Apresentação rest apiApresentação rest api
Apresentação rest api
 
Utilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggersUtilizando views, stored procedures e triggers
Utilizando views, stored procedures e triggers
 
JUnit- A Unit Testing Framework
JUnit- A Unit Testing FrameworkJUnit- A Unit Testing Framework
JUnit- A Unit Testing Framework
 

Semelhante a Primeiros passos com Ext JS

Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Rodrigo Kono
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Eric Gallardo
 
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Renato Groff
 
Azure + Desenvolvimento Web | Minicurso Gratuito - Azure na Prática
Azure + Desenvolvimento Web | Minicurso Gratuito - Azure na PráticaAzure + Desenvolvimento Web | Minicurso Gratuito - Azure na Prática
Azure + Desenvolvimento Web | Minicurso Gratuito - Azure na PráticaRenato Groff
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Renato Groff
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...Renato Groff
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoAlvaro Viebrantz
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaAlexandre Tarifa
 
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilRenato Groff
 
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHRenato Groff
 
Application Insights
Application InsightsApplication Insights
Application InsightsCDS
 
Team Foundation Server
Team Foundation ServerTeam Foundation Server
Team Foundation ServerMaira Iantas
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Marcus Garcia
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Renato Groff
 
Sonarqube
SonarqubeSonarqube
SonarqubeCDS
 

Semelhante a Primeiros passos com Ext JS (20)

Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4Desenvolvimento RIA com Silverlight 4
Desenvolvimento RIA com Silverlight 4
 
Treinamento ASP.NET 2014
Treinamento ASP.NET 2014Treinamento ASP.NET 2014
Treinamento ASP.NET 2014
 
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
Boas práticas de segurança no acesso a dados em Web Apps - SQLSaturday #972 -...
 
Azure + Desenvolvimento Web | Minicurso Gratuito - Azure na Prática
Azure + Desenvolvimento Web | Minicurso Gratuito - Azure na PráticaAzure + Desenvolvimento Web | Minicurso Gratuito - Azure na Prática
Azure + Desenvolvimento Web | Minicurso Gratuito - Azure na Prática
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 
Construindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em GoConstruindo aplicações Cloud Native em Go
Construindo aplicações Cloud Native em Go
 
Desenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVCDesenvolviemento web com ASP.Net e MVC
Desenvolviemento web com ASP.Net e MVC
 
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escalaTécnicas e recursos para desenvolvimento Web em cenários de grande escala
Técnicas e recursos para desenvolvimento Web em cenários de grande escala
 
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure BrasilImplementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
Implementando APIs seguras na nuvem - Outubro-2018 - Azure Brasil
 
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
 
Application Insights
Application InsightsApplication Insights
Application Insights
 
Team Foundation Server
Team Foundation ServerTeam Foundation Server
Team Foundation Server
 
Hands-On – ExtJS
Hands-On – ExtJSHands-On – ExtJS
Hands-On – ExtJS
 
Simplifique o seu BI com a AWS
Simplifique o seu BI com a AWSSimplifique o seu BI com a AWS
Simplifique o seu BI com a AWS
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1)
 
Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016Microserviços - Universidade Metodista - EETI 2016
Microserviços - Universidade Metodista - EETI 2016
 
Sonarqube
SonarqubeSonarqube
Sonarqube
 
Web Dev Camp
Web Dev CampWeb Dev Camp
Web Dev Camp
 

Primeiros passos com Ext JS

  • 2. + + + + Primeiros passos com o framework Sencha Ext JS Wemerson Januário Sencha MVP 23/10/2018 – São Paulo - SP
  • 3. + + + + • Mais conhecido como Januário • Goiano (Terra do pequi) • Consultor e proprietário da Novanti Tecnologia • MVP da Sencha • No mundo do desenvolvimento web desde 2006 com especialidade em Ext JS e PHP(Laravel) Quem sou eu? Wemerson Januário
  • 4. + + + + • Sobre a Sencha • Introdução ao Ext JS • Conceitos fundamentais • Exemplos Agenda
  • 5. + + + + • Fundada em 2010 • Sede em Redwood City, California - EUA • Desenvolvedora do mais completo framework JavaScript • Adquirida pela Idera Inc. em Agosto de 2017 e integrada a Embarcadero Um pouco sobre a empresa Sencha
  • 6. + + + + • +10kclientes por todo mundo • +2Mdesenvolvedores • +7.2MDownloads de produtos • +500Kmembros ativos no fórum • 60%do “Fortune 100” acreditam em soluções da Sencha Estatísticas (atualizado em 2016)
  • 7. + + + + O que é Ext JS? 7
  • 8. + + + + • Ext JS é um framework JavaScript popular que fornece um grande conjunto de componentes, recursos e ferramentas integradas, ajudando a entregar aplicações web com uso intensivo de dados, para desktops, tablets e smartphones de forma rica e acelerada. Introdução ao Ext JS 6.6 https://www.sencha.com/products/extjs/#overview ” O robusto Framework de desenvolvimento para construir aplicações corporativas potentes para desktop e mobile ”
  • 9. + + + + • Grande quantidade de componentes • Um só framework para múltiplos recursos. • Oferece um conjunto de ferramentas de apoio facilitando a construção de aplicações ricas, robustas e universais. • Desenvolvimento ágil. • Localização, RTL, Acessibilidade (pacote ARIA, 508 Complience) • Incomparável documentação de API e guias para o usuário • Cross-Browser • Suporte e consultoria • O mais completo componente para Tabelas (GridPanel) Por que Ext JS?
  • 10. + + + + • Robusto sistema de classes com “O.O Aproach” • Routes • Completo sistema de layouts com configuração responsiva • Completo pacote para manipulação dados • Completo sistema de eventos • Excelente pacote para gráficos • Estrutura MVVM e MVC • Drag and Drop • Vários temas inclusos (SASS) com fácil customização • Sofisticada visualização de dados (D3) • Componentes premiuns (D3, Pivot Grid, Calendar, Exporter) • Plugins, UX (extensões de terceiros) Ext JS = Canivete suíço?
  • 11. + + + + • Sencha CMD • Sencha Architect • Sencha Themer • Stencils • Sencha Test • Sencha Fiddle • Sencha Inspector • Sencha IDE plugins • GXT • ExtReact • ExtAngular O universo de ferramentas Sencha ” Tudo isso gira em torno do Ext JS”
  • 12. + + + + Pilha do framework MVC/MVVM Data package DOM Class / Loader Utilities Classes Views (Components) Sencha Core Toolkits – Classic / Modern
  • 13. + + + + Toolkits - Classic e Modern Classic Modern Core Código comum compartilhado (data package, helpers etc) Componentes responsivos e modernos pronto para apps universais e mobile Componentes específicos para Desktop e Tablet com suporte cross- browser
  • 14. + + + + Arquitetura • Suporte para ambas arquiteturas MVC e MVVM • Excelente convenção de nomes, arquivos e classes • Arquivos de manifesto para diretivas • Fácil controle pelo Sencha CMD
  • 15. + + + + Sistema de layout e containers Um dos mais poderosos recursos existentes no Ext JS • Mais de 10 tipos de layouts • Controla a exibição e posicionamento dos componentes até mesmo para as mais complexas interfaces • Inclui um sistema de configuração responsiva que permite componentes se adaptarem a uma orientação especifica do dispositivo ou mudança no tamanho da janela do navegador
  • 16. + + + + Principais layouts Absolute Accordion Border Card FitColumn HBox VBoxTable
  • 17. + + + + Pacote de dados O pacote de dados é o que carrega e salva todos os dados da aplicação. Consiste em várias classes, mas existem três que são extremamente importantes. • Ext.data.Model • Ext.data.Store • Ext.data.proxy.Proxy
  • 18. + + + + Eventos • Evento é uma mensagem, uma chamada de função gerada por uma parte do programa(emissor do evento) que notifica outra parte do programa (observador do evento), que algo aconteceu • Eventos ao serem disparados nos fornece algumas informações do que ocorreu via argumentos • Excelente documentação
  • 19. + + + + MVC  Padrão de arquitetura de projeto dividido em três camadas, ajudando a organizar o código dentro de uma representação lógica de informações  Introduzido na versão Ext JS 4  M – Model + Storage - Determina um formato dos dados usados na aplicação (entidade bd)  V – Viewport + Componentes visuais - Representa/Exibe dados para o usuário  C – Controllers clássicos do Ext JS 4 - Registra referencias e escuta por eventos das views
  • 20. + + + + MVVM  Padrão de arquitetura de projeto baseada em MVC, a diferença chave é o ViewModel que gerencia mudanças entre dados do Model e a representação visual dos dados (data binding), algo que é complicado de gerir em aplicações tradicionais MVC  Introduzido na versão 5.0  M – Model + Storage - Determina um formato dos dados usados na aplicação (entidade bd)  V – Viewport + Componentes visuais - Representa/Exibi dados para o usuário  VM – View Model
  • 21. + + + + • Embora o nome MVVM não relaciona controllers, podemos considerar o padrão criado na versão 5 como MVVM+VC. • ViewController como o ViewModel é ligado em um View, e ambos tem escopo da view relacionada, eliminando “dores de cabeça” presentes no MVC para gerenciar referencias de objetos. • Vantagem - Minimiza e as vezes elimina lógicas de aplicações que manipula diretamente views MVVM+VC
  • 22. + + + + • Principal parte da arquitetura MVVM • Permite criação de formulas • View Model e Data Binding lhe dá poderes na hora do desenvolvimento permitindo fazer mais com menos código • Permite programar no estilo declarativo ajudando manter um conceito limpo e separado View Model e Data Binding
  • 23. + + + + Dicas para iniciantes 23 • Torne-se membro da comunidade para aprender a partir de outros desenvolvedores • Procure serviços profissionais para aprimorar seus códigos, revisão de estrutura de códigos, e adquirir conhecimento com melhores práticas. • Participe de conferências web (Sencha Webinars) • Leia livros e tutoriais • Estude o guia do usuário e os exemplos • Assim que estiver confortável estude a documentação da API
  • 24. + + + + Fórum oficial da Sencha http://sencha.com/forum Fórum da comunidade brasileira http://extjs.com.br Slack sencha-br http://sencha-br.slack.com Livros https://www.packtpub.com/ Blog da Sencha http://sencha.com/blog Documentação e guia do usuário http://docs.sencha.com/ Exemplos contidos no SDK http://examples.sencha.com/extjs Conteúdo para estudo
  • 25. + + + + Criando a primeira app sencha generate workspace /path/to/workspace sencha --sdk path/to/extjs6.zip generate app -modern MyApp MyApp • Baixe e instale o Sencha CMD - http://www.sencha.com/products/sencha-cmd/ • Baixe o SDK do Ext JS - http://www.sencha.com/products/extjs/evaluate/ cd path/to/worskspace sencha app watch http://localhost:1841 cd MyApp