SlideShare uma empresa Scribd logo
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
Apple iOS SDK Software Development Kit (SDK) usado no desenvolvimento de aplicações para iPhone, iPad, iPod Touch (i.e. dispositivos iOS) Gratuitamente disponível para download em:  http://developer.apple.com/technologies/tools/xcode.html   Inclui: XCode IDE (Editor, Organizador de Projectos, …) Interface Builder (IB) iPhone / iPad Simulator Compilador e Linker GCC e LLVM, para C, C++, ObjC 2.0  Debugger, Instruments, … Mac e iOS Cocoa / Cocoa Touch APIs
Apple iOS SDK Xcode 3 Ambiente integrado de desenvolvimento (IDE) de aplicações para iPhone, iPad, iPod Touch e Mac Gratuíto e disponível para download em:  http://developer.apple.com/technologies/tools/xcode.html
Apple iOS SDK Apple Application Programming Interfaces (APIs)  http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Apple iOS SDK Apple Application Programming Interfaces (APIs)  http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Apple iOS SDK Apple Application Programming Interfaces (APIs)  http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Apple iOS SDK Apple Application Programming Interfaces (APIs)  http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Apple iOS SDK Apple Application Programming Interfaces (APIs)  http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Apple iOS SDK Cocoa Touch Frameworks Bibliotecas de objectos, métodos, recursos, documentação http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Desenvolvendo para iOS http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Delegation É um  "Design Pattern"  em que um determinado objecto "delega" uma determinada tarefa num outro objecto O objecto em que é delegada essa tarefa é conhecido como "delegate object" O delegate object é "especialista" naquela tarefa   Delegate  Object Some  Object A Delegation é uma alternativa à SubClassing (herança) http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Model-View-Controler É uma arquitectura de software em que as APIs Cocoa e Cocoa Touch são baseadas http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Model-View-Controler Model Gere os dados e estado da aplicação Totalmente independente da Interface Gráfica (GUI) da aplicação Pode guardar os dados de forma persistente (e.g. num ficheiro em na memória FLASH) Reutilizável (em diferentes "Views") View Apresenta os dados (i.e. o "Model") ao utilizador através de uma GUI Permite ao utilizador manipular e interagir com os dados (i.e. o "Model") Não armazena dados (exceptuando caches) Facilmente reutilizável e possível de ser configurado para representar diferentes dados  Controller Intermediário entre o Model e a View Actualiza a View quando o Model sofre alterações Actualiza o Model quando a View sofre alterações  É tipicamente aqui que a "lógica" da aplicação é implementada
Model-View-Controler O Model e a View não comunicam directamente entre elas!! O Model nada sabe sobre a View A View nada sabe sobre o Model O  Controller  sabe sobre os dois, e é o  intermediário  entre a View e o Model http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Model-View-Controler Interface Builder: Actions e Outlets http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter
Hello World iPhone A Label and a Slider :-)      - Ligação da View ao Model          - Controller      - Interface Builder          - IBOutlet          - IBAction          LIVE CODING DEMO
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ção da GUI (a  View )              -  Criação do  Controller  e do  Delegate            Live Coding Demo! :-)
Fim Cursos de Verão na Católica 2010 http://porto.ucp.pt/cvc/ 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

Mais conteúdo relacionado

