Sencha ION Beta Sign-up

Desculpe-nos, mas este texto está apenas disponível em English.

When Ext Designer came, everyone was exciting not only to finally put hands on this great product, but also to see an Ext JS application running natively on the desktop. As all the other curious developers, I did some research and come with the post Ext ION: rumors of a new product. This was back in April 2010, when I wasn’t even a Sencha employee.

For my surprise, my predictions were confirmed last week! Sencha announced the private beta sign-up for ION. On the short description, the product is labeled as a way to wrap Ext JS Web applications in a native desktop shell.
Continuar lendo

LinkedInDeliciousPinterestTumblrEmailShare

Changes on ExtDesenv

Desculpe-nos, mas este texto está apenas disponível em English.

ExtDesenv has been a cool resource for Sencha stuff for a while, but in the last months things are going pretty slow. I definitely don’t wanna kill this project, since I really enjoy blogging and sharing things, so I decided to make things more productive over here!

Starting now, we have a new simplified theme, with less customizations and more focus on content. I added a github integration, so sharing code and updating legacy code would be easier for me, and more readable for you. I’m also shifting the main language from Portuguese to English, solely to reach a higher audience. I’ll see in the future if I’ll do something with translations or not.

So, exciting things are happening here! Specially now that I’m working at Sencha, there’s a lot of questions and information that I can reach right from the source. Stay tuned!

Hello Sencha Touch!

Continuar lendo

LinkedInDeliciousPinterestTumblrEmailShare

Brasileiro na Sencha

Estimados leitores, lamento pela falta de atualizações. Nos últimos meses estive envolvido em diversos projetos, e escrever ficou de lado nos meus cronogramas. Mas tudo por um bom motivo: estou oficialmente trabalhando na Sencha!

O meu canto :)

Como é de se imaginar, trabalhar ao lado dos “caras oficiais Ext JS” é um tanto importante para mim. Estou extremamente empenhado em participar de todos os projetos, e inclusive pude responder alguns tickets de amigos brasileiros no sistema de suporte!
Continuar lendo

LinkedInDeliciousPinterestTumblrEmailShare

Considerações sobre o lançamento do Ext 4.0

O tão aguardado Ext 4.0 está aí, e são muitas as novidades: gráficos, padrão MVC, novo pacote de Ext.data, nova estrutura de classes, etc etc etc… Dentre este oceano de alterações confesso que estou tão perdido quanto qualquer outro programador. Não vou ficar aqui ressaltando o que mudou, a equipe Ext fez um ótimo trabalho de publicação através dos vídeos da Sencha Conf, os posts do blog, e também os artigos que são distribuídos com a documentação oficial. Vou aqui somente publicar minhas considerações.

Reaprendendo o Ext

Quem programava Ext 1.0 sofreu com a nova versão 2.0. Era uma versão muito melhor, muito mais rápida, porém extremamente diferente. Traçar o mesmo paralelo entre a versão Ext 3.0 para a 4.0 pode ser um pouco exagerado, mas certos pontos realmente são válidos. A impressão é que você está reaprendendo o framework, porque não foram algumas melhorias pequenas como da versão 3.0 para 3.1, foram coisas essenciais, o código foi praticamente reescrito desde seu núcleo. É preciso voltar aos estudos, assistir apresentações, ler artigos, investir tempo na nova documentação, até adaptar-se a nova versão.

Para começar o sistema de classes mudou. A forma de escrever suas classes não é mais o mesmo. Só neste ponto eu creio que terei de alterar todos os fontes JS das minhas aplicações. Não que tudo vá parar de funcionar, porque a equipe irá lançar um arquivo de migração (Compat.js). Mas para ser 100% complacente com a nova versão, as definições de classes devem mudar.

/*
 *Como eram definidas as classes
 */
Ext.namespace('App.cliente');
App.cliente.Cadastro = Ext.extend(Ext.form.FormPanel, {

	restUrl: '/clientes',
	clienteID: 0,

	initComponent: function() 
	{
		//...
		App.cliente.Cadastro.superclass.initComponent.call(this);
	}
});
Ext.reg('clientecadastro',App.cliente.Cadastro);

/*
 * A nova definição
 */
