Breakingice flex

354 views
340 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
354
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Breakingice flex

  1. 1. Breaking Ice – Adobe Flex<br />
  2. 2. Quem sou eu?<br />2 de 248<br />
  3. 3. Thiago Alves dos Santos<br />Bacharel em Sistema de Informação pela PUCPR (2010)<br />3 de 248<br />
  4. 4. No mercado de TI desde 2008<br />Já trabalhei com:<br />4<br />
  5. 5. Atualmente sou Líder Técnico na Sigma Dataserv S.A. <br />Iniciando um startup – inCodeWorks<br />5<br />
  6. 6. Vamos começar?<br />6<br />
  7. 7. Como?<br />7<br />
  8. 8. Download<br />http://www.adobe.com/go/try_flashbuilder/<br />8<br />
  9. 9. Plug-in<br />9<br />ou<br />Standalone<br />
  10. 10. Mas antes de botar a mão na massa!<br />10<br />
  11. 11. Vamos a um pouco de teoria!<br />11<br />
  12. 12. MXML<br />12<br />Magic Extensible Markup Language<br />Macromedia MagicExtensible Markup Language<br />
  13. 13. ActionScript<br />13<br />Meio JS ... Meio Java<br />
  14. 14. 14<br />Variáveis<br />varsomeInt:int = 3; <br />varsomeInt:int = newint(3);<br />
  15. 15. 15<br />Arrays<br />// literal value <br />varsomeArray:Array = [1, 2, 3]; <br />// Array constructor<br />varsomeArray:Array = new Array(1,2,3); <br />
  16. 16. 16<br />Função<br />publicfunction fechar():void<br />{<br />// fecha tela de novoContato<br />PopUpManager.removePopUp(this);<br />}<br />
  17. 17. 17<br />Classe<br />publicclassContato <br />{ <br /> varnome:String = ‘José’; <br />}<br />
  18. 18. 18<br />Interface<br />publicinterfaceGenericDao<br />{ <br />functioninsert(obj:Object):void; <br />}<br />publicclassSpecificDaoimplementsGenericDao<br />{ <br />functioninsert(obj:Object):void{}<br />}<br />
  19. 19. Você pode ver mais em:http://help.adobe.com/pt_BR/ActionScript/3.0_ProgrammingAS3/http://blog.flexexamples.com/<br />19<br />
  20. 20. Chega de conversa fiada!<br />20<br />
  21. 21. Mão na massa!<br />21<br />
  22. 22. Vamos codar!<br />22<br />
  23. 23. Começando pela View!<br />23<br />
  24. 24. Vamos colocar alguma ação nessa tela?<br />24<br />
  25. 25. Acho que esquecemos de uma validação!<br />25<br />
  26. 26. 26<br />
  27. 27. 27<br />
  28. 28. Contato<br /> @thalves<br /> @inCodeWorks<br />thiagoalvsantos@gmail.com<br />thiago@incodeworks.com.br<br /> thalves.wordpress.com<br />28<br />
  29. 29. 29<br />
  30. 30. 30<br />
  31. 31. Continuando<br />31<br />
  32. 32. Flex + Java<br />32<br />
  33. 33. Instalar plug-in <br />33<br />
  34. 34. Dynamic Web Project<br />34<br />
  35. 35. Adicionar BlazeDS<br />35<br />
  36. 36. web.xml<br />36<br /><!-- Http Flex Session attribute and binding listener support --><br /><listener><br /><listener-class>flex.messaging.HttpFlexSession</listener-class><br /></listener><br /><!-- MessageBrokerServlet --><br /><servlet><br /><servlet-name>MessageBrokerServlet</servlet-name><br /><servlet-class>flex.messaging.MessageBrokerServlet</servlet-class><br /><init-param><br /><param-name>services.configuration.file</param-name><br /><param-value>/WEB-INF/flex/services-config.xml</param-value><br /></init-param><br /><load-on-startup>1</load-on-startup><br /></servlet><br /><servlet-mapping><br /><servlet-name>MessageBrokerServlet</servlet-name><br /><url-pattern>/messagebroker/*</url-pattern><br /></servlet-mapping><br />
  37. 37. Configurações Flex<br />37<br />-services “<caminhoProjeto>services-config”<br />
  38. 38. Configurações Flex<br />38<br />-context-root <contexo-web><br />
  39. 39. Replicar entidades<br />39<br />publicclassContatoimplementsSerializable {<br />/**<br /> * <br /> */<br />privatestaticfinallongserialVersionUID = 3162496932110844519L;<br />privateStringnome;<br />privateStringsobrenome;<br />private Date dataNascimento;<br />privateLongtelefone;<br />privateLongcelular;<br />... Continua<br />
  40. 40. RemoteClass<br />40<br />packagebr.com.workshop.agenda.entity<br />{<br />[RemoteClass(alias="br.semanaacademica.agenda.Contato")]<br />[Bindable]<br />publicclass Contato <br />{<br />publicvarnome:String;<br />publicvarsobrenome:String;<br />publicvardataNascimento:Date;<br />publicvartelefone:Number;<br />publicvarcelular:Number;<br />}<br />}<br />
  41. 41. ServicoJava<br />41<br />packagebr.semanaacademica.agenda;<br />importjava.util.ArrayList;<br />importjava.util.Date;<br />importjava.util.List;<br />publicclassServicoJava {<br />privateList<Contato> listaContatos;<br />publicList<Contato> obterContatos() {<br /> LOGICA DO SERVIÇO...<br />}<br />
  42. 42. RemoteConfig.xml<br />42<br /><destinationid="servicoJava"><br /> <properties><br /> <source>br.semanaacademica.agenda.ServicoJava</source><br /> </properties><br /></destination><br />
  43. 43. RemoteObject<br />43<br /><mx:RemoteObject id="servicoJava"<br />fault="onFault(event)" destination="servicoJava"/><br />
  44. 44. Assíncrona<br />44<br />servicoJava.addEventListener(ResultEvent.RESULT,<br />//No flex toda requisição é assíncrona,<br />//Então devo programar um função quando<br />//a requisição terminar de executar<br />function(event:ResultEvent):void<br /> {<br />dataGridContato.dataProvider= event.resultasArrayCollection;<br /> }<br />);<br />
  45. 45. Chamada<br />45<br />servicoJava.obterContatos();<br />
  46. 46. 46<br />
  47. 47. 47<br />
  48. 48. Contato<br /> @thalves<br /> @inCodeWorks<br />thiagoalvsantos@gmail.com<br />thiago@incodeworks.com.br<br /> thalves.wordpress.com<br />48<br />
  49. 49. Material<br />http://www.slideshare.net/thalves/breakingice-flex/<br />49<br />
  50. 50. 50<br />

×