RIA e Flex
Dando formas à Inovação


Leonardo Braga
leonardo@augix.com.br
@LeonardoBraga
O que é RIA?
Aplicações de Internet Rica (da sigla em
inglês RIA - Rich Internet Application) são
Aplicações Web que tem características e
funcionalidades de softwares tradicionais do
tipo Desktop. (Wikipedia)

Então RIA = Aplicações com uma Melhor
Experiência para o Usuário.
O que é o Flex
• Flex == Framework para desenvolvimento
  de aplicações RIA na Plataforma Flash.
• Utilizado prinicipalmente para a construção
  das interfaces das aplicações
• Flex Framework != IDE
• Adobe.Renamed(“Flex Builder”  ,
      “Flash Builder”);
• O Flex SDK é gratuito.
A Plataforma Flash
MXML ainda requer AS3? Sim!
• O fato de se usar o Framework do Flex para
  construir uma aplicação, não elimina a
  necessidade de programação. O
  comportamento e as interações da
  aplicação devem ser codificadas na
  linguagem Action Script 3.
• Todo o código MXML é convertido para
  ActionScript 3 no momento da compilação.
Workflow de Aplicações Flex


Recursos         Tecnologia de   Flash Player
                 Servidor

    • Bases de       • Java          • Web
      Dados          • ASP.NET       • AIR
    • Serviços       • PHP           • Embeded
    • APIs           • etc
