ExtJS - Jumpstart para o Grupo DevRioClaro

42
Jumpstart Por Daniel da Cunha Bueno / 2014

description

O membro Daniel da Cunha Bueno irá apresentar o evento sobre ExtJS, que abordará a biblitoeca que é composta por mais de 300 classes, com uma comunidade com mais de 200.000 desenvolvedores ativos, vindo dos mais diversos ambientes de desenvolvimento WEB(ASp.NET,JAVA,PHP,NodeJs,etc...). Essa lib tem como principal foco em sua arquitetura: - Ser familiar e simples de aprender. - Rápida para desenvolvimento, fácil para debugar, e sem sofrimento para implantar. - Bem organizada, extensível e de manutenção simples. JavaScript é uma linguagem orientada a protótipo sem classes. Assim, por natureza, um dos recursos mais poderosos da linguagem é a flexibilidade. Ele pode obter o mesmo trabalho feito por muitas maneiras diferentes, em muitos estilos diferentes e técnicas de codificação. Essa característica, no entanto, trata com o custo de imprevisibilidade. Sem uma estrutura unificada, o código JavaScript pode ser realmente difícil de entender, manter e re-usálo. A Programação baseada em classe, por outro lado, ainda permanece como o modelo mais popular de OOP. Linguagens baseadas em classe geralmente requerem forte digitação, fornecer encapsulamento, e vem com a convenção de codificação padrão. Por geralmente tornando desenvolvedores aderir a um grande conjunto de princípios, o código escrito é mais provável que seja previsível, extensível e escalável ao longo do tempo. No entanto, eles não têm a mesma capacidade dinâmica encontrada em tal linguagem como JavaScript. Cada abordagem tem suas próprias vantagens e desvantagens, mas podemos ter as partes boas de ambos ao mesmo tempo enquanto escondemos as partes ruins? A resposta é sim, através dessa fantástica biblioteca. O evento será GRATUITO e haverá sorteio de BRINDES! Porém, as vagas são limitadas, portanto, faça sua inscrição o quanto antes!!! Por questões de espaço físico, solicitamos que confirme sua presença através do e-mail: [email protected] Este é um evento organizado pela comunidade DevRioClaro, um grupo voluntário e aberto dos desenvolvedores de software de Rio Claro e região. https://www.facebook.com/groups/DevRioClaro

Transcript of ExtJS - Jumpstart para o Grupo DevRioClaro

Page 1: ExtJS - Jumpstart para o Grupo DevRioClaro

Jumpstart

Por Daniel da Cunha Bueno / 2014

Page 3: ExtJS - Jumpstart para o Grupo DevRioClaro

Softwarenão é feito por

máquinas,mas por

pessoas!

Page 4: ExtJS - Jumpstart para o Grupo DevRioClaro

Espaço físicoInfra-estrutura dos encontros

www.mappase.com.br

Page 5: ExtJS - Jumpstart para o Grupo DevRioClaro

Livro para sorteio no dia do evento!

30% de desconto - “DevRioClaro30” (válido até 05/08/2014)

www.novatec.com.br

Page 6: ExtJS - Jumpstart para o Grupo DevRioClaro

2 e-Books para sorteio no dia do evento!15% desconto - “JUMPSTART”(válido de 18 até 21/07/2014)

www.casadocodigo.com.br

Page 7: ExtJS - Jumpstart para o Grupo DevRioClaro

Desconto de 40% livro impresso e 10% eBook - “V00031”(válido até [while true])

www.lcm.com.br

Page 8: ExtJS - Jumpstart para o Grupo DevRioClaro

{

nome: ‘Daniel da Cunha Bueno’,

idade: 31,

email: ‘[email protected]’,

entusiastaWebDesktopApps: true,

github: https://github.com/danielcbueno

}

Page 9: ExtJS - Jumpstart para o Grupo DevRioClaro

É um framework de aplicações JavaScript puro que funciona em qualquer Browser, desde do IE6 para até a mais recente versão do Chrome.

Ele permite que você criar as melhores aplicações multi-plataformas usando nada além de um Browser, e tem uma API fenomenal.

Page 10: ExtJS - Jumpstart para o Grupo DevRioClaro

