Mostrando postagens com marcador flexbuilder. Mostrar todas as postagens
Mostrando postagens com marcador flexbuilder. Mostrar todas as postagens

sexta-feira, 16 de janeiro de 2009

RIA-BA Grupo de Desenvolvedores RIA na Bahia

mini_banner

Essa é uma grande notícia!
Recebemos o “sinal verde” por parte da Adobe para iniciarmos uma comunidade oficial Adobe destinada a desenvolvedores e interessados no desenvolvimento de soluções RIA baseadas e suas tecnologias.
Surge assim o RIA-BA. Acesse o link no site de comunidades da Adobe, que será o site principal do grupo, inscreva-se e conheça mais detalhes sobre como será a nossa atuação.

As tecnologias que abordaremos, são basicamente as que são voltadas diretamente ao desenvolvimento de soluções RIA, que hoje são o Flash, o Flex/FlexBuilder, AIR, ColdFusion (e frameworks), Flash Media Server, BlazeDS, Cairngorm (e outros frameworks) e diretamente ligadas ao Flash Platform, assim como o Flash Catalyst (Thermo) e outras ferramentas que forem anunciadas.

À frente do grupo estaremos eu (Vicente Maciel Jr) e o meu amigo Jefferson Petilo.

Como alguns sabem, atuamos na Bahia (independentemente, por hora) com consultoria, treinamento e principalmente o desenvolvimento de soluções RIA. Nossa intenção com o grupo é concentrarmos esforços, para cada vez mais aumentar o potencial e resposta de demanda de mercado na região, através da distribuição de informação e acesso às novidades que surgirem no setor, de maneira mais rápida e eficiente possível. Para isso, estaremos abertos e firmando boas parcerias que possibilitem alcançar tal objetivo, bem como atender a outras necessidades dos usuários do grupo em relação a outras tecnologias Adobe que não sejam exatamente o foco do nosso grupo abordar, tais como Fireworks, Illustrator, Photoshop, Premiere, etc.

Enfim, interessados, mantenham-se ligados no site, que será nossa principal ferramenta de abordagem, efetivação e comunicação com a comunidade.

Sugestões e criticas construtivas serão sempre muito bem-vindas!

sábado, 29 de novembro de 2008

RIP Rich Internet Presentation

thesecret_for_ria

Foi simplesmente a melhor apresentação a respeito de RIA que já tive a oportunidade de assistir, não só no tocante ao conteúdo, que foi de uma riqueza impressionante e muito bem elaborado, mas também pela performance do apresentator, Beck Novaes (DClick), que conseguiu de uma maneira extremamente clara, objetiva e didática, abordar temas “obscuros” (e às vezes até pouco conhecidos/ignorados) da produção de um RIA.

Fico extremamente orgulhoso de saber que um material dessa qualidade tenha sido desenvolvido por um brasileiro e gostaria muito de ve-lo publicado no Adobe Developer Connection como uma referência importante, tanto para quem vai iniciar-se no desenvolvimento de RIAs, quanto para quem quer atingir um nivel superior na realização e redesenho de seus trabalhos atuais.

Por isso, digo que o Beck consegiu inaugurar o termo RIP (Rich Internet Presentation)

Isso porque ele conseguiu colocar na execução da sua apresentação, exatamente tudo o que ele abordou como importante no desenvolvimento de um RIA. Quer saber o quê foi? Como foi? Só assistindo.

http://blog.dclick.com.br/2008/11/29/60-pessoas-ja-sabem-o-segredo/trackback/pt/

quarta-feira, 19 de novembro de 2008

DClick disponibiliza arquivos do MAX2008

DClickLogo

O Rafael Martinelli da DClick que está nos EUA participando do MAX 2008, em uma atitude bastante admirável está disponibilizando alguns arquivos distribuídos/gravados durante o evento.

Dentre os arquivos, o Flex 4 (Gumbo) para Win e Mac e o Catalyst para Mac, além de videos da apresentação do Ely Greenfield.

Passe lá, baixe e deixe o seu comentátio de agradecimento!

segunda-feira, 17 de novembro de 2008

FlexBuilder 3.0.2 e Flex SDK 3.2

fx_smallAtualização (release) para o FlexBuilder e o Flex SDK para oferecer suporte ao FlashPlayer10.

