SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
L’environnement du
développement mobile
iOS & Android
Omer Ozkul / Christopher Saez
Juillet 2015 - Mis à jour Janvier 2016
LinkValue
#TheGreatPlaceToGeek
Sommaire
• Vue d’ensemble des deux écosystèmes
• La plateforme iOS
• le SDK iOS
• Gestionnaire de dépendances CocoaPods
• Les langages utilisés sur iOS (Application natives)
• La plateforme Android
• SDK Android
• Android : une plateforme pensé pour tous les périphériques
• Annexes
• Auteurs
Vue d’ensemble des
deux écosystèmes
iOS
• Initialement iPhone OS, crée en 2007
• Dernière version stable iOS 9.2, iOS 9.3 en bêta
• Utilisé sur iPhone, iPod, iPad, Apple tv(fork iOS5),
Apple Watch(fork iOS 8) voiture (iOS in the Car)
• 1,4M d’application disponible dont 700.000
adaptées iPad.
• 14% de pdm (2ème acteur)
iOS
iOS très peu fragmenté.
Tailles d’écrans relativement
fragmenté depuis 2014 avec
la gamme iPhone6, Apple
Watch et désormais
AppleTV
Android
• Android Open Source Project + Services(Google,
Samsung ou les forks chinois)
• Crée en 2008 et racheté par Google
• 1 milliard de dispositifs activés l’année dernière
• Se taille la part du lion (+80% pdm)
• Actuellement en version 6.0.
• Présent sur tous les périphériques, y compris dans les
frigos connectés, les set-top-box, les lunettes…
Android
Android OS relativement
fragmenté.
Tailles d’écrans beaucoup
fragmentées.
2.3 4.0 4,1-4,2-4,3
4.4 5,0-5,1 6.0
La plateforme iOS
Le SDK iOS
SDK iOS
L’IDE Xcode
• Crée en 2003
• Développé par Apple seulement sur MacOSX.
• Regroupe l’Interface builder pour faire les UI, Project
Builder pour la partie code et configuration du projet,
automator, test unitaires, profiling et déploiement
d’applications.
• Regroupe toutes les frameworks pour le développement
d’applications Mac OSX, iOS, WatchOS et TvOS
• Automatisable en ligne de commande via les command
line tools du SDK.
• Alternative: AppCode (par JetBrains)
Aperçu de project builder
Aperçu d’interface builder
SDK iOS
Le simulateur
Xcode - gestionnaire de
dépendances CocoaPods
• Crée en Sept 2011, Open Source
• En version 0.39.
• La plus grande communauté
• Gestionnaire alternatifs: Xcode Maven, Xcode
Gradle, Carthage (Swift)
Les langages utilisés
(Applications natives)
Objective-c et Swift
• Objective-c
• Crée en 1983 (pas très moderne).
• Extension du C et inspiré de SmallTalk.
• Orienté objet.
• Swift
• Crée en 2014 et OpenSource depuis fin 2015 (Swift V2).
• Plus moderne (plus de headers, typage statique)
• Supporte le paradigme fonctionnel nativement.
• Interopérabilité avec Objective-c.
• Pas mature pour des gros projets (Swift v2 tend à l’être)
La plateforme Android
Les IDE Android
Eclipse
• Lourd, vieux, plante
• Officiellement abandonné par Google depuis
Android Lollipop
Android Studio
• Version stable depuis Android Lollipop
• Moderne, complétion plus puissante
• Socle Intellij (phpstorm, pycharm, etc…)
• Edition d’interface plus moderne qu’Eclipse.
• Intégration native repo maven (équivalent de
cocoapods ou composer)
Le SDK Android
Composition du SDK
• IDE
• Les API Android, la bibliothèque JAVA standard
• Les commandes line tools
• Le NDK (native développement kit: api C/C++)
• Les outils (Debug management system, automatisation de
test d’interface, profileur d’interface, simulateur, chrome
webtools)
Un développement
pensé pour tous les
périphériques
Une multitude de
périphérique de toutes tailles
• Tailles d’écran fragmentés (moins maintenant
qu’avant)
• Versions fragmentés: 4.0, 4.1, 4.2, 4.3, 4.4, 5.0, 5.1, 6.
• Résolutions différentes(HD 4 sur nexus6, HD3 nexus
5, s4, HD sur tablette, semi HD sur S2, MD et LD sur
support écran embarqué
• Supports différents: Montres, lunettes, telephones,
phablettes, tablettes, frigo…
Une interface pour tous les
devices
• Le SDK Android a été pensé pour que les
développeurs créent facilement une interface pour
tous les devices.
• Possibilité de faire une UI pour une taille d’écran
spécifique sans écrire de code avec un ciblage
des media queries très précis (exemple: UI
adaptée pour un écran de 500x366 dans la nuit en
paysage sur un en français Android 4.3)
Les contraintes du
développement mobile
• Temps de compilation qui augmente avec la taille du projet (réduit sous Android studio
2.0 avec Instant run)
• Développement et test pour beaucoup de périphériques.
• iOS
• Configuration du projet(fichier de conf compliqué, certificat de développement,
gestion du compte, certificat pour le push, passbook).
• Durée de validation (15j), rejet aléatoire de la validation.
• Android
• IDE ralentit sur les gros projets à cause de la complétion (trop) puissante.
• l’environnement trop fragmenté pour des tests recouvrant 100% du parc.
• Choix techniques cruciaux: natif, hybride ou transpilé.
Annexes
• https://developer.apple.com/support/app-store/
• https://itunes.apple.com/fr/app/xcode/
id497799835?mt=12
• http://developer.android.com/about/dashboards/
index.html
• http://developer.android.com/sdk/index.html
Auteurs
• Christopher Saez: Mobile Team Leader @Linkvalue

@saezChristopher; christopher.saez@link-value.fr
• Omer Ozkul: Technic partner développeur iOS
@LinkValue

omer.ozkul@link-value.fr

Weitere ähnliche Inhalte

Was ist angesagt?

P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à androidLilia Sfaxi
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileLilia Sfaxi
 
Présentation iBeacon (cocoaheads toulouse)
Présentation iBeacon (cocoaheads toulouse)Présentation iBeacon (cocoaheads toulouse)
Présentation iBeacon (cocoaheads toulouse)Arnaud Boudou
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariZenika
 
L'intégration continue avec Bitrise
L'intégration continue avec BitriseL'intégration continue avec Bitrise
L'intégration continue avec BitriseCocoaHeads France
 
iPhone & iOS - Introduction au développement d'applications natives
iPhone & iOS - Introduction au développement d'applications nativesiPhone & iOS - Introduction au développement d'applications natives
iPhone & iOS - Introduction au développement d'applications nativesFabrice Delhoste
 
Conférence windows phone 7
Conférence windows phone 7Conférence windows phone 7
Conférence windows phone 7Arnaud Auroux
 
Développer avec Visual Studio et TFS 2012 ses applications Windows Store
Développer avec Visual Studio et TFS 2012 ses applications Windows StoreDévelopper avec Visual Studio et TFS 2012 ses applications Windows Store
Développer avec Visual Studio et TFS 2012 ses applications Windows StoreMicrosoft
 
Tk04 Iphone Vs Android Fr
Tk04 Iphone Vs Android FrTk04 Iphone Vs Android Fr
Tk04 Iphone Vs Android FrValtech
 
Présentation retour d'experience sur l'application MyLittleParis
Présentation retour d'experience sur l'application MyLittleParisPrésentation retour d'experience sur l'application MyLittleParis
Présentation retour d'experience sur l'application MyLittleParisCocoaHeads France
 
Booster votre application Windows Phone 8
Booster votre application Windows Phone 8Booster votre application Windows Phone 8
Booster votre application Windows Phone 8Microsoft
 
Wygday 2011 - Introduction à HTML5
Wygday 2011 - Introduction à HTML5Wygday 2011 - Introduction à HTML5
Wygday 2011 - Introduction à HTML5wyggio
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologiewyggio
 
Techdays 2012 - Développement Web Mobile avec Microsoft
Techdays 2012 - Développement Web Mobile avec MicrosoftTechdays 2012 - Développement Web Mobile avec Microsoft
Techdays 2012 - Développement Web Mobile avec Microsoftwyggio
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobilesAbdoulaye Dieng
 
Développement Cross-Platform avec Titanium Mobile
Développement Cross-Platform avec Titanium MobileDéveloppement Cross-Platform avec Titanium Mobile
Développement Cross-Platform avec Titanium MobileXavier Lacot
 
iPhone/iPad开发讲座 第二讲 iPhone用户界面设计
iPhone/iPad开发讲座 第二讲 iPhone用户界面设计iPhone/iPad开发讲座 第二讲 iPhone用户界面设计
iPhone/iPad开发讲座 第二讲 iPhone用户界面设计Hao Peiqiang
 

Was ist angesagt? (20)

P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à android
 
Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119Paug aosp ice-creamsandwich_20120119
Paug aosp ice-creamsandwich_20120119
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement Mobile
 
Présentation iBeacon (cocoaheads toulouse)
Présentation iBeacon (cocoaheads toulouse)Présentation iBeacon (cocoaheads toulouse)
Présentation iBeacon (cocoaheads toulouse)
 
What’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. FornaciariWhat’s Next Replay! Lyon 2011 - F. Fornaciari
What’s Next Replay! Lyon 2011 - F. Fornaciari
 
L'intégration continue avec Bitrise
L'intégration continue avec BitriseL'intégration continue avec Bitrise
L'intégration continue avec Bitrise
 
Native script
Native scriptNative script
Native script
 
iPhone & iOS - Introduction au développement d'applications natives
iPhone & iOS - Introduction au développement d'applications nativesiPhone & iOS - Introduction au développement d'applications natives
iPhone & iOS - Introduction au développement d'applications natives
 
Conférence windows phone 7
Conférence windows phone 7Conférence windows phone 7
Conférence windows phone 7
 
Développer avec Visual Studio et TFS 2012 ses applications Windows Store
Développer avec Visual Studio et TFS 2012 ses applications Windows StoreDévelopper avec Visual Studio et TFS 2012 ses applications Windows Store
Développer avec Visual Studio et TFS 2012 ses applications Windows Store
 
Tk04 Iphone Vs Android Fr
Tk04 Iphone Vs Android FrTk04 Iphone Vs Android Fr
Tk04 Iphone Vs Android Fr
 
Présentation retour d'experience sur l'application MyLittleParis
Présentation retour d'experience sur l'application MyLittleParisPrésentation retour d'experience sur l'application MyLittleParis
Présentation retour d'experience sur l'application MyLittleParis
 
Booster votre application Windows Phone 8
Booster votre application Windows Phone 8Booster votre application Windows Phone 8
Booster votre application Windows Phone 8
 
Wygday 2011 - Introduction à HTML5
Wygday 2011 - Introduction à HTML5Wygday 2011 - Introduction à HTML5
Wygday 2011 - Introduction à HTML5
 
HTML5 W3C Conference Euratechnologie
HTML5 W3C Conference EuratechnologieHTML5 W3C Conference Euratechnologie
HTML5 W3C Conference Euratechnologie
 
Techdays 2012 - Développement Web Mobile avec Microsoft
Techdays 2012 - Développement Web Mobile avec MicrosoftTechdays 2012 - Développement Web Mobile avec Microsoft
Techdays 2012 - Développement Web Mobile avec Microsoft
 
Panorama des Technologies mobiles
Panorama des Technologies mobilesPanorama des Technologies mobiles
Panorama des Technologies mobiles
 
Développement Cross-Platform avec Titanium Mobile
Développement Cross-Platform avec Titanium MobileDéveloppement Cross-Platform avec Titanium Mobile
Développement Cross-Platform avec Titanium Mobile
 
iPhone/iPad开发讲座 第二讲 iPhone用户界面设计
iPhone/iPad开发讲座 第二讲 iPhone用户界面设计iPhone/iPad开发讲座 第二讲 iPhone用户界面设计
iPhone/iPad开发讲座 第二讲 iPhone用户界面设计
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 

Andere mochten auch

Scrum for IT Offshore & IT Outsourcing in Asia
Scrum for IT Offshore & IT Outsourcing in AsiaScrum for IT Offshore & IT Outsourcing in Asia
Scrum for IT Offshore & IT Outsourcing in Asiapatrickvandun
 
Why do we need a Scrum Master?
Why do we need a Scrum Master?Why do we need a Scrum Master?
Why do we need a Scrum Master?Qualitest
 
Offshore Outsourcing with Scrum
Offshore Outsourcing with Scrum Offshore Outsourcing with Scrum
Offshore Outsourcing with Scrum Alexey Krivitsky
 
Offshore Scrum Teams
Offshore Scrum TeamsOffshore Scrum Teams
Offshore Scrum TeamsTai Huynh
 
Agile ir Lean metodikų taikymas naudojantis Eylean board programa
Agile ir Lean metodikų taikymas naudojantis Eylean board programaAgile ir Lean metodikų taikymas naudojantis Eylean board programa
Agile ir Lean metodikų taikymas naudojantis Eylean board programaVidas Vasiliauskas
 
iOS - Overview of Mobile Application Developement
iOS - Overview of Mobile Application Developement iOS - Overview of Mobile Application Developement
iOS - Overview of Mobile Application Developement Rohit214
 
Why both scrum and lean in dist dev 07092010
Why both scrum and lean in dist dev 07092010Why both scrum and lean in dist dev 07092010
Why both scrum and lean in dist dev 07092010Mads Troels Hansen
 
What's new in iOS 9 ?
What's new in iOS 9 ?What's new in iOS 9 ?
What's new in iOS 9 ?Phonevalley
 
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Scrum gathering Paris 2013 -  test automation strategy for Scrum ProjectsScrum gathering Paris 2013 -  test automation strategy for Scrum Projects
Scrum gathering Paris 2013 - test automation strategy for Scrum ProjectsEliane Collins
 
JFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à ZJFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à ZCedric GAUTIER
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016kyon mm
 
Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"Nazih Heni
 
Android vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignAndroid vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignJeremy Johnson
 

Andere mochten auch (20)

Pas à pas Internet mobile sur iOS
Pas à pas Internet mobile sur iOSPas à pas Internet mobile sur iOS
Pas à pas Internet mobile sur iOS
 
Etude internet mobile
Etude internet mobileEtude internet mobile
Etude internet mobile
 
Scrum for IT Offshore & IT Outsourcing in Asia
Scrum for IT Offshore & IT Outsourcing in AsiaScrum for IT Offshore & IT Outsourcing in Asia
Scrum for IT Offshore & IT Outsourcing in Asia
 
Why do we need a Scrum Master?
Why do we need a Scrum Master?Why do we need a Scrum Master?
Why do we need a Scrum Master?
 
Offshore Outsourcing with Scrum
Offshore Outsourcing with Scrum Offshore Outsourcing with Scrum
Offshore Outsourcing with Scrum
 
Offshore Scrum Teams
Offshore Scrum TeamsOffshore Scrum Teams
Offshore Scrum Teams
 
Agile ir Lean metodikų taikymas naudojantis Eylean board programa
Agile ir Lean metodikų taikymas naudojantis Eylean board programaAgile ir Lean metodikų taikymas naudojantis Eylean board programa
Agile ir Lean metodikų taikymas naudojantis Eylean board programa
 
Agile in Offshore development
Agile in Offshore developmentAgile in Offshore development
Agile in Offshore development
 
iOS - Overview of Mobile Application Developement
iOS - Overview of Mobile Application Developement iOS - Overview of Mobile Application Developement
iOS - Overview of Mobile Application Developement
 
Outsourcing With Agile
Outsourcing With AgileOutsourcing With Agile
Outsourcing With Agile
 
Why both scrum and lean in dist dev 07092010
Why both scrum and lean in dist dev 07092010Why both scrum and lean in dist dev 07092010
Why both scrum and lean in dist dev 07092010
 
What's new in iOS 9 ?
What's new in iOS 9 ?What's new in iOS 9 ?
What's new in iOS 9 ?
 
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
Scrum gathering Paris 2013 -  test automation strategy for Scrum ProjectsScrum gathering Paris 2013 -  test automation strategy for Scrum Projects
Scrum gathering Paris 2013 - test automation strategy for Scrum Projects
 
asiMOVE maxpoulet showcase
asiMOVE maxpoulet showcaseasiMOVE maxpoulet showcase
asiMOVE maxpoulet showcase
 
JFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à ZJFTL2015 - Tester une application mobile de A à Z
JFTL2015 - Tester une application mobile de A à Z
 
Sous-traiter avantages et inconvénients
Sous-traiter avantages et inconvénientsSous-traiter avantages et inconvénients
Sous-traiter avantages et inconvénients
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
 
Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"Présentation du l'application Mobile "Passion Beauté 1.0"
Présentation du l'application Mobile "Passion Beauté 1.0"
 
Le Digital marketing
Le Digital marketingLe Digital marketing
Le Digital marketing
 
Android vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignAndroid vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and Design
 

Ähnlich wie L’environnement du développement mobile iOS & Android

Passage aux applications mobiles
Passage aux applications mobilesPassage aux applications mobiles
Passage aux applications mobilesneuros
 
Développement mobile cross-plateform
Développement mobile cross-plateformDéveloppement mobile cross-plateform
Développement mobile cross-plateformStefan Cosquer
 
Challenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - IntroductionChallenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - IntroductionJonathan Le Guellec
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipseESPRIT
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.DocDoku
 
Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android AbidjanBacely YoroBi
 
CocoaHeads Rennes #14: Programmation Responsive par Celedev
CocoaHeads Rennes #14: Programmation Responsive par CeledevCocoaHeads Rennes #14: Programmation Responsive par Celedev
CocoaHeads Rennes #14: Programmation Responsive par CeledevCocoaHeadsRNS
 
Let's Go dans l'univers mobile multiplateforme avec Xamarin
Let's Go dans l'univers mobile multiplateforme avec Xamarin Let's Go dans l'univers mobile multiplateforme avec Xamarin
Let's Go dans l'univers mobile multiplateforme avec Xamarin Christian Hissibini
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open sourceKorteby Farouk
 
Tech conf1 développement_natif_applications_mobiles
Tech conf1 développement_natif_applications_mobilesTech conf1 développement_natif_applications_mobiles
Tech conf1 développement_natif_applications_mobilesTelecomValley
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobileHaifa Chorfi
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesMichael Laguerre
 
Développer des applications mobiles natives cross plateformes
Développer des applications mobiles natives cross plateformesDévelopper des applications mobiles natives cross plateformes
Développer des applications mobiles natives cross plateformesLilian Alvarez
 

Ähnlich wie L’environnement du développement mobile iOS & Android (20)

Passage aux applications mobiles
Passage aux applications mobilesPassage aux applications mobiles
Passage aux applications mobiles
 
Développement mobile cross-plateform
Développement mobile cross-plateformDéveloppement mobile cross-plateform
Développement mobile cross-plateform
 
Challenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - IntroductionChallenge Exakis - Applications universelles - Introduction
Challenge Exakis - Applications universelles - Introduction
 
La Rochelle workshop 2016
La Rochelle workshop 2016La Rochelle workshop 2016
La Rochelle workshop 2016
 
Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2
 
Gui android eclipse
Gui android eclipseGui android eclipse
Gui android eclipse
 
Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.
 
Hackathon Android Abidjan
Hackathon Android  AbidjanHackathon Android  Abidjan
Hackathon Android Abidjan
 
CocoaHeads Rennes #14: Programmation Responsive par Celedev
CocoaHeads Rennes #14: Programmation Responsive par CeledevCocoaHeads Rennes #14: Programmation Responsive par Celedev
CocoaHeads Rennes #14: Programmation Responsive par Celedev
 
Let's Go dans l'univers mobile multiplateforme avec Xamarin
Let's Go dans l'univers mobile multiplateforme avec Xamarin Let's Go dans l'univers mobile multiplateforme avec Xamarin
Let's Go dans l'univers mobile multiplateforme avec Xamarin
 
Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4Support developpement applications mobiles avec ionic v3 et v4
Support developpement applications mobiles avec ionic v3 et v4
 
Developpement mobile vs open source
Developpement mobile vs open sourceDeveloppement mobile vs open source
Developpement mobile vs open source
 
Tech conf1 développement_natif_applications_mobiles
Tech conf1 développement_natif_applications_mobilesTech conf1 développement_natif_applications_mobiles
Tech conf1 développement_natif_applications_mobiles
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Java vs .Net
Java vs .NetJava vs .Net
Java vs .Net
 
Meetup sencha
Meetup senchaMeetup sencha
Meetup sencha
 
Ch1. Développement mobile
Ch1. Développement mobileCh1. Développement mobile
Ch1. Développement mobile
 
Tech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobilesTech Conf n°1 - Développement natif d'applications mobiles
Tech Conf n°1 - Développement natif d'applications mobiles
 
Développer des applications mobiles natives cross plateformes
Développer des applications mobiles natives cross plateformesDévelopper des applications mobiles natives cross plateformes
Développer des applications mobiles natives cross plateformes
 
android.pdf
android.pdfandroid.pdf
android.pdf
 

L’environnement du développement mobile iOS & Android

  • 1. L’environnement du développement mobile iOS & Android Omer Ozkul / Christopher Saez Juillet 2015 - Mis à jour Janvier 2016 LinkValue #TheGreatPlaceToGeek
  • 2. Sommaire • Vue d’ensemble des deux écosystèmes • La plateforme iOS • le SDK iOS • Gestionnaire de dépendances CocoaPods • Les langages utilisés sur iOS (Application natives) • La plateforme Android • SDK Android • Android : une plateforme pensé pour tous les périphériques • Annexes • Auteurs
  • 4. iOS • Initialement iPhone OS, crée en 2007 • Dernière version stable iOS 9.2, iOS 9.3 en bêta • Utilisé sur iPhone, iPod, iPad, Apple tv(fork iOS5), Apple Watch(fork iOS 8) voiture (iOS in the Car) • 1,4M d’application disponible dont 700.000 adaptées iPad. • 14% de pdm (2ème acteur)
  • 5. iOS iOS très peu fragmenté. Tailles d’écrans relativement fragmenté depuis 2014 avec la gamme iPhone6, Apple Watch et désormais AppleTV
  • 6. Android • Android Open Source Project + Services(Google, Samsung ou les forks chinois) • Crée en 2008 et racheté par Google • 1 milliard de dispositifs activés l’année dernière • Se taille la part du lion (+80% pdm) • Actuellement en version 6.0. • Présent sur tous les périphériques, y compris dans les frigos connectés, les set-top-box, les lunettes…
  • 7. Android Android OS relativement fragmenté. Tailles d’écrans beaucoup fragmentées. 2.3 4.0 4,1-4,2-4,3 4.4 5,0-5,1 6.0
  • 10. SDK iOS L’IDE Xcode • Crée en 2003 • Développé par Apple seulement sur MacOSX. • Regroupe l’Interface builder pour faire les UI, Project Builder pour la partie code et configuration du projet, automator, test unitaires, profiling et déploiement d’applications. • Regroupe toutes les frameworks pour le développement d’applications Mac OSX, iOS, WatchOS et TvOS • Automatisable en ligne de commande via les command line tools du SDK. • Alternative: AppCode (par JetBrains)
  • 14. Xcode - gestionnaire de dépendances CocoaPods • Crée en Sept 2011, Open Source • En version 0.39. • La plus grande communauté • Gestionnaire alternatifs: Xcode Maven, Xcode Gradle, Carthage (Swift)
  • 16. Objective-c et Swift • Objective-c • Crée en 1983 (pas très moderne). • Extension du C et inspiré de SmallTalk. • Orienté objet. • Swift • Crée en 2014 et OpenSource depuis fin 2015 (Swift V2). • Plus moderne (plus de headers, typage statique) • Supporte le paradigme fonctionnel nativement. • Interopérabilité avec Objective-c. • Pas mature pour des gros projets (Swift v2 tend à l’être)
  • 19. Eclipse • Lourd, vieux, plante • Officiellement abandonné par Google depuis Android Lollipop
  • 20. Android Studio • Version stable depuis Android Lollipop • Moderne, complétion plus puissante • Socle Intellij (phpstorm, pycharm, etc…) • Edition d’interface plus moderne qu’Eclipse. • Intégration native repo maven (équivalent de cocoapods ou composer)
  • 22. Composition du SDK • IDE • Les API Android, la bibliothèque JAVA standard • Les commandes line tools • Le NDK (native développement kit: api C/C++) • Les outils (Debug management system, automatisation de test d’interface, profileur d’interface, simulateur, chrome webtools)
  • 23. Un développement pensé pour tous les périphériques
  • 24. Une multitude de périphérique de toutes tailles • Tailles d’écran fragmentés (moins maintenant qu’avant) • Versions fragmentés: 4.0, 4.1, 4.2, 4.3, 4.4, 5.0, 5.1, 6. • Résolutions différentes(HD 4 sur nexus6, HD3 nexus 5, s4, HD sur tablette, semi HD sur S2, MD et LD sur support écran embarqué • Supports différents: Montres, lunettes, telephones, phablettes, tablettes, frigo…
  • 25. Une interface pour tous les devices • Le SDK Android a été pensé pour que les développeurs créent facilement une interface pour tous les devices. • Possibilité de faire une UI pour une taille d’écran spécifique sans écrire de code avec un ciblage des media queries très précis (exemple: UI adaptée pour un écran de 500x366 dans la nuit en paysage sur un en français Android 4.3)
  • 26. Les contraintes du développement mobile • Temps de compilation qui augmente avec la taille du projet (réduit sous Android studio 2.0 avec Instant run) • Développement et test pour beaucoup de périphériques. • iOS • Configuration du projet(fichier de conf compliqué, certificat de développement, gestion du compte, certificat pour le push, passbook). • Durée de validation (15j), rejet aléatoire de la validation. • Android • IDE ralentit sur les gros projets à cause de la complétion (trop) puissante. • l’environnement trop fragmenté pour des tests recouvrant 100% du parc. • Choix techniques cruciaux: natif, hybride ou transpilé.
  • 27. Annexes • https://developer.apple.com/support/app-store/ • https://itunes.apple.com/fr/app/xcode/ id497799835?mt=12 • http://developer.android.com/about/dashboards/ index.html • http://developer.android.com/sdk/index.html
  • 28. Auteurs • Christopher Saez: Mobile Team Leader @Linkvalue
 @saezChristopher; christopher.saez@link-value.fr • Omer Ozkul: Technic partner développeur iOS @LinkValue
 omer.ozkul@link-value.fr