Ext.define('App.cliente.Cadastro', {

	restUrl: '/clientes',

	config: {
		clienteID: 0
	},

	initComponent: function() 
	{
		//...
		this.callParent();
	}
});

Arquitetura de Aplicação

Outra coisa, pela primeira vez na história da companhia uma arquitetura de aplicação foi publicada. Até então cada ninja Ext resolvia sua aplicação de uma forma. Algums orientados a objetos, outros nem tanto, alguns colocando todos scripts em um diretório, outros dividindo por namespace, etc…




Estrutura dos arquivos

Se adequar a nova estrutura é crucial para poder fazer uso do SDK que está sendo desenvolvido. Este SDK foi comentado na Sencha Conf, e assume que seus fontes e sua aplicação está toda organizada seguindo os padrões Sencha de desenvolvimento. Caso contrário, nada de automatização e algumas surpresinhas que eles estão reservando.

Desempenho

Toda a reescrita do código foi pensada para ter mais robusteza e desempenho. De início posso dizer que com certeza ficou mais rápido. E as explicações são bem óbvias. Primeiro porque houve uma gigante diminuição de elementos DOM para cada componente. O Grid não usa mais um monte de <div> e sim uma <table>, os botões não usam mais uma complicada estrutura porque agora é usado CSS3 para fazer os degradês e cantos arredondas. Também por conta do CSS3 muitos sprites foram eliminados.

Além disso o framework agora conta com carregamento dinâmico. Foi até uma agradável surpresa que minha função Ext.require tenha ido junto. Agora o Ext conta com essa função em seu núcleo, mas com o toque dos programadores Sencha que deram uma bela melhorada nela. O arquivo JS só é carregado quando a classe é requisitada. Mas claro, para isso sua aplicação deve seguir a arquitetura Sencha.

Fiquei com um pouco de dúvida devido ao tamanho dessa versão: 1.1mb. E não é a versão debug, porque esta tem 2.4mb. Ainda estou a procura de melhores esclarecimentos. Não sei se é possível carregar o próprio Ext sob demanda, ou incluir o arquivo de 1mb será a única abordagem.

Gráficos

Nesse ponto eu fiquei muito surpreso. O pessoal caprichou e criou uma biblioteca decente de gráficos sem usar flash, nem requerir nenhum plugin adicional. São dezenas de gráficos e opções para todos os gostos. Como tudo é Javascript, tudo pode ser alterado e personalizado sem problemas. Legendas, cores, animações, tooltips, tudo pode ser customizado, extendido ou melhorado. Os gráficos são rápidos e desempenham bem nos browsers modernos. Segundo a equipe até o IE6 suporta os gráficos…



Ext.data

Outro ponto que estou muito ansioso para explorar. O DataStore deixa de ser o chefão e passa a ser somente um complemento. Agora é possível fazer uma modelagem muito mais profissional usando a classe Ext.Model.



//definir um model
Ext.define('User', {
    extend: 'Ext.data.Model',    
    fields: ['id', 'name', 'age'],
    proxy: {
        type: 'rest',
        url : '/users',
        reader: {
            type: 'json',
            root: 'users'
        }
    }
});

//pegar referência do model
var User = Ext.getModel('User');

//criar um usuário
var ed = Ext.create('User', {
    name: 'Ed Spencer',
    age : 25
});

//salvar diretamente sem intervenção de stores
ed.save({
    success: function(ed) {
        console.log("Saved Ed! His ID is "+ ed.getId());
    }
});

//ou carregar 
User.load(123, {
    success: function(user) {
        console.log("Loaded user 123: " + user.get('name'));
    }
});

Temas

O pacote de temas foi alterado radicalmente, e posso dizer que ficou anos-luz a frente da versão anterior. Isso porque todas as imagens sprite para criar cantos arredondados e degradês foram removidas! Tudo agora é feito por CSS, e para o IE6 parece que existe uma solução que cria as imagens sprites sob demanda (confesso não me interessar muito, não dou suporte pra IE6).

