LCCS – Collaboration Services.

afcsUm dos serviços do qual pouco se ouviu falar, mas que no entanto pode-se tornar muito util… principalmento porque  muitas das melhores alternativas viraram comerciais.

Ja se chamou Cocomo, Adobe Flash Collaboration Services e agora LiveCycle Collaboration Service. O sistema é simples para o usuário final. Trata-se de uma “Sala” virtual que pode ser acedida por qualquer aplicação feita no Flex para que uma ou mais pessoas possam participar ativamente quer num chat, numa apresentação, partilhar documentos, webcam, um dashboard personalizado ou até um componente flex e muito mais…. infelismente ainda não possuir Partilha de ecrã… Esse serviço ainda está em poder absoluto da adobe.

O sistema parece tratar-se de um servidor FMS + LiveCycle e conta com uma administração Online. Apesar de não ser completamente gratuito ele permite o uso total do sistema segundo cotas mensais, mensalmente possuimos gratuitamente $US15 que podemos gastar em “transferencias / dados / lagura de banda” e que podem seer geridos nesta mesma conta. A conta permite a criação de salas e o acesso via connectnow para o public geral.

Para os desenvolvedores, basta acederem ao portal, registarem uma conta ou usarem a vossa conta da adobe no serviço, depois basta fazer o download do SDK (Explorer). Este SDK Explorer é uma aplicação AIR que vos apresenta passo a passo toda a informação necessária para usarem o serviço. Podem encontrar exemplos, as informações de como instalar o sdk no flex builder, videos, swc’s, um gestor de salas, permissoes e dados e mto mais…

Segue o esquema do seu funcionamento e um pequeno exemplo… leia mais »

2 Comentarios |Tags: , , , , , ,

Tutorial Action Script 3 – 016

Em continuação a série de tutoriais sobre AS3…

No ultimo tutorial terminamos com um painel personalizado e com a aplicação dos estudos sobre a estrutura das classes. Vamos passar a um novo ponto do actionscript, ponto em que vamos falar de efeitos e animações.. segue então a continuação…

6. Efeitos e Filtros

Como vimos anteriormente foram utulizados alguns efeitos (resize, move e parallel) que fizerem com que o nosso painel aumenta-se de tamanho e se coloca-se na devida posição indicada pelo move.

O AS3 do Flash traz algumas funções de animação (tween) mas são um pouco limitadas, mas aqui vou falar das funções de animação do AS3 no Flex, bem como alguns efeitos e também como criar a nossa propria função de animação e criar efeitos paralelos e sequenciais.

Começando pelos mais simples, um simples efeito de movimento feito programaticamente sem recurso aos efeitos nativos do flex..

6.1. Move – Movimento

Pretende-se movimentar uma imagem no ‘eixo dos xx’ desde x=0 até x=100, para isso facilmente conseguiria-mos perceber o seguinte código leia mais »

Sem Comentarios

Adobe Squiggly – Corrector ortográfico. 8 Dicionarios extra!

O Squiggly apresenta-se como um conjunto de librarias para inserção em projetos AIR ou Flex que permite adicionar um corretor ortográfico a uma area de texto ou até mesmo ao RichTextEditor do flex.

Deste pacote disponivel para download no adobe labs apenas temos que colocar os ficheiros  AdobeSpellingEngine.swcAdobeSpellingUI.swc na pasta libs do nosso projeto flex ou air e ficamos com um conjunto de ferramentas que permitem corrigir os nossos textos. Este componente permite também a propriedade de “adicionar ao dicionário” fazendo dele também um verificador ortográfico inteligente.

O download pode ser feito aqui. Dentro do arquivo encontram alguns exemplos, um dicionário em inglês e um pequeno aplicativo AIR para criar os dicionarios, eles necessitam de uma origem em texto puro com apenas 1 palavra por linha, e isto sim foi duro de encontrar…Infelismente nao existem dicionarios para este sistema em outras linguas disponibilizados pela adobe e foi então que me dei ao trabalho de os fazer, e acreditem que não foi nada facil. Os dicionarios que em baixo vou disponibilizar são baseados nos corretores ortográficos do Mozilla Thunderbird, também nos dicionarios ispell/myspell do debian linux e ainda em algumas wordlists que encontrei pela internet, pelo que devem estar bem completos, mas por via das duvidas, se encontrarem uma melhor base me informem. O seu formato é binário e é recomendado usar essa extensão .ZWL.

Os dicionarios que compilei são:

Portuguese PT (portugues_PT.zwl), Portuguese BR (portugues_BR.zwl), English US (english_us.zwl), English GB (english_gb.zwl), Spanish (espanhol.zwl), French (french.zwl), German (german.zwl), e Italien (italien.zwl).

