As aplicações RIA revolucionaram o mercado de web nos últimos anos. Você verá alguns exemplos de como explorar o potencial do framework Adobe Flex na construção deste tipo de aplicações interativas, seja para a internet, desktop ou dispositivos móveis como iPhone, Android, etc.
1. RIA e Flex
Dando formas à 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.
5. 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.
6. 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
7. Principais Integrações
• HTTP Web Services
– SOAP,
– AMF (http://bit.ly/aozJRe)
• Sockets (Binário e XMLSockets)
• Remote Shared Objects
• JavaScript
8. 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
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 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…
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?