Detalhes a respeito deste release (e links) podem ser encontrados no DeveloperConnection:
http://www.adobe.com/devnet/flex/articles/sdk32_fb302.html

sexta-feira, 19 de setembro de 2008

Produtividade Flex e Cairngorm com o Factory IDE

riaptblog Recebi essa dica do @vedovelli (Fábio Vedovelli) no Twitter, fui conferir no blog do RiaPT e achei simplesmente sensacional! Eu já tinha procurado por algo assim e não tinha encontrado.

Além de aumentar a produtividade, aumenta também a qualidade do código que produzimos, e nos incentiva a produzir uma boa documentação.

Veja post original no RiaPT

quinta-feira, 24 de julho de 2008

Usando flash.net.Socket para enviar emails via SMTP

smtpmailer

 

 

 

Em um projeto que estou desenvolvendo em AIR surgiu a necessidade do envio de email. Para uma aplicação desktop não ficava nada interessante utilizar um script server-side para fazer isso, então, conhecendo a classe flash.net.Socket disponibilizada tanto na API do FlashPlayer quanto do AIR, que explorada pode oferecer tal funcionalidade, resolvi pesquisar se já havia algo desenvolvido e dentre algumas poucas soluções que encontrei, resolvi testar o SMTPMailer desenvolvido pelo Thibault Imbert do blog ByteArray.org.

Como na lista de discussão Flexdev surgiu um post sobre o assunto na semana que antecedeu essa minha pesquisa, achei conveniente publicar o resultado do teste que fiz afim de que outros possam também ter mais um exemplo do uso da solução criada pelo Thibault.

Tive que fazer algumas alterações e coloquei comentários sobre as mesmas no código original.

Vou tentar manter contato com o Thibault ou até mesmo, adiante, tentar implementar outros recursos bem como a autenticação SSL pois sem esse recurso não é possível utilizar por exemplo servidores SMTP como o do Gmail que requerem este passo.

Exemplo compilado: SMTPMailerLab.air (AIR 1.0/1.1)
Fonte (incluindo as classes originais do ByteArray.org)*: SMTPMailerLab.zip
*FlexBuilder Archive

sexta-feira, 23 de maio de 2008

1a Reuniao - Grupo de estudos Flash Flex AIR AS3

grupo_estudos_banner01

A primeira reunião do grupo foi um sucesso!

Parabéns ao Osmundo pela iniciativa, à Monica da iTraining por ceder o espaço e à todos os presentes pela qualidade das discussões que pudemos iniciar. E claro, obrigado pelo convite.

Para quem não pôde estar presente nesta primeira reunião, segue uma tentativa de sumarizar o que entrou em pauta:

  1. Esclarecimento do objetivo do grupo: Esclarecemos o objetivo e sistemática das reuniões. Em resumo, que não se trata de um treinamento, não há uma figura central e que o conteúdo do estudo se dará sempre pela sugestão definida na reunião anterior, com a apresentação dos resultados, dúvidas e esclarecimentos das mesmas com participação e colaboração de todos.
  2. Discutimos sobre as diferenças de um treinamento e um grupo de estudos, bem como definimos o que esperar de um e de outro. Também aproveitamos para refletir sobre como tirar melhor proveito de um ou outro treinamento e qual o benefício para os centros de treinamento locais da criação de grupo(s) de estudo.
  3. Diferenças principais entre o AS2 e AS3 onde usamos como "cenário" um projeto recente no qual participei, para ilustrar o tipo de influência que essa migração (AS2 p/ AS3) pode apresentar. Nesta oportunidade discutimos performance, metodologias, influência de padrões e outras características.
  4. Esclarecimento sobre Flash, Flex, AIR, Silverlight, Prism, JavaFX. Discutimos suas peculiaridades, suas definições, praticamos alguma previsão sobre o futuro de cada uma baseado em fatores atuais a respeito destas. Neste tópico, ainda há bastante o que se discutir e dismistificar. Muitos me procuraram para continuar o assunto particularmente por MSN e email, mas sugiro que isso seja feito na lista de discussões do MUGBA, para que a discussão possa ficar ainda mais rica e não limitar-se a uma única opinião/definição/visão.
  5. Iniciamos a definição de um roteiro de assuntos para os estudos, analisando o porque adotar uma ou outra ordem. À princípio resolvemos convencionar, baseado no maior interesse dos presentes, uma introdução ao Actionscript 3.0 e MXML baseando-se no Quick Start do Adobe Devnet. Porém creio que teremos que fazer, na proxima reunião uma introdução básica, à estrutura e aplicação de uma Classe AS3 no Flash CS3 por parte de algum presente que possa fazê-lo.
  6. Para poder ilustrar a aplicação do Flex e sua comparação com a adoção de AJAX para projetos similares, fizemos um breve estudo do exemplo FlexStore  onde através de uma explicação teórica sobre o desenvolvimento do mesmo, pudemos verificar as diferenças produtivas entre o desenvolvimento baseado em Javascript e o desenvolvimento baseado em MXML/AS3. Eu sugiro que algum membro do grupo de estudos que esteja apto, desenvolva um exemplo de uma interface simples desenvolvida em AJAX (pode-se usar alguma das APIs citadas, como ExtJS e JQuery), e similiar em MXML/AS3. Eu me disponibilizo a ajudar.
  7. À princípio as reuniões serão mensais com a próxima reunião pré-sugerida para 21 de junho (sábado) com horário à definir. o conteúdo desta reunião será o resultado (dificuldades, problemas, idéias) surgidas com o estudo dos QuickStarts.

