Académique Documents
Professionnel Documents
Culture Documents
I. Développement d’App
III. Plateforme
IV. Native
A. Objective-C
B. java
C. Swift (ios)
D. Kotlin (Android)
E. Outils
V. cross-platform (Framework/SDK)
F. Flutter (Dart)
4. API
En informatique, une interface de programmation d’application ou interface de programmation
applicative, souvent désignée par le terme API pour « Application Programming Interface », est un ensemble
normalisé de classes, de méthodes, de fonctions et de constantes qui sert de façade par laquelle un logiciel
offre des services à d'autres logiciels. Elle est offerte par une bibliothèque logicielle ou un service web, le
plus souvent accompagnée d'une description qui spécifie comment des programmes « consommateurs »
peuvent se servir des fonctionnalités du programme « fournisseur ».
On parle d'API à partir du moment où une entité informatique cherche à agir avec ou sur un système tiers
et que cette interaction se fait de manière normalisée en respectant les contraintes d'accès définies par le
système tiers. On dit alors que le système tiers « expose une API ».
III. Plateforme
• IOS
• Symbian OS
• Android OS
• Windows Mobile (Windows Phone)
• BlackBerry
IV. Native
A. Objective-C (ios)
Le premier système d'exploitation à utiliser Objective-C fut NeXTSTEP (plus tard renommé OPENSTEP), de la
société NeXT, fondée par Steve Jobs.
Objective-C est beaucoup utilisé sur Macintosh, notamment pour les API Cocoa de Mac OS X et, plus
récemment, pour le développement d'applications iPhone, le smartphone d'Apple.
B. Swift (ios)
Swift est un langage de programmation objet compilé, multi-paradigmes, qui se veut simple, performant et
sûr. Il est développé en open source.
Le projet de développement de Swift est géré par Apple, qui en est également le principal contributeur ;
mais de nombreux membres de la communauté Swift, ainsi que d'autres acteurs, tels que Google et IBM,
participent également à son développement. Swift est officiellement supporté sur les systèmes
d'exploitation Ubuntu, iOS, macOS, watchOS et tvOS. Un support non officiel (géré par la communauté)
existe pour d'autres plateformes Linux, telles que Debian et Fedora.
Swift dispose d'une interopérabilité avec le langage C ainsi qu'avec l'Objective-C sur les plateformes d'Apple.
Le compilateur de Swift utilise LLVM pour la génération du code machine.
C. Java (Android)
Java est le langage natif dédié à l’OS Android. Cette langue de programmation Android aide à créer une app
native. C’est le langage le plus populaire pour le développement sur systèmes embarqués et Android. Savoir
programmer avec ce langage natif ouvre des portes pour tout développeur d'applications mobiles. Il a facilité
le développement d’applications natives pour plus de 3 milliards de smartphones.
Langage open source, Java est partagé par une très grande communauté de développeurs. Techniquement,
le développement pour Android avec Java favorise l’accès aux fonctionnalités natives du smartphone. Les
applications pour Android spécifiquement développées mobilisent sans restriction le GPS, l’accéléromètre,
et bien d’autres features.
D. Kotlin (Android)
Kotlin est un langage de programmation orienté objet et fonctionnel, avec un typage dynamique qui permet
de compiler pour la machine virtuelle Java, JavaScript, et vers plusieurs plateformes en natif (grâce à LLVM).
Son développement provient principalement d'une équipe de programmeurs chez JetBrains basée à Saint-
Pétersbourg en Russie (son nom vient de l'île de Kotline, près de St. Pétersbourg).
Google annonce pendant la conférence Google I/O 2017 que Kotlin devient le second langage de
programmation officiellement pris en charge par Android3 après Java. Le 8 mai 2019, toujours lors de la
conférence Google I/O, Kotlin devient officiellement le langage de programmation voulu et recommandé par
le géant américain Google pour le développement des applications Android4.
Pivotal Software annonce le 4 janvier 2017 le support officiel de Kotlin sur la cinquième version du
Framework Spring.
E. Outils
1. Xcode
Xcode est un environnement de développement pour macOS, ainsi que pour iOS, watchOS et tvOS.
L'API Cocoa permet de programmer avec les langages suivants :
• Objective-C
• Ruby
• Swift (nouveau langage de programmation d'Apple présenté à la WWDC 2014).
Fourni avec toute une suite logicielle (graphiques, audio, etc.) pour développeurs et programmeurs, il
permet de créer des logiciels utilisant toutes les fonctionnalités de macOS et d'UNIX. Cet environnement
peut être obtenu gratuitement sur le Mac App Store.
2. Android Studio
Android Studio est un environnement de développement pour développer des applications mobiles
Android. Il est basé sur IntelliJ IDEA et utilise le moteur de production Gradle. Il peut être téléchargé sous
les systèmes d'exploitation Windows, macOS, Chrome OS et Linux2.
V. cross-platform (Framework)
A. Qu’est ce qu’un framework ?
Avant de nous pencher sur les frameworks utilisés dans le développement mobile, il est important de
comprendre ce qu’est un framework. En une phrase, un framework est une bibliothèque qui offre la
structure fondamentale requise pour créer des applications mobiles pour un environnement spécifique.
B. On peut classer une application mobile en 3 catégories :
Native App : Une application native/native générée est conçue spécifiquement pour une plateforme ou un
appareil en particulier.
Applications Web : Une application web est une application conçue pour fournir des pages web sur
différentes plateformes web peu importe l’appareil utilisé.
Applications hybrides : Une application hybride est une combinaison d’applications natives et d’applications
web, qui peut être développée pour n’importe quelle plateforme à partir d’une seule base de code.
C. SDK : définition
Un kit de développement logiciel (SDK) est un ensemble d'outils fourni avec une plateforme matérielle
(généralement), un système d'exploitation ou un langage de programmation.
• Documentation
• Bibliothèques
• Éditeurs
• Environnements de développement et/ou d'exécution
• Outils de test et d'analyse
• Pilotes
• Protocoles réseau
Un SDK doit inclure tous les composants dont un développeur a besoin afin de créer des applications pour
le produit en question et son écosystème. Certains SDK contiennent également un exemple de projet ou un
projet test de base pour démarrer le plus rapidement possible.
A. Flutter
B. React Native
C. ionic
D. Xamarin