Programação em Apple iOS Jorge C. S. Cardoso, Luís Gustavo Martins jorgecardoso@ieee.org, lmartins@porto.ucp.pt Cursos de ...
Apple iOS SDK <ul><ul><li>Software Development Kit (SDK) usado no desenvolvimento de aplicações </li></ul></ul><ul><ul><ul...
Apple iOS SDK <ul><ul><li>Xcode 3 </li></ul></ul><ul><ul><ul><li>Ambiente integrado de desenvolvimento (IDE) de aplicações...
Apple iOS SDK <ul><ul><li>Apple Application Programming Interfaces (APIs)  </li></ul></ul>http://www.stanford.edu/class/cs...
Apple iOS SDK <ul><ul><li>Apple Application Programming Interfaces (APIs)  </li></ul></ul>http://www.stanford.edu/class/cs...
Apple iOS SDK <ul><ul><li>Apple Application Programming Interfaces (APIs)  </li></ul></ul>http://www.stanford.edu/class/cs...
Apple iOS SDK <ul><ul><li>Apple Application Programming Interfaces (APIs)  </li></ul></ul>http://www.stanford.edu/class/cs...
Apple iOS SDK <ul><ul><li>Apple Application Programming Interfaces (APIs)  </li></ul></ul>http://www.stanford.edu/class/cs...
Apple iOS SDK <ul><ul><li>Cocoa Touch Frameworks </li></ul></ul><ul><ul><ul><li>Bibliotecas de objectos, métodos, recursos...
Desenvolvendo para iOS http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Delegation <ul><ul><li>É um  &quot;Design Pattern&quot;  em que um determinado objecto &quot;delega&quot; uma determinada ...
Model-View-Controler <ul><ul><li>É uma arquitectura de software em que as APIs Cocoa e Cocoa Touch são baseadas </li></ul>...
Model-View-Controler <ul><ul><li>Model </li></ul></ul><ul><ul><ul><li>Gere os dados e estado da aplicação </li></ul></ul><...
Model-View-Controler <ul><ul><li>O Model e a View não comunicam directamente entre elas!! </li></ul></ul><ul><ul><ul><li>O...
Model-View-Controler Interface Builder: Actions e Outlets http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-20...
Hello World iPhone A Label and a Slider :-)      - Ligação da View ao Model          - Controller      - Interface Builder...
Hello World iPhone A Label and a Slider :-) http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Hello World iPhone A Label and a Slider :-) http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Exemplo iOS App - FractionCalculator       - Uso do classe  Fraction  criada antes          - é o nosso  Model     -  Cria...
Fim <ul><li>Cursos de Verão na Católica 2010 </li></ul><ul><li>http://porto.ucp.pt/cvc/ </li></ul>Jorge C. S. Cardoso, Luí...
Próximos SlideShares
Carregando em…5
×

Introdução à Programação para iPhone (iOS)

10.227 visualizações

Publicada em

  • Seja o primeiro a comentar