quinta-feira, 15 de maio de 2008

Grupo de estudos Flex AIR AS3 em Salvador, Bahia

grupo_estudos_banner01 

O Osmundo (vide blog), instrutor e consultor da iTraining, anunciou hoje o grupo de estudos a iniciar-se dia 22 de maio, as 17h, na sala de treinamentos da iTraining em Salvador/BA. Este grupo, terá como tema de estudo, as tecnologias Flash, Flex, Flex Builder, Actionscript, FlashPlayer e AIR. É previsível que a partir deste, outros grupos sejam formados.

Fui convidado para abrir o grupo de estudos. Convite este que me deixa muito feliz e orgulhoso. Será muito bom estar estudando, evoluindo e tentando colaborar em algo com algum conhecimento que já tenho nessas tecnologias. Sei que vou aprender muito, pois não há motivação maior do que ter pessoas precisando das mesmas respostas que você.

Sobre como será minha pequena contribuição:

Não quero usar da oportunidade só para fazer uma apresentação. Então quem estiver presente, pode aproveitar para tirar qualquer dúvida (sobre os primeiros passos, nessa primeira oportunidade, só para ter foco nivelado) que o meu pouco conhecimento puder esclarecer.

Como se trata de um grupo de estudos, então vou aplicar uma linha de introdução aos estudos dessas tecnologias (AS3/MXML/Flex/AIR), orientando sobre os primeiros passos, questões quanto a configuração e sugestões nesse aspecto, como buscar ser auto-suficiente para esclarecer dúvidas usando a documentação e etc.
Quero dar dicas também quanto a performance no desenvolvimento de aplicações.
Adicionalmente devo apresentar alguns recursos que complementam o meu ambiente de trabalho e que creio eu, podem vir a serem úteis para quem for aplicar profissionalmente esses tecnologias no seu dia-a-dia.

Não esperem que eu vá preparar slides e etc. O que eu estarei mostrando aos presentes, é o que eu faço no meu dia-a-dia como desenvolvedor com foco nessas tecnologias.

E lembrem-se, não quero fazer uma palestra. Quero iniciar um grupo de estudos, colocando em foco as questões práticas. Também não será uma aula pois o tempo não permitiria e eu não a faria sem um bom preparo estutural da sala, de equipamentos, softwares, material e etc.

A intenção é que quem participar, saia doido(a) para chegar em casa e começar a praticar!

quinta-feira, 10 de abril de 2008

FlexBuilder 3 Pro gratuito para estudantes

flexbuilderpro3free A notícia não é nova, mas como a Adobe transmitiu oficialmente hoje um mailing sobre a questão, vale à pena propagá-la o máximo possível.
LINKS:
Conteúdo do mailing
Site para obtenção da licença

domingo, 24 de fevereiro de 2008

Flex Team anuncia novidades sobre o SDK

flex3_fx_124x120 Essa semana já fomos muito bem "preparados" para a chegada do Release final do Flex 3 SDK junto com o FlexBuilder com o post bem humorado do Ted Patrick (A long time ago in a galaxy far, far away...).