PDF
[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um De...
PPTX
Ionic + Cordova para Desenvolvimento Mobile
PPTX
Appinventor - Faça simples apps android
PDF
Criando aplicações em Android brincando de quebra-cabeça!
PPTX
Introdução Ao Desenvolvimento Para Iphone
PPTX
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
PPTX
Workshop - Cordova e Ionic
PPTX
Desenvolvimento Mobile com Ionic
[Cocoaheads Conference:2018] Além de prints e breakpoints: truques para um De...
Ionic + Cordova para Desenvolvimento Mobile
Appinventor - Faça simples apps android
Criando aplicações em Android brincando de quebra-cabeça!
Introdução Ao Desenvolvimento Para Iphone
Curso de Desenvolvimento de Aplicativos Híbridos com PhoneGap/Cordova, e Ionic
Workshop - Cordova e Ionic
Desenvolvimento Mobile com Ionic

Destaque (20)

KEY
Mobile, por onde e como começar
PPTX
Iniciando desenvolvimento i os
DOCX
Sistema Operacional iOS
PPT
Iniciando o desenvolvimento em iOS
PDF
JavascriptCore
PPTX
iOS: evolução e mercado
PDF
BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
KEY
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
KEY
Desenvolvimento de aplicativos Universais para iOS
PPTX
Arquitetura de dispositivos móveis
PPTX
Arquitetura dos dispositivos móveis
PPTX
Sistema Operacional Móvel iOS
PPTX
SISTEMA OPERATIVO IOS
PPT
Tecnologias da Informacao e seu Impacto na Sociedade
PPTX
SISTEMA OPERATIVO iOS
PPSX
Desenvolvimento IOS - Mobile
PPTX
IOS sistema operacional
PPTX
SISTEMA OPERATIVO IOS
PPTX
Sistema Operacional Android
PPTX
Trabalho de informatica - Sistema Operacional iOS
Mobile, por onde e como começar
Iniciando desenvolvimento i os
Sistema Operacional iOS
Iniciando o desenvolvimento em iOS
JavascriptCore
iOS: evolução e mercado
BRAPPS: Segurança no iPhone/iOS - Pedro Franceschi [Pagar.me]
Desenvolvimento de Jogos com Cocos2d - Apresentação Coderockr Jam
Desenvolvimento de aplicativos Universais para iOS
Arquitetura de dispositivos móveis
Arquitetura dos dispositivos móveis
Sistema Operacional Móvel iOS
SISTEMA OPERATIVO IOS
Tecnologias da Informacao e seu Impacto na Sociedade
SISTEMA OPERATIVO iOS
Desenvolvimento IOS - Mobile
IOS sistema operacional
SISTEMA OPERATIVO IOS
Sistema Operacional Android
Trabalho de informatica - Sistema Operacional iOS
Anúncio

Semelhante a Introdução à Programação para iPhone (iOS) (20)

PDF
Introdução à programação em Android e iOS - iOS
PDF
Curso Básico Android - Aula 01
PDF
Carthage ou cocoapods
PPT
Introdução à programação em Android SENAC 17.06.2013
PDF
Worklight exemplo
PDF
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
PDF
Android - Notas de aula
DOCX
Introdução a programação para plataforma iOS
PDF
Minicurso de Android
PDF
Aula maps 23_2
PDF
Hands-on Cordova / Phonegap - GDG JF
PDF
Minicurso Intel XDK
PDF
Minicurso Intel XDK
PDF
Android Aula 2
PDF
Caelum Day In Rio
PDF
Apostilaandroidfatecnormal
PDF
Minicurso de Desenvolvimento Android - Iguatu - CE
PDF
JSF 2.0: Uma Evolução nas Interfaces Web com Java
PDF
Class 01 - Android Study Jams: Android Development for Beginners
PDF
Apresentacao android por Júlio Cesar Bueno Cotta
Introdução à programação em Android e iOS - iOS
Curso Básico Android - Aula 01
Carthage ou cocoapods
Introdução à programação em Android SENAC 17.06.2013
Worklight exemplo
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Android - Notas de aula
Introdução a programação para plataforma iOS
Minicurso de Android
Aula maps 23_2
Hands-on Cordova / Phonegap - GDG JF
Minicurso Intel XDK
Minicurso Intel XDK
Android Aula 2
Caelum Day In Rio
Apostilaandroidfatecnormal
Minicurso de Desenvolvimento Android - Iguatu - CE
JSF 2.0: Uma Evolução nas Interfaces Web com Java
Class 01 - Android Study Jams: Android Development for Beginners
Apresentacao android por Júlio Cesar Bueno Cotta
Anúncio

Mais de Jorge Cardoso (20)

PDF
Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
PDF
Criação de Ambientes de Realidade Virtual usando A-Frame
PDF
Journal of Science and Technology of the Arts
PPTX
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
PPTX
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
PPTX
Digital tools for exploring roman mosaic
PPTX
Interaction techniques for locomotion in virtual reality
PPTX
Interacção em ambientes de realidade virtual
PDF
PhD defense presentation
PDF
Dynamic graphical user interface generation for web-based public display appl...
PDF
Evaluation of a programming toolkit for interactive public display applications
PDF
Interaction modalities, technologies and tools for interactive art
PDF
PuReWidgets toolkit
PPTX
PuReWidgets presentation at EICS 2012
PDF
PuReWidgets toolkit
PDF
Assessing Feedback for Indirect Shared Interaction
PDF
Oop java
PDF
Conceitos fundamentais de_programacao
PPTX
Computer vision techniques for interactive art
PPTX
Introdução à Programacao em Processing
Criação de Ambientes de Realidade Virtual usando A-Frame - CubeCraft Toys -...
Criação de Ambientes de Realidade Virtual usando A-Frame
Journal of Science and Technology of the Arts
Evaluation of Multi-Platform Mobile AR Frameworks for Roman Mosaic Augmentation
ConímbrigAR A Prototype Augmented Mobile Application for Exploration of Roman...
Digital tools for exploring roman mosaic
Interaction techniques for locomotion in virtual reality
Interacção em ambientes de realidade virtual
PhD defense presentation
Dynamic graphical user interface generation for web-based public display appl...
Evaluation of a programming toolkit for interactive public display applications
Interaction modalities, technologies and tools for interactive art
PuReWidgets toolkit
PuReWidgets presentation at EICS 2012
PuReWidgets toolkit
Assessing Feedback for Indirect Shared Interaction
Oop java
Conceitos fundamentais de_programacao
Computer vision techniques for interactive art
Introdução à Programacao em Processing

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

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