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

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. ;)

quarta-feira, 30 de maio de 2007

ColdFusion 8 Beta disponível para todos

Faça o download no Adobe Labs e teste a versão mais esperada e implementada do ColdFusion.

Alguns dos principais recursos e características da nova versão:

Novas Tags e funções:

  • Implementação e adição de tags para suporte a interfaces AJAX (cflayout, cflayoutarea, cfpod, cfwindow, cfmenu, cfmenuitem, cftooltip, cfdiv)
  • Tags de suporte a aplicações AJAX (cfajaxproxy, cfajaximport)
  • Wizards na forma de plugin para Eclipse para a geração de aplicações AJAX de forma instantânea.
  • Funções de suporte a JSON
  • Acesso a elementos .Net através da tag cfobject e a função createObject
  • Tag cffeed para implementação encapsulada de funcionalidades RSS
  • Manipulação de documentos PDF coma tag cfpdf
  • Manipulação e controle de formulários PDF pré-existentes através da tag cfpdfform e tags adicionais
  • Controle de impressão de PDF através da tag cfprint
  • Integração de aplicações ColdFusion com o Flash Media Server através do FMS Event Gateway com o qual podem ser feitas alterações nos objetos SharedObject de uma aplicação FMS refletidas aos clientes conectados e vice-versa (alterações originadas dos clientes refletem na aplicação ColdFusion)
  • Ampla melhoria na integração com o Flex incluindo: Notificações por parte do ColdFusion a aplicações Flex que estejam consumindo dados gerados através de um request ao mesmo, Typing de dados de queries mais precisos na conversão para Actionscript, etc...
  • Integração com o Microsoft Exchange Server através da tag cfexchange e auxiliares
  • Habilidade de criação e manipulação dinâmica de imagens através da tag cfimage
  • Habilidade de manipulação de arquivos .Zip e .Jar com a tag cfzip

Administração e configuração:
  • Monitoração de uma única instância de servidor, ou de múltiplas instâncias através de uma aplicação com interface em Flash com análise de dados em tempo real sobre o estado dos mesmos.
  • Possibilidade de desativação do recurso de criação dinâmica de objetos Java
  • Configurações isoladas/individualizadas por aplicações
  • Habilitação de suporte RDS por servidor ou por usuário
  • Possibilidade de acesso à interface de administração do Administrador, configurada e restrita por usuários e não apenas por um único administrador.
Debugging:
  • Plugin Eclipse para o debug linha-a-linha de aplicações em ColdFusion
Melhorias na linguagem CFML:
  • Controle sobre THREADs através da tag cfthread a partir da qual pode-se criar, finalizar, agregar ou suspender-se temporáriamente threads no servidor.
  • Atributos de uma tag podem agora ser passados através de uma variável tipo collection.
  • CFC Interfaces que possibilitam a definição de interfaces para objetos ColdFusion (CFCs)
  • O CFC pode implementar um método denominado onMissingCFC para servir de responder para a chamada de métodos que não constarem em um CFC
  • O Application.cfc possibilita a implementação de um método denominado onMissingTemplate para responder a chamada de arquivos .cfm que não existam.
  • Serialização de CFCs para permitir que em um Cluster com variáveis de sessão do tipo J2EE, as mesmas possam ser compartilhadas entre os servidores.
  • Criação de arrays e structures em modo in-line. Ex: estrutura={dado1: "valor1"} / aarray = ["dado1", "dado2"]
  • Novas funções para manipulação de arquivos, antes implementadas somente através de tags, tais como: FileClose, FileIsEOF, FileOpen, FileRead, FileReadBinary, FileReadLine, FileWriteLine, FileWrite, FileDelete, FileMove, FileCopy, etc. Importante saber que todas estão otimizadas para trabalhar com grande quantidade de arquivos e arquivos pesados.
  • Novas funções relacionadas ao procedimento e manutenção de login: IsUserInAnyRole, GetUserRoles, IsUserLoggedIn
  • Habilidade de utilização de operadores Javascript (++, --,
  • %, +=, -=, *=, /=, %=, &&, ||, !)
E diversos outros recursos no acesso a Banco de dados e saída de dados que eu vou apresentar em outros posts, bem como exemplos dos recursos acima citados.

Enfim, quem acha que o Coldfusion está morto ou morrendo mesmo? (risos)