Agora a notícia vem diretamente da equipe de desenvolvimento do Flex, recheada com informações sobre como será o primeiro release como projeto open-source.

Dentre as informações importantes para quem já planejava fazer uso disso de alguma forma, seja participando ou apenas observando o desenvolvimento, já ficou claro como isso vai funcionar. O projeto tá possui inclusive, conforme o anúncio, um repositório SVN configurado.

Na verdade, creio que o mais importante era mesmo saber "o quê" sería realmente publicado lá, e o anúncio deixou tudo bem esclarecido.

AS3 & MXML Compilers / Debugger: Já era esperado, mas nem por isso é menos empolgante saber desta informação, pois o que isso vai trazer de melhoras para os desenvolvedores em torno da tecnologia, é praticamente impossível de se medir. Embora o FlexBuilder não faça parte deste projeto open-source, os desenvolvedores podem aguardar o aprimoramente de ferramentas IDE já existentes para o desenvolvimento em MXML/AS3, além é claro de novas ferramentas que surgirão à partir disso.

SWFUtils Java Library: Essa, pelo menos pra mim foi uma boa novidade! Trata-se de uma biblioteca Java que permitirá não apenas LER dados de arquivos SWF para o formato do FlashPlayer 9.x, bem como escrevê-los.

Todos esses recursos reunidos certamente irão resultar não apenas em grandes novidades para nós desenvolvedores, como também para os consumidores dessa tecnologia. Ao menos as portas estão abertas para que novos produtos em torno do Flash Platform venham a surgir.

sexta-feira, 8 de junho de 2007

Expression Web - Dreamweaver Nightmare?


Não considero que explorei o software em 100% ds suas características, afinal foram apenas 3 horas de observações, mas posso dizer que estou muito contente com o que vi.

Primeiro, a ferramenta foi extremamente fácil de instalar e aliás com procedimentos que foram muito rápidos. Já não é novidade para ninguém, mas eu deixo claro mais uma vez que estou explicitamente comparando essas ferramentas da Microsoft às equivalentes da Adobe e justamente aí que farei minhas observações.

Bom, já que citei essa característica do installer rápido e prático, aqui vai a primeira comparação. O Dreamweaver CS3, recém lançado, pesa 285.43 MB (Windows). O Expression Web pesa 195MB.
Claro que não tem nada a ver comparar recursos disponíveis ao peso do arquivo, mas confesso que a diferença de 90MB aproximadamente me fez pensar.
O tempo de instalação do Dreamweaver que infelizmente não mensurei (nem o do Expression Web) foi muito mais demorado. Mais ou menos o triplo do tempo e sei que tem muita gente reclamando disso.

Como instrutor credenciado da Adobe, eu tive acesso ao installer do Design Premium CS3, a instalação foi complicadíssima, principalmente pelo fato de ter preciamente os Betas das ferramentas nele dispostas pré-instalados. Simplesmente um "limpeza" teve que ser feita previamente para que o procedimento de instalação fosse concluído com sucesso. Na verdade instalei e desinstalei completamente o pacote da Adobe umas 3 vezes até conseguir ter tudo funcionando corretamente.

Bom, mas enfim... Dores à parte, vamos a comparação. Que antes de tudo fique claro que reconheço que não domino o Expression Web e por isso não estou apto a comparar os dois por completo. Fora isso para mim está claro que o Dreamweaver CS3 possui muito mais recursos do que o Expression Web, embora o Expression Web esteja muito bem equipado para o seu proposito de desenvolver conteúdo para Web com a finalidade de apresentação dentro de Browsers e com a exploração de tecnologia da Microsoft (.Net). Ressalto apenas que o Dreamweaver desde versões anteriores possui recursos para o desenvolvimento WYSIWYG em ASP, .Net, JSP, PHP e ColdFusion. Há ainda muito mais diferenças peculiarem em relação a cada um.
Como estou fazendo uma avaliação superficial e rápida, selecionei alguns itens que são os mais importantes para mim no dia-a-dia de trabalho. Os tópicos que escolhi foram: Code hint, Code/Design View, edição/controle CSS, auto code-rewritting e site-wide code factoring/checking/find & replace.

Code Hint:
Gol para o ExpressionWeb
Placar atual: Expression Web 1 x 0 Dreamweaver CS3.

