SlideShare a Scribd company logo
INTRODUCTION À LA POP EN SWIFT
COCOAHEADS MONTPELLIER – SESSION SEPTEMBRE 2016
SOMMAIRE
Rappel : POO
La POP : quoi de neuf ?
Cas pratique 1 : UIView (Live coding)
Cas pratique 2 : Networking (Live coding)
22.09.16 BACKELITE 2
LA POO
LA POO
L’HÉRITAGE C’EST GÉNIAL
22.09.16 BACKELITE 4
NSObject
UIBarItem
UIBarButtonItem UITabBarItem
UIDocument
UIManagedDocument
UIResponder
UIApplication UIView
LA POO
PROBLÈMES
22.09.16 BACKELITE 5
• Faire attention aux états de nos objets (mutable/immutable)
• Multi-threading
• Les sous-classes : complexité, héritage multiples, etc.
• God classes
• Les tests unitaires ! (mock, etc)
LA POO
22.09.16 BACKELITE 6
LA POP
LA POP
POP = Programmation orienté
protocol
22.09.16 8BACKELITE
LA POP
22.09.16 BACKELITE 9
“Instead of using a class, start with a
protocol”
— Dave Abrahams: Professor of Blowing Your Mind
CAS PRATIQUE 1
LIVE CODING : UIVIEW
CAS PRATIQUE 2
NETWORKING
LIENS UTILES
22.09.16 BACKELITE 12
https://developer.apple.com/videos/play/wwdc2015/408/
https://realm.io/news/appbuilders-natasha-muraschev-practical-protocol-
oriented-programming/
http://krakendev.io/blog/subclassing-can-suck-and-heres-why
david.yang@backelite.com
www.backelite.com
CONTACTEZ-NOUS
YANG David
Developpeur / Tech Lead iOS
22.09.16 BACKELITE 13

More Related Content

PDF
iBizLog. Smalltalking the Web
PDF
Google country day_intervento
PDF
Supporting The Open Web - OSCON 2008
PPTX
CA Layer / Core Animation {Cocoaheads Montpellier}
PDF
App groups, faire communiquer ses applications {Cocoaheads Montpellier}
PDF
Opérer un unbundling : 6 questions que les marques doivent se poser
PDF
Messages Extensions par Nicolas Fontaine
PDF
Meetup CocoaHeads Montpellier : conférence sur l'Auto Layout
iBizLog. Smalltalking the Web
Google country day_intervento
Supporting The Open Web - OSCON 2008
CA Layer / Core Animation {Cocoaheads Montpellier}
App groups, faire communiquer ses applications {Cocoaheads Montpellier}
Opérer un unbundling : 6 questions que les marques doivent se poser
Messages Extensions par Nicolas Fontaine
Meetup CocoaHeads Montpellier : conférence sur l'Auto Layout

Viewers also liked (20)

PDF
Cocoaheads Montpellier Meetup : 3D Touch for iOS
PDF
Cocoaheads Montpellier Meetup : Comment gérer son onboarding
PPTX
Sirikit par Julien Coudsi
PPTX
Cocoaheads Montpellier Meetup : L'analyse de Code Statique avec Objective-C /...
PPTX
CocoaPods par David Yang
PPTX
Un développeur sachant designer par Audrey Hacq
PDF
Rendering unit tests par Nicolas Fontaine
PDF
Les Formulaires - Les bonnes pratiques pour une meilleure expérience utilisat...
PDF
Les 10 Tendances du Design d'interface en 2016
PPTX
Les 5 Tendances de la Performance Digitale en 2016
PPTX
Les 9 Tendances Tech en 2016
PDF
Les 10 tendances de la User Experience en 2015
PDF
Les bonnes pratiques du e-commerce
PPTX
Les 10 Tendances de l’Expérience Utilisateur en 2016
PDF
Tendances du Design d'Interface 2017
PDF
L'Apple Watch crée l'événement et bouscule le marché des smartwatches
PPTX
The top 9 Tech trends for 2016
PDF
10 user experience trends in 2015
PPTX
A developer who knows how to design by Audrey Hacq
PDF
FLUPA - UX Days 2016 : "Quand les militaires se prennent au jeu du Design Spr...
Cocoaheads Montpellier Meetup : 3D Touch for iOS
Cocoaheads Montpellier Meetup : Comment gérer son onboarding
Sirikit par Julien Coudsi
Cocoaheads Montpellier Meetup : L'analyse de Code Statique avec Objective-C /...
CocoaPods par David Yang
Un développeur sachant designer par Audrey Hacq
Rendering unit tests par Nicolas Fontaine
Les Formulaires - Les bonnes pratiques pour une meilleure expérience utilisat...
Les 10 Tendances du Design d'interface en 2016
Les 5 Tendances de la Performance Digitale en 2016
Les 9 Tendances Tech en 2016
Les 10 tendances de la User Experience en 2015
Les bonnes pratiques du e-commerce
Les 10 Tendances de l’Expérience Utilisateur en 2016
Tendances du Design d'Interface 2017
L'Apple Watch crée l'événement et bouscule le marché des smartwatches
The top 9 Tech trends for 2016
10 user experience trends in 2015
A developer who knows how to design by Audrey Hacq
FLUPA - UX Days 2016 : "Quand les militaires se prennent au jeu du Design Spr...
Ad