Principais Integrações
• HTTP Web Services
  – SOAP,
  – AMF (http://bit.ly/aozJRe)
• Sockets (Binário e XMLSockets)
• Remote Shared Objects
• JavaScript
Suporte às Boas Práticas
   Test Driven
  Development       •FlexUnit, FlexMonkey
     (TDD):
  Code Coverage
 (Testes de Caixa   •FlexPMD, FlexCover
     Branca):

 Design Pattern
     MVC:           •Swiz, MATE, Cairngorn
Alguns Cases
•   Servas (Gadget)
•   Bom Livro
•   HouseKeeping da GE Transportation
•   Adobe Buzzword
•   AutoDesk Homestyler
•   Acrobat Connect
Flex domina em…
• Aplicações que necessitam de uma
  interface rica, personalizável e interativa.
• Aplicações que manipulam vídeo e áudio,
  como aplicações de vídeo-conferência.
• Construção de uma mesma aplicação para
  múltiplos navegadores e arquiteturas.
Flex domina em…
• Construção de Gadgets e módulos
  específicos para sistemas e sites.
• Produtividade na criação de interfaces
  personalizáveis.
• Reaproveitamento de código.
• Criação e utilização de Componentes para
  diversas finalidades, como controles de
  gráficos, de interface, etc.
Flex domina em…
• Aplicações que fazem uso de diferentes
  fontes de dados como:
  – Web Services SOAP, REST, JSON e XML.
  – APIs de Terceiros, como Twitter e Google Maps.
  – Diferentes Tecnologias Server-Side no mesmo
    projeto.
Flex não é a melhor solução para…
• Sites Institucionais
• Portais
• Blogs
No Flex, evite…
• Fazer uso excessivo de animações ou
  animações demoradas ( > 800 ms ).
• Construir Skins pesados baseados em
  muitas imagens.
• Fazer uso excessivo de efeitos 3D.
• Fazer projetos complexos não-modulares.
• Usar o tema padrão, sem personalização.
Dispositivos Móveis
• Slider – Flex Mobile Framework:
  http://labs.adobe.com/technologies/flex/mobile/
• Elips Studio (cross-compiling):
  http://developer.openplug.com/
• Google Android, Palm webOS, Windows
  Mobile 7, Symbian e Blackberry não
  precisarão de cross-compiling
E o iPhone?
• Não espere por mudanças no panorama
  atual. A própria Adobe declarou
  recentemente que não investirá mais no
  iPhone Packager.
• Domine Object-C. Ele é apenas mais uma
  linguagem, bem documentada e que lhe
  permite, além de desenvolver para iPhone,
  também desenvolver para Mac OSX.
O que vem por aí…
• P2P no Flash Player:
    – Stratus (assisted mode)
    – RTMFP (RTMFP Groups e Multicast)
•   Slider
•   Multi-touch e Gestures
•   H.264 acelerado por hardware
•   Accelerometer muito mais…
Referências
Tour de Flex:
http://www.adobe.com/devnet/flex/tourdeflex/

Flex.org:
http://flex.org/

RIAForge:
http://www.riaforge.org/

Adobe Open Source
http://opensource.adobe.com/

OS Flash
http://osflash.org
Fica a dica…
Dediquem à implementação dos seus
sistemas a mesma importância que é
dedicada ao planejamento e projeto.

Você compraria um carro cujo conceito e
projeto são perfeitos, mas que possui
problemas de motor?
Obrigado!

•   leonardo@augix.com.br
•   @LeonardoBraga
•   br.linkedin.com/in/LeonardoBraga
•   leonardobraga.com/

RIA e Flex - Dando formas à Inovação

  • 1.
    RIA e Flex Dandoformas à Inovação Leonardo Braga leonardo@augix.com.br @LeonardoBraga
  • 2.
    O que éRIA? Aplicações de Internet Rica (da sigla em inglês RIA - Rich Internet Application) são Aplicações Web que tem características e funcionalidades de softwares tradicionais do tipo Desktop. (Wikipedia) Então RIA = Aplicações com uma Melhor Experiência para o Usuário.
  • 3.
    O que éo Flex • Flex == Framework para desenvolvimento de aplicações RIA na Plataforma Flash. • Utilizado prinicipalmente para a construção das interfaces das aplicações • Flex Framework != IDE • Adobe.Renamed(“Flex Builder” , “Flash Builder”); • O Flex SDK é gratuito.
  • 4.
  • 5.
    MXML ainda requerAS3? Sim! • O fato de se usar o Framework do Flex para construir uma aplicação, não elimina a necessidade de programação. O comportamento e as interações da aplicação devem ser codificadas na linguagem Action Script 3. • Todo o código MXML é convertido para ActionScript 3 no momento da compilação.
  • 6.
    Workflow de AplicaçõesFlex Recursos Tecnologia de Flash Player Servidor • Bases de • Java • Web Dados • ASP.NET • AIR • Serviços • PHP • Embeded • APIs • etc
  • 7.
    Principais Integrações • HTTPWeb Services – SOAP, – AMF (http://bit.ly/aozJRe) • Sockets (Binário e XMLSockets) • Remote Shared Objects • JavaScript
  • 8.
    Suporte às BoasPráticas Test Driven Development •FlexUnit, FlexMonkey (TDD): Code Coverage (Testes de Caixa •FlexPMD, FlexCover Branca): Design Pattern MVC: •Swiz, MATE, Cairngorn
  • 9.
    Alguns Cases • Servas (Gadget) • Bom Livro • HouseKeeping da GE Transportation • Adobe Buzzword • AutoDesk Homestyler • Acrobat Connect
  • 10.
    Flex domina em… •Aplicações que necessitam de uma interface rica, personalizável e interativa. • Aplicações que manipulam vídeo e áudio, como aplicações de vídeo-conferência. • Construção de uma mesma aplicação para múltiplos navegadores e arquiteturas.
  • 11.
    Flex domina em… •Construção de Gadgets e módulos específicos para sistemas e sites. • Produtividade na criação de interfaces personalizáveis. • Reaproveitamento de código. • Criação e utilização de Componentes para diversas finalidades, como controles de gráficos, de interface, etc.
  • 12.
    Flex domina em… •Aplicações que fazem uso de diferentes fontes de dados como: – Web Services SOAP, REST, JSON e XML. – APIs de Terceiros, como Twitter e Google Maps. – Diferentes Tecnologias Server-Side no mesmo projeto.
  • 13.
    Flex não éa melhor solução para… • Sites Institucionais • Portais • Blogs
  • 14.
    No Flex, evite… •Fazer uso excessivo de animações ou animações demoradas ( > 800 ms ). • Construir Skins pesados baseados em muitas imagens. • Fazer uso excessivo de efeitos 3D. • Fazer projetos complexos não-modulares. • Usar o tema padrão, sem personalização.
  • 15.
    Dispositivos Móveis • Slider– Flex Mobile Framework: http://labs.adobe.com/technologies/flex/mobile/ • Elips Studio (cross-compiling): http://developer.openplug.com/ • Google Android, Palm webOS, Windows Mobile 7, Symbian e Blackberry não precisarão de cross-compiling
  • 16.
    E o iPhone? •Não espere por mudanças no panorama atual. A própria Adobe declarou recentemente que não investirá mais no iPhone Packager. • Domine Object-C. Ele é apenas mais uma linguagem, bem documentada e que lhe permite, além de desenvolver para iPhone, também desenvolver para Mac OSX.
  • 17.
    O que vempor aí… • P2P no Flash Player: – Stratus (assisted mode) – RTMFP (RTMFP Groups e Multicast) • Slider • Multi-touch e Gestures • H.264 acelerado por hardware • Accelerometer muito mais…
  • 18.
  • 19.
    Fica a dica… Dediquemà implementação dos seus sistemas a mesma importância que é dedicada ao planejamento e projeto. Você compraria um carro cujo conceito e projeto são perfeitos, mas que possui problemas de motor?
  • 20.
    Obrigado! • leonardo@augix.com.br • @LeonardoBraga • br.linkedin.com/in/LeonardoBraga • leonardobraga.com/