Pode ver uma demonstração do sistema em acção com suporte a estas 8 linguas bem como encontrar o download dos dicionários aqui.

Abraço.

2 Comentarios |Tags: , , , , , , , , , ,

Air 2.0 Beta, Servidor socket em 5 minutos!

Bom, não era novidade que o AIR já permitia comunicação por sockets, mas a verdadeira novidade na versão 2.0 é que agora permite escutar também uma porta da nossa maquina para comunicações… Mas em que se traduz isto na realidade?? Fácil! A partir de agora podemos criar os nossos pequenos/médios servidores socket, que com algum trabalho até podemos criar um servidor web… claro que é um exagero, mas abre um mundo novo de possibilidades….

Então, a partir de agora as nossas aplicações passam também a poder ser servidores, quer de comunicação de dados ou até mesmo armazenamento… imaginem, podemos criar uma base de dados na nossa maquina, usando SQLLite, e expor os seus dados ao exterior usando funções locais isto através de uma qualquer porta…

Isto não era qualquer novidade nos aplicativos desktop, mas trazendo esta nova funcionalidade os aplicativos AIR passam a poder ser usados para qualquer comunicação de dados permitindo mesmo que duas aplicações AIR em diferentes maquinas possam comunicar entre si sem qualquer necessidade de aplicações/bases de dados/back-ends terceiros… claro que teriam que ter conhecimento do ip de cada uma das maquinas, mas isso com um IP fixo resolve-se rapidamente.

Decidi explorar esta nova funcionalidade, e a primeira prova de fogo foi logo para um projecto de um cliente, que consistia no desenvolvimento de um servidor que recebe-se dados de vários dispositivos através de uma porta, que grava-se esses dados numa base de dados e que envia-se uma resposta a cada dispositivo, dependendo do tipo de dados… Os dispositivos podem ser apenas 2 como 50, pelo que era uma verdadeira prova de fogo para o AIR e sua atípica gestão de memória já que o sistema receberia algumas dezenas de pedidos por minuto. Depois de dar uma vista de olhos às classes socket, percebi que era muito mais fácil  do que eu imaginava, o servidor foi feito com recurso a cerca de 50 linhas de código, tudo ficou a funcionar…. restava o teste em tempo real com os tais dispositivos….

Inicialmente apenas com 2 demonstrou ser rápido e eficaz, mas e com 20/30 dispositivos a enviar dados… foi entregue o projecto ao cliente para testes, depois de 1 semana e de mais de 40.000 ligações (apenas entradas, se contar as saídas serão 80.000) os gasto0s de memória mantiveram-se entre os 20 e 50 mb não ultrapassando este valor, e o sistema não encontrou qualquer falha, erro ou situações desconhecidas… Resumindo, sem muito tempo gasto, o AIR passou a ser o substituto de um sistema existente feito em delphi, e mantêm-se a correr quase à 2 meses 24/24h sem qualquer problema….

Os meus parabéns à adobe que realmente fez um excelente trabalho!! Agora segue a dica, como criar um servidor socket? facil… o mais complicado talvez seja instalar o SDK 2 beta para desenvolvimento, mas isso vocês descobrem facilmente nas release notes…

Segue então uma explicação de como fazer o seu servidor socket em menos de 5 minutos… leia mais »

1 Comentario |Tags: , , , , , ,

Tutorial Action Script 3 – 015

Em continuação a série de tutoriais sobre AS3…

Hoje vou falar pouco sobre novidades, mas vou apenas apresentar um exemplo pratico de como criar um painel personalizado usando apenas action script  3 e todos os conceitos que aprendemos até agora…

5.4. Classes, Exemplo Painel personalizado

Vamos a um exemplo prático, usando o flex o meu objectivo é fazer o seguinte:

Criar um painel personalizado que permita:

–    ser arrastado (drag & drop) na nossa aplicação
–    ter botões de maximizar, minimizar e restaurar
–    Adicionar efeitos de maximizar, minimizar e restaurar.

Vamos aplicar todos os conhecimentos adquiridos anteriormente bem como a utilização de algumas classes nativas de efeitos disponiveis no flex como efeitos que mais à frente falaremos. Este exemplo apenas funcionará no Flex, visto que o AS3 do flash ainda não suporta alguns pontos e classes de efeitos que foram adicionadas no Flex.

Vejam o seguinte código que foi devidamente comentado para perceberem facilmente toda a sua estrutura. leia mais »

4 Comentarios |Tags: , , , , ,