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

quarta-feira, 3 de setembro de 2008

Google Chrome. OK! Adobe browser. Por que nao?

Adobe CS3_thumb Analisando os comentários que surgiram após o anúncio do Google Chrome, um pensamento que na verdade já tenho há tempos voltou a "passear" na minha mente: Por que não um navegador da Adobe?

Se você analisar as principais características do Chrome, fica ainda mais evidente que a Adobe tem total condições de colocar uma opção de navegador à disposição, que teria excelentes condições de se tornar o melhor dentre todos.

Relaciono aqui alguns dos principais recursos técnicos presentes no Chrome, e como a Adobe pode correspondê-los:

Recurso Google Chrome Adobe
Javascript Engine V8 Tamarim (doado ao Mozilla.org)
Runtime (?) Google Gears AIR
Browser engine WebKit / Safari engine WebKit / Safari engine (??)
? - Ainda não sei se é correto especificar o recurso como Runtime Virtual Machine
?? - O WebKit não é da Adobe, mas é o engine implementado no AIR para renderizar XHTML/Javascript atualmente no controle mx.controls.HTML (Flex SDK). Portanto, já existe domínio em como implementá-lo

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.

segunda-feira, 12 de novembro de 2007

Evolução: disquetes > CDs > Browsers > Virtual Machines

O tópico é mais especificamente para falar de uma coisa interessante que tenho visto acompanhando alguns blogs.

Há muito se diz, e até deram um nome totalmente fantasioso de "Web 2.0" para essa evolução natural da internet, prevista há muito tempo por nós desenvolvedores porque era realmente óbvio que em algum momento isso acontecesse. Precisava-se apenas que tecnologias se aprimorassem, o ambiente amadurecesse (usuários, seus conhecimentos e seus equipamentos) e um modelo de negócio fosse bem viabilizado.

As aplicações finalmente estão deixando de serem coisas que instalamos em nossos computadores, para se tornarem recursos disponibilizados por seus respectivos desenvolvedores em diversos formatos mais acessíveis, mais abrangentes e por que não dizer justa e liberal. E isso está crescendo de forma muito rápida pois as aplicabilidades não tem limites.

Dá para se definir uma linha de tempo de evolução, com exemplos:

mais ou menos em 2000

Os WebServices ou a definição do SOAP sobre o XML nos trouxe uma nova possibilidade. Não precisaríamos mais investir para reinventar a roda. Bastava utilizá-la dos bondosos que permitissem acesso às sua invenções ou alugá-las, o que mesmo tendo um custo, era muito menor do que você produzir sua própria roda.

Nas palestras que eu fazia na época (quando funcionário da Macromedia), abordando WebServices com o ColdFusion (criação e consumo de webservices), um exemplo ilustrava bem a situação:

(Vou apresentar um breve resumo. Se alguém quiser detalhes do exemplo, basta me consultar.)

Imagine uma agência de viagens que pretende disponibilizar um sistema de personalização de um pacote de viagens. A partir do seu próprio site, usando suas determinações de comunicação visual e etc, ela pode apresentar ao usuário horários de vôo de várias companhias aéreas e já permitir que o mesmo a selecionar para efetivar o pacote e no final do processo proceder com o pagamento. O que muitas agências fazem ainda hoje (porque desconhecem a possibilidade ou porque não podem investir) é simplesmente listar os vôos previamente cadastrados no sistema, o que pode gerar problemas porque no momento da efetivação pode ser que a companhia aérea não possui mais aquele vôo disponível. Fora que isso pode ocasionar a perda do cliente infringindo um outro problema sério: a incapacidade de retenção do cliente.

A solução para conseguir anexar ao site da agência as informações de vôo da companhia aérea? WebServices!

Com este recurso a companhia aérea disponibiliza as informações de vôo que qualquer agência poderá anexar ao seu site sem importar qual tecnologia a companhia aérea utilizou para desenvolver seu sistema e qual tecnologia a agência escolheu para desenvolver o seu. Neste caso, dizemos que a agência estará "consumindo" o WebService disponibilizado pela companhia aérea.

Essa foi uma grande evolução! O SOAP funciona então como um protocolo para a comunicação entre recursos de sistemas disponibilizados em diferentes plataformas e diferentes tecnologias.

Um repositório de WebServices famoso é o Xmethods:

xmethods

Tem também o Afterzed:

afterzed

Ambos com WebServices definidos em várias tecnologias e consumíveis por qualquer tecnologia que implemente esse recurso.

mais ou menos 2004