» Originalmente criada como uma extensão da biblioteca YUI por Jack Slocum, Ext JS incluía interoperabilidade com jQuery e Prototype. Começando com a versão 1.1.

Page 11: ExtJS - Jumpstart para o Grupo DevRioClaro

» Em 4 de dezembro de 2007 foi lançada a versão 2.0, na qual não mantinha nenhuma compatibilidade com a versão anterior, e vinha com a primeira documentação API (Também deixa de depender do YUI,Prototype e jquery).

» Ainda no lançamento dessa versão, é disponibilizado um guia de migração para a versão atual.

» Ponto marcante da versão é a disponibilidade de interfaces gráficas muito próximas as de aplicações desktop.

Page 12: ExtJS - Jumpstart para o Grupo DevRioClaro

» Em 6 de julho de 2009 é lançada a versão 3.0 com suporte a REST e a criação do Ext.Direct(Simular ao SignalR da Microsoft).

» Essa já é a primeira versão que o framework é compatível com a versão anterior.

» Foram disponibilizados os componentes de gráficos em Flash e o componente ListView.

Page 13: ExtJS - Jumpstart para o Grupo DevRioClaro

» Em 26 de Abril de 2011 é lançado a versão 4.0 com um sistema de classe inteiramente revisado, com uma nova estrutura de pacote de acesso a dados.

» Os gráficos em Flash são trocados por gráficos em SVG.

» Criada a opção de desenvolver aplicações na arquitetura MVC (Muito obrigado Sencha!)

Page 14: ExtJS - Jumpstart para o Grupo DevRioClaro

» No mês de maio desse ano (2014) é lançado a versão 5.0.

» O ponto mais marcante dessa versão é o suporte mutuo da aplicação para rodar em Browsers tanto de Desktop, quanto e browsers de tablets e smartphones.

Page 15: ExtJS - Jumpstart para o Grupo DevRioClaro

» Em 15 de Junho de 2010 os mantenedores de JQTouch, RaphaelJS anunciam a criação de uma nova organização.

» Nome da organização é Sencha Inc.

» Conseguem um fundo de investimento inicial para criação da empresa de aproximadamente seis milhões de dólares.

» O salto de qualidade da versão 3.0 para a versão 4.0 é muito elevado.

Page 16: ExtJS - Jumpstart para o Grupo DevRioClaro
Page 17: ExtJS - Jumpstart para o Grupo DevRioClaro

» Atualmente o ExtJS possui dois tipos de Licenciamento :˃ Licenciamento com código aberto, desde que toda a aplicação seja

disponibilizada na internet com o código aberto também.

˃ Licenciamento com código fechado, que tabulado pela imagem abaixo:

Page 18: ExtJS - Jumpstart para o Grupo DevRioClaro

» Anteriormente eu tinha estudado algumas bibliotecas como Backbone, AngularJS, Marionette, RequireJS.

» Para que ?

» Para criar as aplicações web mais leves para o meu cliente final.

» Por que ?

» Porque ele vai reconhecer uma aplicação desenvolvida de um panorama diferente.

Page 19: ExtJS - Jumpstart para o Grupo DevRioClaro

» Uma tela é uma página, seja ela em ASP.NET, PHP,JAVA,etc que rendereiza um HTML.

» Que provavelmente irá chamar um arquivo CSS.

» Que provavelmente irá chamar um arquivo JavaScript.

» Que provavelmente irá chamar uma ou mais imagens.

Page 20: ExtJS - Jumpstart para o Grupo DevRioClaro

HTTP Request

O acesso à http://www.minhaplicacaotradicional.com.br/inicio.aspx

1º Roundtrip

2º Roundtrip

3º Roundtrip

4º RoundtripAcesso ao Banco de dados

Page 21: ExtJS - Jumpstart para o Grupo DevRioClaro

HTTP Request

Acesso direto no banco de dados remoto

Infelizmente não existe, pois precisamos acessar o banco de dados pelo protocolo HTTP.

Page 22: ExtJS - Jumpstart para o Grupo DevRioClaro

» Foi ai que surgiram as chamadas AJAX.

» Com acesso apenas aos dados.