Introdução à Programação para iPhone (iOS)

  1. 1. Programação em Apple iOS Jorge C. S. Cardoso, Luís Gustavo Martins jorgecardoso@ieee.org, lmartins@porto.ucp.pt Cursos de Verão na Católica 2010
  2. 2. Apple iOS SDK <ul><ul><li>Software Development Kit (SDK) usado no desenvolvimento de aplicações </li></ul></ul><ul><ul><ul><li>para iPhone, iPad, iPod Touch (i.e. dispositivos iOS) </li></ul></ul></ul><ul><ul><ul><li>Gratuitamente disponível para download em: </li></ul></ul></ul><ul><ul><ul><li>http://developer.apple.com/technologies/tools/xcode.html </li></ul></ul></ul><ul><ul><li>Inclui: </li></ul></ul><ul><ul><ul><li>XCode IDE (Editor, Organizador de Projectos, …) </li></ul></ul></ul><ul><ul><ul><li>Interface Builder (IB) </li></ul></ul></ul><ul><ul><ul><li>iPhone / iPad Simulator </li></ul></ul></ul><ul><ul><ul><li>Compilador e Linker </li></ul></ul></ul><ul><ul><ul><ul><li>GCC e LLVM, para C, C++, ObjC 2.0 </li></ul></ul></ul></ul><ul><ul><ul><li>Debugger, Instruments, … </li></ul></ul></ul><ul><ul><ul><li>Mac e iOS Cocoa / Cocoa Touch APIs </li></ul></ul></ul>
  3. 3. Apple iOS SDK <ul><ul><li>Xcode 3 </li></ul></ul><ul><ul><ul><li>Ambiente integrado de desenvolvimento (IDE) de aplicações </li></ul></ul></ul><ul><ul><ul><ul><li>para iPhone, iPad, iPod Touch e Mac </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Gratuíto e disponível para download em: </li></ul></ul></ul></ul><ul><ul><ul><li>http://developer.apple.com/technologies/tools/xcode.html </li></ul></ul></ul>
  4. 4. Apple iOS SDK <ul><ul><li>Apple Application Programming Interfaces (APIs) </li></ul></ul>http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  5. 5. Apple iOS SDK <ul><ul><li>Apple Application Programming Interfaces (APIs) </li></ul></ul>http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  6. 6. Apple iOS SDK <ul><ul><li>Apple Application Programming Interfaces (APIs) </li></ul></ul>http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  7. 7. Apple iOS SDK <ul><ul><li>Apple Application Programming Interfaces (APIs) </li></ul></ul>http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  8. 8. Apple iOS SDK <ul><ul><li>Apple Application Programming Interfaces (APIs) </li></ul></ul>http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  9. 9. Apple iOS SDK <ul><ul><li>Cocoa Touch Frameworks </li></ul></ul><ul><ul><ul><li>Bibliotecas de objectos, métodos, recursos, documentação </li></ul></ul></ul>http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  10. 10. Desenvolvendo para iOS http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  11. 11. Delegation <ul><ul><li>É um &quot;Design Pattern&quot; em que um determinado objecto &quot;delega&quot; uma determinada tarefa num outro objecto </li></ul></ul><ul><ul><ul><li>O objecto em que é delegada essa tarefa é conhecido como &quot;delegate object&quot; </li></ul></ul></ul><ul><ul><ul><li>O delegate object é &quot;especialista&quot; naquela tarefa   </li></ul></ul></ul>Delegate  Object Some  Object A Delegation é uma alternativa à SubClassing (herança) http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  12. 12. Model-View-Controler <ul><ul><li>É uma arquitectura de software em que as APIs Cocoa e Cocoa Touch são baseadas </li></ul></ul>http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  13. 13. Model-View-Controler <ul><ul><li>Model </li></ul></ul><ul><ul><ul><li>Gere os dados e estado da aplicação </li></ul></ul></ul><ul><ul><ul><li>Totalmente independente da Interface Gráfica (GUI) da aplicação </li></ul></ul></ul><ul><ul><ul><li>Pode guardar os dados de forma persistente (e.g. num ficheiro em na memória FLASH) </li></ul></ul></ul><ul><ul><ul><li>Reutilizável (em diferentes &quot;Views&quot;) </li></ul></ul></ul><ul><ul><li>View </li></ul></ul><ul><ul><ul><li>Apresenta os dados (i.e. o &quot;Model&quot;) ao utilizador através de uma GUI </li></ul></ul></ul><ul><ul><ul><li>Permite ao utilizador manipular e interagir com os dados (i.e. o &quot;Model&quot;) </li></ul></ul></ul><ul><ul><ul><li>Não armazena dados (exceptuando caches) </li></ul></ul></ul><ul><ul><ul><li>Facilmente reutilizável e possível de ser configurado para representar diferentes dados  </li></ul></ul></ul><ul><ul><li>Controller </li></ul></ul><ul><ul><ul><li>Intermediário entre o Model e a View </li></ul></ul></ul><ul><ul><ul><li>Actualiza a View quando o Model sofre alterações </li></ul></ul></ul><ul><ul><ul><li>Actualiza o Model quando a View sofre alterações  </li></ul></ul></ul><ul><ul><ul><li>É tipicamente aqui que a &quot;lógica&quot; da aplicação é implementada </li></ul></ul></ul>
  14. 14. Model-View-Controler <ul><ul><li>O Model e a View não comunicam directamente entre elas!! </li></ul></ul><ul><ul><ul><li>O Model nada sabe sobre a View </li></ul></ul></ul><ul><ul><ul><li>A View nada sabe sobre o Model </li></ul></ul></ul><ul><ul><ul><li>O Controller sabe sobre os dois, e é o intermediário entre a View e o Model </li></ul></ul></ul>http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  15. 15. Model-View-Controler Interface Builder: Actions e Outlets http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  16. 16. Hello World iPhone A Label and a Slider :-)      - Ligação da View ao Model          - Controller      - Interface Builder          - IBOutlet          - IBAction          LIVE CODING DEMO
  17. 17. Hello World iPhone A Label and a Slider :-) http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  18. 18. Hello World iPhone A Label and a Slider :-) http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
  19. 19. Exemplo iOS App - FractionCalculator       - Uso do classe Fraction criada antes          - é o nosso Model    - Criação da GUI (a View )              -  Criação do Controller e do Delegate            Live Coding Demo! :-)
  20. 20. Fim <ul><li>Cursos de Verão na Católica 2010 </li></ul><ul><li>http://porto.ucp.pt/cvc/ </li></ul>Jorge C. S. Cardoso, Luís Gustavo Martins jorgecardoso@ieee.org, lmartins@porto.ucp.pt http://slideshare.net/jorgecardoso (tag: cvc2010) Código fonte:  http://db.tt/AOFOfA2

×