Para começar, está sendo utilizado SASS e Compass. SASS é uma ferramenta para deixar o CSS mais legal, permitindo variáveis, funções, enfim, uma nova forma de escrever CSS. Compass é uma biblioteca com funções padrões SASS, para criar degradês, cantos arredondados, e demais efeitos. Essas alterações realmente me agradaram, porque criar temas no Ext era MUITO chato. Para alterar a cor de um simples botão era preciso mudar o sprite inteiro do botão, nos estados normal, pressionado, com o mouse em cima, etc etc etc… chato, chato, chato. Agora é só usar um mixin (uma função CSS) para criar botões das mais diferentes cores.


Conclusões

Como comentei, esse post foi somente para me colocar de volta à escrita e publicar minhas considerações sobre o Ext 4. Eu espero trazer em breve mais conteúdo educacional a medida que eu vou me aprofundando e descobrindo as mudanças do Ext 4.0.

Por agora vou iniciar a mudança de um sistema iniciando pelos temas. Melhor lugar para começar é com a apresentação do Sencha Conf Theming ExtJS 4.0. Vou tentar me localizar com essa nova estrutura de diretórios e publico pra vocês as novidades.

Um forte abraço!

LinkedInDeliciousPinterestTumblrEmailShare

Sencha Touch – um framework HTML 5 para aplicativos móveis

 

E eles fizeram novamente! Já não bastasse os periódicos lançamentos e novidades do framework Ext JS, a equipe Ext, agora com o novo nome Sencha, deu o próximo grande passo e lançou o primeiro framework para dispositivos mobile sob o padrão HTML 5. Acompanhe aqui algumas características, e uma primeira análise do Sencha Touch framework.

Aplicativos mobile sem barreiras

O primeiro ponto que me chamou a atenção foi a interface que o framework gera, muito similar ao padrão Apple e Google. Porém sendo um framework web, será possível criar aplicativos iguais aos existentes para dipositivos móveis sem se preocupar com autorização dos fabricantes (leia-se AppStore) , nem com instalações, nem com distribuições do software. Basta desenvolver, disponibilizar em um servidor web, e todos usuários de dispositivos móveis podem fazer uso.

Confesso que me interesso pela área mobile, principalmente no que diz respeito ao iPhone. Porém logo de cara você precisa ter o Mac OS no seu computador. Ele é difícil de ser instalado em computadores não-apple (não impossível, mas é difícil). Depois você tem que aprender objective-C, uma linguagem que ao meu ver é muito entediante. E por fim você tem que respeitar todos os padrões Apple porque senão eles não aprovam a distribuição do seu aplicativo. Fica fácil ver o quão bom foi o lançamento do Sencha Framework. Imaginar desenvolver aplicativos mobile usando linguagem web, é fantástico!

Integrando Ext JS com o Sencha Touch

Não devemos confundir um framework com outro. Ext JS é um framework Web e Sencha Touch um framework mobile. Porém a equipe já adiantou no seu blog que a camada de dados será a mesma tanto no Sencha Touch quanto no Ext 4 (a ser lançado). Sabendo disso, para transformar um aplicativo desktop em mobile, basta reprogramar a interface. Toda a camada de dados, consultas ao banco de dados, e tudo que diz respeito a parte do servidor (PHP, ASP.NET, Java, etc..) permanecerá igual!

Finalizando

É facilmente visível que a “onda mobile” está cada vez maior. Primeiro com lançamento do iPhone, um smartphone decente, sem teclados espremidos, navegação pouco intuitiva, e etc (não quero entrar na discussão)… E depois com o lançamento de vários aplicativos e desenvolvimento de smartphones ainda mais avançados.  Parece que o Sencha Touch facilitará muito a migração para essa plataforma.

Também fica evidente que a equipe Sencha está atenta aos novos padrões, e existe a promessa de grandes avanços em produtos já existentes na companhia, principalmente o Ext JS. Eles já criaram um framework usando CSS 3, demonstrando a sua capacidade de fazer o mesmo no Ext Framework. Só a implementação de CSS 3 no Ext JS representaria um dos maiores avanços realizados, porque todas as imagens degradês e sprites para construir cantos arrendondados seriam dispensados.

Parabéns a equipe Sencha! E você? O que achou da novidade? Até em breve!

LinkedInDeliciousPinterestTumblrEmailShare

Ext agora é Sencha