Na verdade foi um gol aos 47 minutos do segundo tempo. As características de code-hint são muito semelhantes. Mas houve um ponto onde o Expression Web deu show. Trata-se de algo que eu sempre reclamei em relação ao Dreamweaver em todas as suas versões. Cenário: Quando eu criei um "div" e setei o seu "id", ao escrever um código JavaScript e utilizar o método getElementsById(), o mesmo reconheceu através de code-hint o "id" da "div". Code factoring/recognition em tempo real. Muito bom.

Code x Design split:
Gol para o Expression Web
Placar atual: Expression Web 2 x 0 Dreamweaver CS3.

Aqui o comentário é tão rápido quanto a decepção que o Dreamweaver me causou ao ver que o famoso recurso de seleção em um dos splits com reflexo ao conteúdo respectivo no outro split não estava mais funcional na nova versão. Pois bem. Isso funcionou perfeitamente no Expression Web.

Edição e controle de CSS:
Gol para o Expression Web
Placar atual: Expression Web 3 x 0 Dreamweaver CS3.

A organização da interface do Expression Web para trabalhar com CSS para mim está muito melhor apresentada do que no Dreamweaver CS3 e isso para mim ao menos ficou muito evidente. Há maneiras, claro, de se alcançar os mesmos resultados trabalhando com o Dreamweaver CS3. Mas simplesmente o Expression Web torna a tarefa mais fácil e objetiva. Acho que neste sentido entra a experiência que a Microsoft tem com usabilidde de softwares de produção de código.

Auto Code Rewritting:
Gol para o Dreamweaver CS3
Placar atual: Expression Web 3 x 1 Dreamweaver CS3.

Não gostei da maneira como o Expression Web define a estruturação do código. Infelizmente não encontrei uma maneira de definir como eu quero que as tags sejam posicionadas de acordo com o conteúdo como faço no Dreamweaver fazendo com que ele organize o código da minha maneira.
Porém, na procura, acabei achando um recurso muito interessante de code snippet que eu gostaría que estivesse presente no Dreamweaver (e está no Eclipse, por exemplo) de se atribuir uma palavra-chave à entrada automática de um bloco de código. Por exemplo, você tecla CTRL+ENTER e uma lista (como ocorre com code hints) contento todas as palavras chaves já atribuídas a code snippets são relacionadas. Você seleciona com a seta de direção ou digita a sequência (por exemplo: "scriptj") e nesse caso o seguinte bloco de código é adicionado automaticamente:


<script type="text/javascript">
<!--
|cursor posicionado aqui
//-->
</script>


Como não era exatamente este o critério de avaliação para contabilizar "um gol", por isso este foi para o Dreamweaver CS3, mesmo sem possuir este excelente recurso.

Site wide code and content checking/refactoring e find and replace
EMPATE SEM GOLS
Placar atual: Expression Web 3 x 1 Dreamweaver CS3.

Se você não tiver compreendido o que significa este quesito, talvez um exemplo seja melhor para explicar. Imagine que você simplesmente move um arquivo de lugar ou o renomeia. Imagine que este arquivo possui diversas referências em diversos arquivos que compõem o site. Bom, ambos os softwares perguntam a você se você quer alterar a referências para refletir a modificação que você fez. Quanto ao find and replace, ambos os softwares apresentam as mesmas opções. Não pude perceber nada de especial que um tenha e o outro não. Quem souber, me avisa por favor.

Conclusão:
Bom... nos meus critérios de avaliação, estou muito propenso a avaliar o Expression Web mais profundamente. Infelizmente essa versão do Dreamweaver me decepcionou e por coincidência no mesmo momento em que a Microsoft resolve fazer o lançamento do Expression
Web com recursos totalmente semelhantes e algumas melhorias. Assim, essa avaliação não pára por aqui. Irei avaliar superficialmente as demais ferramentas do Studio Expression e postar
os resultados aqui, mas já fica a promessa de que irei mais a fundo na avaliação do Expression Web.
Atualmente já substituí o Dreamweaver CS3 pelo Eclipse e seus plugins. Para mim foi ótimo pois trabalho mais com código do que a parte visual (sou o que se classificaria como "code-centric"). Existem muitos recursos para se trabalhar visualmente com o Eclipse também e fiquei muito feliz com a iniciativa da Adobe de levar características do ColdFusion 8, por exemplo, para o Eclipse (debugger, tags code hints, etc). Isso sem contar que o FlexBuilder é o próprio Eclipse. Como as tecnologias com as quais estou envolvido são mais o Flex, Apollo, Flash e ColdFusion, não vejo algo que me motive a utilizar o Expression Web como ferramenta principal de desenvolvimento. Mas para aqueles que estão mais voltados à linha Microsoft, com o .Net, Silverlight e etc, vejo que o Expression Web é a escolha certa.