Similar to Programmation Orientée Protocole {Cocoaheads Montpellier} (20)

PDF
OneLaptopPerChild + Creative Commons
 
PDF
Three Hello Worlds
PDF
Introduction to MonoTouch and Monodroid/Mono for Android
PDF
Italian Alt.Net Conference MonoTouch Session
PDF
Learning Python through Minecraft on the Raspberry Pi - Worksheets
PDF
iOS Development Introduction
PDF
MacRuby & HotCocoa
PPTX
Could Virtual Threads cast away the usage of Kotlin Coroutines
KEY
MacRuby for Fun and Profit
PDF
Macruby intro
PDF
C# On The iPhone with MonoTouch at DDD8
PPTX
Clean COBOL Lightning Talk - Ox:Agile 2019
KEY
C# on the iPhone with MonoTouch Glasgow
PDF
State Of Zope Linuxtag 2008
PDF
Plone - A History of Python Web
PDF
Python Desktop Application Development - PythonBo
PDF
Macruby& Hotcocoa presentation by Rich Kilmer
PDF
Mastering Interface Builder
PDF
ruby-cocoa
PDF
ruby-cocoa
OneLaptopPerChild + Creative Commons
 
Three Hello Worlds
Introduction to MonoTouch and Monodroid/Mono for Android
Italian Alt.Net Conference MonoTouch Session
Learning Python through Minecraft on the Raspberry Pi - Worksheets
iOS Development Introduction
MacRuby & HotCocoa
Could Virtual Threads cast away the usage of Kotlin Coroutines
MacRuby for Fun and Profit
Macruby intro
C# On The iPhone with MonoTouch at DDD8
Clean COBOL Lightning Talk - Ox:Agile 2019
C# on the iPhone with MonoTouch Glasgow
State Of Zope Linuxtag 2008
Plone - A History of Python Web
Python Desktop Application Development - PythonBo
Macruby& Hotcocoa presentation by Rich Kilmer
Mastering Interface Builder
ruby-cocoa
ruby-cocoa
Ad

More from Idean France (13)

PDF
Start with a Concept and Stop Designing like a Machine
PDF
Design Systems : à votre marque, prêts, partez !
PPTX
Design systems : Bench et reco sur les outils
PPTX
La recette graphique
PDF
Graph QL par Andy Gigon
PDF
Cocoheads react native + redux par Nicolas Fontaine
PDF
Meetup langages visuels - Backelite - novembre 2017
PPTX
Sketch pour les designers : pourquoi, quand et comment l'utiliser ?
PDF
From Business to Buttons by Pierre Harlé
PPTX
RX Swift avril 2017 - David Yang
PPTX
UI Design Trends for 2017
PDF
Cocoaheads Montpellier Meetup : La programmation réactive sur iOS avec Réacti...
PPTX
How to design forms that deliver a great user experience
Start with a Concept and Stop Designing like a Machine
Design Systems : à votre marque, prêts, partez !
Design systems : Bench et reco sur les outils
La recette graphique
Graph QL par Andy Gigon
Cocoheads react native + redux par Nicolas Fontaine
Meetup langages visuels - Backelite - novembre 2017
Sketch pour les designers : pourquoi, quand et comment l'utiliser ?
From Business to Buttons by Pierre Harlé
RX Swift avril 2017 - David Yang
UI Design Trends for 2017
Cocoaheads Montpellier Meetup : La programmation réactive sur iOS avec Réacti...
How to design forms that deliver a great user experience

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Approach and Philosophy of On baking technology
PPTX
Spectroscopy.pptx food analysis technology
PDF
Electronic commerce courselecture one. Pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
cuic standard and advanced reporting.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Machine learning based COVID-19 study performance prediction
Diabetes mellitus diagnosis method based random forest with bat algorithm
NewMind AI Weekly Chronicles - August'25 Week I
Mobile App Security Testing_ A Comprehensive Guide.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
The Rise and Fall of 3GPP – Time for a Sabbatical?
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Approach and Philosophy of On baking technology
Spectroscopy.pptx food analysis technology
Electronic commerce courselecture one. Pdf
Programs and apps: productivity, graphics, security and other tools
cuic standard and advanced reporting.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
20250228 LYD VKU AI Blended-Learning.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
The AUB Centre for AI in Media Proposal.docx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...

Programmation Orientée Protocole {Cocoaheads Montpellier}

Editor's Notes

  • #5: L’héritage c’est génial. On a des méthodes ou des propriétés dans des classes, et les classes enfants en bénéficient. Elles peuvent les surcharger pour redéfinir leur implémentation.