Confesso que estou tão surpreso quanto qualquer outro membro da comunidade. Do dia para a noite Ext JS anuncia um grande lance, e une forçar com os maiores frameworks na área de “aplicativos touch” e gráficos, jqTouch e Raphaël. Talvez a notícia não tivesse se repercurtido tanto se o nome da empresa não tivesse sido alterado.

Ext JS continua o mesmo

Segundo informações o Ext JS Framework não foi descontinuado, nem alterado, nem nada! Ele existe e por enquanto mantém o seu nome, mas está com a promessa de agregar muito mais valor. Isso, para mim, só criará mais forças ao framework! A princípio recebo com muito entusiasmo a notícia, que só irá criar ainda mais oportunidades para aqueles que trabalham com o Ext.

Também não devemos nos preocupar com o restante dos produtos, porque eles já alertaram que essas mudanças não afetaram o desenvolvimento do Ext JS, Ext GWT, Ext Core e nem Ext Designer. Talvez os nomes se alterem, mas os códigos permanecem os mesmos.

Jack Slocum deixa a empresa

Jack, fundador da Ext, está deixando a empresa. Não temos um pronunciamento dele, mas Jamie Avins (equipe de desenvolvimento) já adiantou:

Ele decidiu se dedicar a outras coisas e não se manteve ativo na comunidade por um tempo. A decisão do Jack de ficar menos ativo é dele e somente dele (por favor não façam teorias conspiratórias malucas).

Mais notícias…

Por enquanto a equipe está fazendo bastante mistério, e não temos muitas notícias. Quando questionado sobre como o Ext JS iria se integrar ao jqTouch, framework fundamentado no jQuery, Jamie respondeu:

Você não terá que esperar muito para obter essa resposta.

Então vamos esperar! Por hora é isso aqui. Estarei constantemente atualizando o ExtDesenv e trazendo as melhores informações a vocês. Até!

LinkedInDeliciousPinterestTumblrEmailShare

Chat Ext JS com Comet

Hoje a Frozen Mountain anunciou a nova versão de seu produto WebSync. Ele permite criar aplicações comet, que fazem com que o servidor responda requisições de forma instantantânea.

A performance é ótima! É difícil de imaginar que eles fizeram o IIS gerenciar milhares de requisições através de seu produto. As demos e resultados estão no site deles, então você pode ter certeza disso.

Confira o exemplo de painel de cotações com Ext JS, e o Chat instantâneo.

Parabéns ao Jerod e toda equipe da Frozen Mountain!!!

Ver todos as demos

Aproveitem!

LinkedInDeliciousPinterestTumblrEmailShare

Ext ION: rumores de um novo produto

Então o Ext Designer foi lançado! Desenvolvedores de todo o mundo puderam, na semana passada, baixar sua cópia trial de 14 dias do software. Os vídeos e demonstrações postadas anteriormente refletiram bem o produto final, que conta com recursos drag ‘n drop, integração com dados de um servidor, pré-visualização instantânea, exportação de código e etc… A equipe ainda está trabalhando bastante em cima do designer e todos estamos certos que esse produto irá até o final do ano sofrer boas atualizações.

Porém o post de hoje não é para discutir sobre o designer, mas sim os rumores de um possível novo produto da equipe Ext JS! As demonstrações do Designer disponibilizadas ano passado rodavam sobre a plataforma Adobe Air, porém o que vimos na versão final não estava muito em conformidade com o que conhecemos sobre aplicativos Air. O instalador era totalmente diferente, não utilizando o padrão adobe air, e os arquivos do sistema operacional também não.

Quando eu instalei reparei que os arquivos dll tinham o pré-nome Qt. Pesquisando um pouco descobri que a Nokia possui uma API chamada Qt. Estava óbvio que a equipe tinha abandonado o Adobe Air, desconsiderado usar o concorrente Appcelerator Titanium, e optado pelo Nokia Qt.

Até aí a dúvida estava resolvida, o Ext Designer havia sido construído com Nokia Qt. Porém hoje assistindo o encontro Ext JS organizado pelo Jay Garcia fiquei sabendo o que talvez seja o novo produto da equipe Ext JS. Chama-se ION e seria uma API para desenvolvimento cross-plataform feito pela equipe Ext baseado no Qt. Minhas impressão com isso é que a equipe Ext está atenta a tendência de criar aplicativos web que rodam desktop e vão entrar na briga com o Air, Titanium etc… Pesquisando sobre ION no fórum encontrei uma thread de um usuário empolgado comentado sobre o produto. A thread foi apagada, o que me faz ficar ainda mais curioso. Estaria a equipe tentando conter os rumores?