Sinto muito pela Adobe e o Dremweaver CS3. A ferramenta precisa melhor e muito... NA MINHA HUMILDE OPINIÃO!

segunda-feira, 4 de junho de 2007

Flex 3 a caminho...



Não só a tecnologia, que agora é open-source, mas é claro o FlexBuilder (este pago, que é baseado no Eclipse que é free... hehehe) já está com nova versão a ser lançada.

No blog do Ted Patrick, que estará ao longo desta semana postando mais novidades, já podemos ver quais são as novidades.

Há muita coisa boa, mas particularmente - devido ao seu maior potencial em relação aos concorrentes, principalemnte quando citamos aplicações Flex rodando no Apollo, comparando com Silverlight e JavaFX - o que eu acho mais importante é justamente a integração do designer no processo de desenvolvimento de aplicações com esta tecnologia. Não deixe de conferir! (clique aqui)

segunda-feira, 28 de maio de 2007

Resenha: Palesta Apollo na UNIFACS

Em primeiro lugar, muito obrigado à todos que compareceram à minha palestra, realizada no último dia 26 de maio na UNIFACS (Imbuí/Salvador/Bahia). Mesmo em um dia de chuva, muita gente acordou cedo para ouvir o que eu tinha a dizer e pude perceber a atenção com a qual o conteúdo foi recebido. Meus sinceros agradecimentos!

Segue aqui, conforme prometido, uma resenha sobre o conteúdo abordado.

1 - Recapitulando o que foi discutido na palestra anterior (21/abr/07).

Na oportunidade anterior, apresentamos o Apollo e seus principais conceitos apresentando-os através dos seguintes tópicos:

  • O que é o Apollo?
  • Qual o objetivo do Apollo?
  • O que se pode fazer com o Apollo?
  • A nova realidade para designers e developers
Foi realizado uma revisão desses itens, aproveitando para nos comunicarmos em uma lingaugem mais direta e desta vez com a utilização de diagramas para explicar o que é o Apollo e como o mesmo apresenta sua funcionalidade em comparação ao FlashPlayer instalado na forma de um controle ActiveX ou Plugin sobre o Sistema Operacional. Desta forma pudemos explicar a diferença das aplicações desenvolvidas utilizando-se a tecnologia Flash-Platform para o modelo anterior ao Apollo e após a sua introdução. Isso ajudou a deixar claro para os participantes, qual o objetivo do Apollo.

Diversos exemplos de aplicações foram apresentados para os participantes presentes, demonstrando o poder do Apollo e principalmente os recursos diferenciais que este disponibiliza aos desenvolvedores. Para uma fácil referência, utilizei os exemplos citados pela própria equipe da Adobe no site http://labs.adobe.com . Dentre os principais:

- Finetune. Discutindo inclusive sobre a importância do Apollo em uma análise particular do modelo de comércio possibilitado a partir de sua introdução.
- Fresh. Demonstrando a riqueza de interação já conhecida possibilitada pelo Flash/Actionscript em Rich Internet Applications, e adicionalmente um uso importante do recurso de renderização de HTML/CSS/Javascript possibilitado pelo controle HTML presente para esta finalidade.
- DryerFox. Demonstrando um uso divertido do controle HTML.
entre outros...
- Tweetr. Mais uma implementação de integração com o site Twitter.com. Para quem ainda não sabe, trata-se de um site estilo Blog Instantâneo onde as pessoas publicam simplesmente o que estão fazendo a cada momento. Curiosamente, aconselho conhecer o projeto TwitterVision 3D que não foi apresentado na palestra. Trata-se de mais uma interessante aplicação de integração com o Twitter, desta vez desenvolvido em Flex, integrando uma API 3D.