Embora baseado em uma metodologia antiga - o uso de javascript para controlar o comportamento de elementos de interface - que chamávamos de DHTML, o AJAX veio com ar e fama de "nova tecnologia" pois determinava uma padrão interessante de comunicação entre browser e servidor utilizando XML (serialização/deserialização de dados). Unindo isso aos WebServices, ganhamos os Mashups.

Junto com termo AJAX, passou a finalmente estabelecer-se os RIAs (Rich Internet Applications) que resume-se em nada mais nada menos, do que novos poderes de controle da interface por parte dos desenvolvedores de sites e aplicações (leia-se também, Sites/Aplicações que são os Web Applications).

Os Mashups então acabam constituindo-se de aplicações completas, ao invés de recursos básicos para serem implementados em outras aplicações, como é o caso mais comum do WebService, que da mesma forma podem ser consumidos por outras aplicações.

Um exemplo prático e muito comum hoje de recursos que compõem um Mashup na Web é o GoogleMaps e o YouTube. E pra não me criticarem de só falar do Google (Google! Google! Google!), cito também o YahooMaps, LiveMaps (Microsoft), Flickr (Yahoo), etc.

Um bom repositório de Mashups na web:

programmableweb

já há algum tempo e ganhando cada vez mas força dos dias de hoje

Com toda a evolução, tanto conceitual quanto comercial que havía acontecido até então, grandes investidores e empresas de TI passaram a dedicar-se a espe "pedaço de negócio" que evoluía de forma cada vez mais forte.

Veio então a definição do SOA (Service Oriented Architecture) que determinou um modelo de orientação, suporte e estrutura para os negócios nessa área.

Como evolução ainda maior veio o SaaS (Software as a Service) que é um modelo que tras não apenas uma excelente nova geração de aplicabilidade da conectividade de nossos equipamentos à internet, mas uma ótima revolução no ambiente tecnológico que tende a provocar muitas outras revoluções.

Trata-se "simplesmente" (na visão do usuário) em fazer com que o seu software não seja mais distribuído em CDs, DVDs e seus installers, mas sim através do seu navegador.

Já existem muitos negócios / empresas hoje que se valem deste tipo de solução para compor a sua arquitetura de recursos tecnológicos.

zoho Veja por exemplo, o zoho.com que oferece uma gama completa de soluções office. Você tem editor de texto, planilha, editor de apresentações e até mesmo banco de dados, e tudo padronizado para trabalhar com a importação e exportação para os formatos padrões do mercado.

Além disso, o serviço é oferecido também na forma de uma API para que você implemente os recursos da maneira que desejar em suas próprias aplicações.

Ainda não estudei o impacto em custos, mas acredito que eles venham a ser muito mais vantajosos do que os modelos de licença que temos hoje de grandes produtos comerciais desta linhagem.

microsoft_logo A própria Microsoft já parte para esta iniciativa e é infalível que ela se dê muito bem. Aliás, isso pode inclusive significar uma estratégica abertura de mercado conforme consta no post que originou essa minha matéria. Com esta possibilidade de distribuição de produtos Microsoft, pode-se ter por exemplo uma infra-estrutura de TI que optou por Sistemas Operacionais open-source para uma drástica redução de custo de propriedade em suas estações, mas por questões de produtividade e economia com treinamentos, manteve o Microsoft Office como solução de ferramentas Office.

buzzword É impossível nesse contecto não comentar sobre o Buzzword que a Adobe já colocou em fase beta-público. Trata-se de um editor de texto fantástico implementado com o FlashPlatform (Flex basicamente). E olha que não será a única investida da Adobe, pois espera-se um já anunciado Photoshop Express nas mesmas condições.

...daqui por diante... what's next?

E não podemos achar que mais um passo nesse contexto ainda está por vir. Já veio! Essas aplicações estão, na maioria dos casos (dependendo do "meio" utilizado, pois com o Adobe AIR é assim) serem transformadas em aplicações que roram em "Browsers" personalizados.

Adobe com o AIR, Microsoft com o Silverlight, Sun com o JavaFX, Google com o GoogleGears são os destinos dessas aplicações.

Enfim

O que vejo é que daqui há pouco não teremos mais os navegadores na forma como os vemos hoje. Sinceramente eu não sei ainda como isso vai ser nem como irá acontecer de forma clara para arriscar uma previsão aqui pois um acontecimento desse influi em muita coisa. Mas baseando-se no princípio de que os recursos que surgem agora começam a destacar-se dos navegadores, essa é uma transição pré-anunciada com benefícios e deficiências (também).

Mas agora já é conteúdo para um outro post. ;)

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!