Vous êtes sur la page 1sur 6

DEVELOPPEMENT MOBILE

I. Développement d’App

II. Développement front-end et back-end

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)

G. React Native (JavaScript)

H. ionic (HTML, CSS, JavaScript)

I. Xamarin (.NET and C#)


I. Développement d’App
1. Cahier des charges
2. Conception
3. Développement
4. Test
5. Déploiement
6. Maintenance

II. Développement front-end et back-end

1. Qu'est-ce que le front-end ?


Le front end est la couche regroupant tout le logiciel ou le hardware faisant partie d’une interface
utilisateur. Les humains ou les utilisateurs numériques interagissent directement avec divers aspects du
front end d’un programme. Ceci englobe les données entrées par l’utilisateur, les boutons, les programmes,
les sites web et bien d’autres éléments. La plupart de ces éléments sont conçus par des professionnels de
l’expérience utilisateur (UX Designers) pour être à la fois accessibles, plaisants et simples d’utilisation.
Le développement front-end consiste à créer des applications, des logiciels ou des sites web dont le rendu
s’effectue côté client. Dans le domaine du développement web, les développeurs utilisent principalement
leur HTML, le CSS et le JavaScript.
Ils utilisent aussi des frameworks client-side comme Angular, React, Stencil et Vue. Toutefois, les
applications rendues côté client reposent malgré tout sur des services et des APIs exécutés sur le Cloud ou
sur des serveurs distants back-end.
Il existe différents rôles et métiers front-end. Le développeur front-end crée des logiciels ou des sites web
sans aucun développement back-end. Un site web ainsi créé est un site statique. Il peut s’agir par exemple
d’un site web pour un restaurant ou un salon de coiffure.
Un tel site ne requiert aucun stockage d’informations sur une base de données. Les pages restent toujours
identiques. Le développeur web front-end peut travailler avec HMTL, CSS et JavaScript.
Le designers d’interface utilisateur (UI) et d’expérience utilisateur (UX) sont également développeurs front-
end. Un UI designer est un concept visuel qui ne se charge généralement pas de l’implémentation, mais
connaît HTML et CSS pour pouvoir communiquer ses idées aux développeurs front-end. Un UX Designer
travaille sur le front-end, étudie la manière dont les internautes utilisent les sites web.

2. Qu'est-ce que le back-end ?


Le back end désigne les parties du code d’une application ou d’un logiciel permettant son fonctionnement
et inaccessibles à l’utilisateur. On le désigne aussi sous le nom de couche d’accès aux données d’un logiciel
ou d’une machine. Il inclut toutes les fonctionnalités nécessitant un accès et une navigation par des moyens
numériques.
Le développement back-end concerne les applications dont le rendu s’effectue en server-side. Les
développeurs back-end créent aussi des services traitant la business logic et accédant aux ressources telles
que des bases de données, des serveurs de fichiers ou des services Cloud. Ces services sont la colonne
vertébrale de toute application.
Les développeurs web back-end utilisent les mêmes blocs de construction que les développeurs front-end :
HTML, CSS et JavaScript. Ils utilisent aussi des stacks de logiciels englobant des systèmes d’exploitation, des
frameworks, des serveurs web, des langages et des APIs de programmation.
Ces outils sont utilisés pour le rendu server-side de sites web et d’applications, et pour créer des services
que d’autres applications peuvent exploiter. Parmi les stacks les plus connus, on peut citer .NET, MEAN et
LAMP. Chacun utilise un langage de programmation tel que C#, JavaScript, Java, Go, Python ou PHP.

3. Qu'est-ce que le développement full-stack ?


Un développeur n’est pas forcément contraint de choisir entre front-end et back-end. Il est possible d’utiliser
les deux en tant que développeur full-stack.

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.

D. Pourquoi utiliser un SDK ?


Il permet aux développeurs de logiciels de créer des applications propres à cette plateforme, ce système ou
ce langage de programmation. C'est un peu comme une boîte à outils, ou comme le sachet d'outils fourni
avec les éléments d'un meuble à assembler soi-même, mais pour développer une application. Il renferme
tous les composants, ou outils de développement, nécessaires pour effectuer la tâche, et son contenu varie
selon le fabricant.
Un SDK de base comprend un compilateur, un débogueur et des interfaces de programmation d'application
(API). Il peut également contenir tout ou partie des éléments suivants :

• 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

Vous aimerez peut-être aussi