Finalizando esta primeira parte da agenda, discutimos sobre um novo cenário de oportunidades para designers e developers, debatendo principalmente sobre o baixo impacto de investimento intelectual (portanto, consequentemente financeiro) para aproveitamento destas oportunidades, uma vez que todo o conhecimento necessário por parte dos desenvolvedores de soluções web, são simplesmente reutilizados para a abordagem de soluções desktop adicionais, complementares ou isoladas de conteúdos e/ou soluções já desenvolvidas utilizando as tradicionais ferramentas Adobe para este propósito (Flash, Actionscript, Flex, Dreamweaver, Fireworks e uma linguagem server-side semelhante em funcionalidade ao Coldfusion).

2 - Últimos acontecimentos:

Nesta segunda parte, apresentei aos participantes do evento, notícias a respeito dos principais acontecimentos que influenciaram o meio relacionado ao Apollo. Os principais temas foram:
Apresentamos a notícia do Flex open-source abordando inclusive assuntos relacionados à mudança de estratégia e importância da aquisição da Macromedia por parte da Adobe no que diz respeito principalmente à influência deste acontecimento na estratégia de comercialização e abordagem comercial sobre os produtos herdados desta aquisição. Foi possível avaliar as boas consequencias disto para a comunidade desenvolvedora e tentar arriscar inclusive apostas em notícias semelhantes quanto à outros produtos da Adobe, inclusive o Apollo, consequencia que parece ser até mesmo óbvia.

Anunciei aos que ainda não sabiam da notícia, a API disponibilizada publicamente por Matt MacLean em seu site, ainda sem um modelo de licença definido por tratar-se de um experimento, que permite o acesso direto (sem o uso de um middleware) ao banco de dados mySQL.
Para exemplificar o seu uso de maneira rápida, apresentei o seguinte código fonte, disponível aqui de forma completa (com comentários inclusive) pois nos slides ele encontrava-se particionado por razões claras aos presentes (resolução de vídeo, melhor apresentação, etc.):

<?xml version="1.0" encoding="utf-8"?>
<mx:ApolloApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" width="400" height="320" resizable="false">
<mx:Script>
<![CDATA[
//importação das classes referentes à API disponibilizada em http://maclema.com/asql
//desenvolvida por Matt MacLean
import pl.mooska.asql.*;
import pl.mooska.asql.events.*;

//declaração da variável que irá manter os dados recebidos.
//a metatag [Bindable] permite que a mesma seja utilizada como valor de
//parametro em tags MXML que necessitem ter acesso à mesma.
//no exemplo atual, vamos defini-la como a fonte de dados do data-grid
//de nome de instância "grid", através do parâmetro "dataProvider" que
//o controle do tipo grid disponibiliza
[Bindable]
public var recordset:Array;

//instancia da conexão com o banco de dados mySQL
private var connector:Asql;

//uma variável para manter as mensagens à serem apresentadas no
//controle tipo label que temos na interface
//o "bind" desta variável será utilizado no parametro "text" do
//controle "label" instanciado como "lblMessage" na porção MXML
//deste código
[Bindable]
public var connectorStatus:String;

public function startApp():void{

connector = new Asql();

connector.addEventListener(SQLEvent.CONNECT, onConnect);
connector.addEventListener(SQLEvent.SQL_OK, onProcessed);
connector.addEventListener(SQLEvent.SQL_DATA, onData);
connector.addEventListener(SQLError.SQL_ERROR, onError);

connector.connect("ip_ou_dominio", "usuario", "s3nh4", "nome_do_banco");
connectorStatus = "Tentando conectar...";

}

private function onConnect(e:SQLEvent):void{
connector.query("SELECT * FROM tabela");
connectorStatus = "Conexão OK! Solicitando dados...";
}

private function onProcessed(e:SQLEvent):void{
//actions for an ok update or insert action result
connectorStatus = "Dados processados!";
}

private function onData(e:SQLEvent):void{
recordset = e.data;
connectorStatus = "Dados recebidos!";
}

private function onError(e:SQLError):void{
connectorStatus = "Erro na conexão!";
}

]]>
</mx:Script>
<mx:Label text="Apollo x MySQL access sample" fontFamily="Verdana" fontWeight="bold" fontSize="16"/>
<mx:DataGrid id="grid" dataProvider="{recordset}" width="298"/>
<mx:Button label="Connect and get data" width="159" id="btn" click="startApp()"/>
<mx:Label text="{connectorStatus}" width="301" textAlign="center" fontWeight="bold" color="#ff0000" id="lblMessage"/>
</mx:ApolloApplication>