Enfim, tudo é muito animador, e parece que irá se confirmar em 1 a 2 meses. Vamos esperar e torcer para, quem sabe, mais um ótimo produto da Ext JS.

LinkedInDeliciousPinterestTumblrEmailShare

Razões para comprar o Ext Designer

Foi anunciado aqui no ExtDesenv no dia 19 de fevereiro a pré-venda do Ext Designer, o editor visual para Ext JS. A partir daí iniciou-se uma intensa discussão se vale a pena adquirir o produto ou não. Esse post trata um pouco do meu ponto de vista e também de comentários da comunidade a respeito, acompanhe!

O que é o Ext Designer

Poucos sabem mas existe um post no blog oficial disponibilizando mais informações e download de uma versão de teste do software. Nessa versão é possível somente criar as telas e tirar prints. Não é possível salvar todo o trabalho nem exportar o código gerado. Alem disso existem vídeos demonstrando a utilização do editor. Só esses recursos já são suficientes para dar uma idéia do que se trata o designer.

Funcionalidades

Drag and Drop

Não manipule código, somente arraste e configure os componentes da forma mais intuitiva possível. Isso é um ponto muito positivo, já que poderemos criar interfaces muito mais rapidamente do que via código. Pessoas com o mínimo conhecimento de Ext JS podem ainda se beneficiar da opção de criar protótipos de tela, que depois podem ser aperfeiçoados por um programador Ext.

Conexão com dados

É possível integrar sua fonte de dados JSON ou XML com o Ext Designer, para ver seu grid e outros componentes sendo populados com dados. Aumenta ainda mais a produtividade, e cria uma separação clara entre dados e interface. É possível ter um programador envolvido somente no lado do servidor, criando as fontes de dados, e outro em paralelo criando as interfaces. No fim o trabalho dos dois é unido através do Ext Designer.

Salvar e exportar código

Exporte código orientado a objetos diretamente para a IDE da sua escolha. Segundo Jack Slocum “o código será digno de ser considerado como escrito por ele próprio”, mas caso você não goste existe a opção de modificá-lo em uma IDE, já que que a parte mais difícil já foi feita, que é a criação e configuração dos componentes.

Screenshots

Conforme comentado, pessoas com o mínimo conhecimento de Ext podem prototipar telas e tirar screenshots. Impressione seu cliente montando uma interface em sua frente.

E muito mais como salvar componentes pré-definidos para reutilizar em outras interfaces e recurso de desfazer e restaurar. Só por esses recursos é possível se empolgar bastante, mas será que vale a pena realizar a pré-compra?

Comentários da Comunidade

Acompanhe aqui algumas perguntas feitas pela comunidade no fórum oficial e a resposta da equipe Ext JS:

P: Será possível importar projetos existentes?
R: Não no lançamento inicial

P: Quais serão os planos de preços para atualizações? Teremos atualizações de graça?
R: O designer tem licença perpétua. Isso significa que você compra sem obrigações de atualizar. Estaremos disponibilizando pequenas atualizações e melhorias de graça até quando tivermos uma nova versão (assim como fazemos com o Ext 2 -> Ext 3) .

P: Será possível utilizar plugins e extensões customizados?
R: Sim. Nós construímos o designer com as extensões da comunidade e seus desenvolvedores em mente. Estaremos anunciando mais sobre isso nos próximos meses.

P: Haverá uma versão de avaliação do recente lançamento do produto? Atualmente não temos como gerar código e seria legal fazer isso antes de concretizar a compra.
R: Nos planejamos oferecel um trial depois de lançar o produto. Por enquanto, 50% de desconto segue a tradição que iniciamos com a versão 1.x do Ext JS.

P:Como posso convencer, por exemplo, meu chefe a comprar o Designer sem nenhuma segurança das funcionalidades finais do produto?
R: A pré-compra é fortemente voltada para nossa comunidade que não necessita de nenhuma aprovação formal. Estamos trabalhando no trial mas será disponível somente depois do lançamento oficial.

