Compartilhamento de código com Frameworks - CocoaHeads RJ
-
Upload
renan-protector -
Category
Software
-
view
229 -
download
0
Transcript of Compartilhamento de código com Frameworks - CocoaHeads RJ
COMPARTILHAMENTO DE CÓDIGO COM FRAMEWORKS
Renan Protector - @reprotector
CocoaHeads RJ - 25/03/2015
QUEM SOU EU?
• Comecei a desenvolver para iOS em 2009 (iOS 3.0)
• Ex-CTO da Ex-Sync Mobile - Software House
• Co-Founder & CTO Blogo
• Co-Founder Space Coworking
REFERÊNCIAS
• Building Modern Frameworks: WWDC 2014 - Session 416
• Sharing Code between iOS and OS X: WWDC 2014 Session 233
O QUE É UM FRAMEWORK?
• Compartilhamento de recursos
• Código
• Interface
• Etc
APLICAÇÕES
• Today Widget
• Features iguais para apps em serie (Software House)
• Compartilhamento de tecnologia entre empresas (ou apps)
• Conectividade a API
CRIANDO O PROJETO
IMPORTANTE: UTILIZE PREFIX
ADICIONANDO ARQUIVOS
CLASSES PODEM SER• Públicas
• Qualquer um pode ver e usar
• Privadas
• Qualquer um pode ver, mas não deve usar
• Projeto
• Visíveis dentro do projeto apenas
DICA: USE @class
• Não importe tudo no seu arquivo .h, apenas o necessário
• Utilize @class sempre que possível
• Benefícios: velocidade de compilação e menor chance de import loop…
DICA: USE @class
ADICIONANDO NO SEU PROJETO
• Adicionar o projeto ou o archive
• Adicionar e linkar o .framework
• Cocoapods, git submodule, etc são bem vindos
UTILIZANDO
• #import "NOMEDOSEUFRAMEWORK/ClassName.h"
• Autocomplete só funciona com classes públicas
DEPENDÊNCIA ENTRE FRAMEWORKS
• Linkar no .framework
• Linkar e adicionar no projeto usando o framework
PLATFORM SPECIFIC
• Shimming • Shimming
SHIMMING
• Cuidado pra não exagerar - Se você tem Shimming no seu código inteiro, melhor refatorar (2 classes, por exemplo)
• Quando Usar? Pedaços pequenos e específicos
• UIView ≠ NSView
UIView ≠ NSView • Event Handle
• Drawing
• Event Handle
• Drawing
• Origin Top Left
• Gesture Recognizer
• Rotation
• ….
• Origin bottom left
• Mouse event handling
• Tooltip support
• Drag &Drop
• …
• A ordem importa!
• Simulator > iPhone > MAC (São variantes)
• Sim, eu levei um bom tempo pra descobrir isso
ISSO FOI SÓ UM GOSTINHO…
MÃOS A OBRA!