ATENÇÃO:
No código acima onde temos:

connector.connect("ip_ou_dominio", "usuario", "s3nh4", "nome_do_banco");


Deve-se alterar o seguinte:
ip_ou_dominio: o IP do servidor onde encontra-se a instância do seu banco de dados mySQL ou o seu nome de domínio. Exemplo: 192.168.0.1 ou localhost
usuario: o usuário no servidor mySQL que possui acesso ao banco de dados que irá ser consultado.
s3nh4: a senha respectiva ao usuário especificado.
nome_do_banco: nome do banco de dados no servidor mySQL contra o qual será feita a consulta.

O seguinte esquema pode ser utilizado para criar a tabela de exemplo no seu servidor mySQL caso você queira testar o código acima:

CREATE TABLE `users` (
`username` varchar(15) default NULL,
`id` int(10) unsigned NOT NULL auto_increment,
`fullname` varchar(45) default NULL,
PRIMARY KEY (`id`)
) TYPE=InnoDB;

INSERT INTO `users` (`username`, `id`, `fullname`) VALUES
('vpmjr', 1, 'Vicente Junior'),
('commander', 2, 'Neil Armstrong'),
('moonPilot', 3, 'Edwin Aldrin'),
('commandPilot', 4, 'Michael Collins');

Você deverá ter instalado e configurado devidamente os seguintes softwares para proceder com o teste e saiba operá-los:
Caso você ainda não tenha instalado e configurado os softwares acima, aguarde pois estarei publicando tutoriais a respeito destes procedimentos em breve.

Adiante, discutimos a respeito dos seguintes temas:

Sería o Silverlight finalmente o tal do FlashKiller? Uma ameaça? (sub-tema: Já não ouvimos esta história antes?) Definitivamente não existe esta comparação e isso ficou muito claro ao final da discussão. O posicionamento de ambos é totalmente diferente. Farei mais posts a respeito deste assunto aqui no Blog.

Após isso, introduzí à questão apenas por intenção de adicionar informação aos presentes, o JavaFX e também discutimos quanto ao seu posicionamento. Ficou evidente que o Silverlight e o JavaFX são concorrentes diretos mas que o Apollo possui algusn diferenciais importantes a começar por seus fundamentos e objetivos que são divergentes a estes dois. Como no tópico do Silverlight, mais posts serão colocados aqui abordando o tema mais profundamente.

Finalizando

Tratamos a respeito de conhecimentos necessários para começar a desenvolver com o framework do Apollo, treinamentos que estou ministrado para implementar ou complementar tais pré-conhecimentos, bem como os treinamentos voltados exclusivamente para o Apollo que já estou ministrando (extra-oficialmente) para os usuários interessados.

Caso você esteja interessado em algum treinamento, leia os detalhes disponíveis neste post e entre em contato a partir do meu email.

Os treinamentos são ministrados individual e particularmente, bem como para grupos/empresas.

Até a próxima! Mais posts a respeito dos assuntos aqui abordados estarão disponíveis nos próximos dias.

quarta-feira, 23 de maio de 2007

Teste de performance Actionscript

Achei este post muito interessante a respeito da performance do Actionscript. No post original do site do Peter Fisk muitos comentários interessantes foram postados. Vale a pena conferir. Abaixo uma cópia da tabela de resultados obtidos no teste:

Language / Milliseconds:
C# - 9
Actionscript - 15
VisualWorks - 112
IronPython - 430
Squeak - 1233
SmallTalk/DLR - 4000

Particularmente falando, na BDG (onde trabalho atualmente) estou desenvolvendo um trabalho em cima de um site promocional para um de seus clientes, a Preview, lançado pela agência no ano passado (http://www.oquesefazporai.com.br) que foi desenvolvido em AS2 utilizando o Flash 8. Meu trabalho consiste em melhorar a performance do mesmo.

Já estou com pelo menos 50% do trabalho de desenvolvimento das classes/scripts em AS3 para o FlashPlayer 9 e os gargalos foram simplesmente eliminados. Os ganhos de performance são incomparáveis.

Assim que este trabalho estiver finalizado, eu e o Rafael (meu chefe na BDG) estaremos publicando um case detalhado e o mesmo será postado aqui também.