P: Quando será o lançamento oficial?
R: Planejamos o lançamento para final de março, próximo do dia 21

P: Quais as vantagens de usar o Ext Designer?
R:

Usar Designer Ext como uma ferramenta de produtividade vai poupar tempo e melhorar suas entregas.

Não é destinado a substituir qualquer aspecto do seu fluxo de trabalho existente, apenas melhorá-lo.
Como exemplo, podemos imaginar empreiteiros gastando seu tempo com os clientes de forma mais produtiva através da construção de interfaces em tempo real. O Ext Designer também irá capacitar os usuários finais para participar do planejamento e manutenção das aplicações, permitindo que você se concentre na criação dela mais rapidamente.

O Designer e sua IDE são independentes, portanto a geração de código poderá ser feita em um diretório de sua escolha de onde você e seu editor favorito assumem.

No final do dia, o designer irá trazer uma experiência requintada para a nossa comunidade, clientes e usuários finais.

Opinião do Autor

Eu me considero um dos usuários da comunidade que necessita aprovação formal para realizar compras como essa. Entretanto só de ver a demonstração do produto, os vídeos, e os comentários da equipe de desenvolvimento fico convencido (e meus superiores) de que essa será a ferramenta que vai melhorar todo o processo de criação de interfaces. Analistas poderão realizar protótipos e salvar seu trabalho. O projeto quando chegar em minhas mãos já terá anexado o protótipo e eu poderei assumir melhorando o código tanto através da interface, como depois dando toques finais no código por uma IDE. Nossas licenças já foram adquiridas, e estamos entusiasmados aguardando o lançamento final.

Parabéns a equipe Ext JS pelo ótimo trabalho. Novidades como essa só confirmam a confiança da comunidade ao trabalho de vocês.

LinkedInDeliciousPinterestTumblrEmailShare

1 ano de ExtDesenv: novos recursos e layout

Enfim o novo ExtDesenv está no ar! Estive por um tempo escondido investindo tempo na reformulação do portal que agora está publicado! Esse mês fazemos 1 ano de existência, e nada melhor do que dar uma revisada geral. Iniciei esse projeto de maneira bem simples, com uma hospedagem bem barata e um layout padrão do wordpress. Agora o ExtDesenv conta com a hospedagem muito boa da DreamHost e um layout diferenciado.

Minha maior realização talvez seja com a inclusão do plugin multi-idioma, que possibilita criar tanto posts em português quanto em inglês. Juntando meu pouco conhecimento em Inglês com a ajudinha do Google Translate tentarei alcançar nossos amigos de fora do Brasil, buscando dar uma maior visibilidade não somente ao ExtDesenv, como também a comunidade brasileira de programadores. Temos projetos muito bons aqui e tenho certeza que poderemos fazer trocar vantajosas com o pessoal de fora.

Além desse recurso cabe comentar também uma navegação de posts, comentários e tags feita com Ajax. Nela é possível ver os últimos posts, os mais populares, os últimos comentários, e as tags do blog.

Além disso, procurei muito um plugin de twitter para colocar aqui no blog. O antigo só mostrava tweets meus, enquanto esse busca twetters de vários autores e também por assunto, no caso #extjs. Sendo assim tudo que tiver rolando no twitter a respeito de Ext, bem como tweets de pessoas que eu sigo, será exibido ai ao lado.

Em complemento mudei a página de exemplos. Estava usando uma baseada no layout da página de exemplos oficial do Ext, e resolvi fazer a minha própria mais integrada ao blog.

E pra terminar uma estante com livros sugeridos e lista de links interessantes, para que eu possa compartilhar com o pessoal bons recursos que eu encontro sobre nosso mundo Ext e desenvolvimento RIA.

Estou muito satisfeito com a reformulação e agora que tenho tudo (quase) pronto posso me concentrar em fazer artigos, tutoriais e retomar minha idéia de gravar cursos. Espero que gostem e apreciem o novo portal, como sempre têm feito nesse 1 ano de vida do ExtDesenv!

Forte abraço e até em breve!

LinkedInDeliciousPinterestTumblrEmailShare