» Sem a necessidade de carregar a página

» E começamos a ter um dinamismo maior no funcionamento de nossas das páginas.

HTTP Request

Page 23: ExtJS - Jumpstart para o Grupo DevRioClaro

» Bibliotecas javascripts que carregam sua aplicação em poucas requests.

» Faz com que nossas aplicações rodem com uma velocidade maior.

» Template no lado do Client e não mais no servidor.

» Apenas os JSON são carregados

Page 24: ExtJS - Jumpstart para o Grupo DevRioClaro

Acesso o link: http://todomvc.com/ para ver mais frameworks similares a esses

Page 25: ExtJS - Jumpstart para o Grupo DevRioClaro

» API extensa com mais de diversas classes.» Remete a uma ideia similar ao do .Net Framework ou ao

Java.» Fácil de aprender.» Rápido para desenvolver.» Possibilidade de criar aplicações robustas.» Disponibilização de estrutura MVC (Model View

Controller)» Encoraja a adoção de padrões de codificação e

documentação.» Ferramentas auxiliares de bônus que fazem muita

diferença para os demais frameworks.

Page 26: ExtJS - Jumpstart para o Grupo DevRioClaro

» Sencha CMD

» Sencha Architect

» JSDuck

» Temas nativos que são fáceis de customizar

» Esses itens serão abordados com maior clareza na próxima apresentação do dia 02/08/2014.

Page 27: ExtJS - Jumpstart para o Grupo DevRioClaro

» No próximos slides irei mostrar como criamos uma classe da maneira convencional javascript.

» E depois veremos como seria a mesma classe se fosse com ExtJS.

Page 28: ExtJS - Jumpstart para o Grupo DevRioClaro

(Para o exemplo foi escrito um código com a última versão do ECMA Script 5)

Page 29: ExtJS - Jumpstart para o Grupo DevRioClaro

(Para o exemplo foi escrito um código com a última versão do ECMA Script 5)

Page 30: ExtJS - Jumpstart para o Grupo DevRioClaro
Page 31: ExtJS - Jumpstart para o Grupo DevRioClaro
Page 32: ExtJS - Jumpstart para o Grupo DevRioClaro

» Comparação de criação de classes do modo nativo VS ExtJS

Page 33: ExtJS - Jumpstart para o Grupo DevRioClaro

» Permite que a classe possua métodos estáticos

» Permite nativamente que a classe seja singleton.

» Mixin (Como se pudéssemos dar uma habilidade a uma classe permanentemente, atua na definição da classe.)

» Override (Útil para sobreposição de classes já em funcionamento e aplicação de paths de correção)

» Plugins (Similar ao mixins, mas atua na instância do objeto)

» Feature (Similar ao plugins, mas só funciona para um tipo específico de classe)

Page 34: ExtJS - Jumpstart para o Grupo DevRioClaro

» Definição » Uso

Page 35: ExtJS - Jumpstart para o Grupo DevRioClaro

» É como se pudéssemos herdar várias classes em uma única classe.

» Centralizar o desenvolvimento de um conjunto de funcionalidades específicas, assim como facilitar a manutenção da mesma.

Page 36: ExtJS - Jumpstart para o Grupo DevRioClaro

» Possibilidade de desenvolver aplicações no conceito Model View Controller.

» Facilita a estrutura e administração da do crescimento da aplicação.

» Economia de memória através do uso de controllers

Page 37: ExtJS - Jumpstart para o Grupo DevRioClaro
Page 38: ExtJS - Jumpstart para o Grupo DevRioClaro

» Demonstração de uma aplicação MVC.

Page 39: ExtJS - Jumpstart para o Grupo DevRioClaro
Page 40: ExtJS - Jumpstart para o Grupo DevRioClaro

» http://www.sencha.com

» http://extjs.eu/ext-examples/

Page 41: ExtJS - Jumpstart para o Grupo DevRioClaro

Aplicação MVC com acesso de dados remoto.

Sencha CMD

Criação de Packages

Build de Packages

Criação de repositório locais

Instalação de Pacotes

JSDuck

Page 42: ExtJS - Jumpstart para o Grupo DevRioClaro