Concepts et principes
généraux
CHAP I. CONCEPTS ET PRINCIPES GÉNÉRAUX
INTRODUCTION
- Le développement Mobile qu'est ce que c'est ?
- Différence entre le développement pour Ordinateur et le
développement Mobile
- Cycle de développement mobile
APPLICATIONS MOBILES
1. Définir Application mobile
2. Plateforme ou Système d'exploitation mobile
+ La plateforme ANDROID
+ La plateforme iOS
+ La plateforme WINDOWS OS
+ La différence entre les plateformes
+ La part du marché des Systèmes d'exploitation mobile
FRAMEWORK IONIC
+ C'est quoi Ionic Framework ?
+ A Quoi çà sert ?
+ Développement mobile avec Ionic Framework
ENVIRONNEMENT DE DEVELOPPEMENT
Le Développement mobile :
Est un processus qui réunit plusieurs étapes pour développer un logiciel destiné aux
appareils mobile (Smartphone, Tablette, Point de vente, assistants numériques, etc);
Les logiciels issues de ce développement sont destiné pour les terminaux mobiles;
Schéma du
cycle de
développement
Agile
TERMINAUX MOBILE ET APPAREILS INTELLIGENTS (ORIGINE)
Appareil intelligent :
est un dispositif électronique permettant de communiquer
avec d’autres appareils ou réseaux.
Utilise différents moyens (protocoles) de communication
(Wifi, Bluetooth, NFC, 3G, LiFi);
Etablit des interactions avec son utilisateur;
Téléphones intelligents, TV intelligentes, montres intelligentes, véhicules
intelligents, bracelets intelligents, hauts parleurs intelligents, point de
vente intelligents.
TERMINAUX MOBILE ET APPAREILS INTELLIGENTS
SMARTPHONE
Est un terminal mobile intelligent;
La saisie et l’utilisation se fait sur un écran tactile (de manière
générale);
Peut exécuter un ou plusieurs logiciels;
Remplit également les fonctionnalités d’un assistant numérique
personnel;
FONCTIONNALITES
Agenda, Bureautique, la géolocalisation, Multimédia, Dictaphone, la
cartographie, l’accéléromètre, la reconnaissance vocale, la synthèse
vocale, reconnaissance biométrique, Caméra
TERMINAUX MOBILE ET APPAREILS INTELLIGENTS
SMARTPHONE (HISTOIRE)
Le premier Smartphone est apparue en 1994, « Le Simon
d’IBM »
SMARTPHONE
(La révolution des Smartphones)
Android : 73,11%
iOS : 20,34%
Windows : 0,71%
Nokia : 0,53%
Blackberry OS : 0,2%
Autres : 5,11%
APPLICATIONS MOBILES
HAL/HIDL : langage de
Description d’interface.
N’est plus utilisé depuis
Android 8+
PLATEFORME MOBILE ANDROID (ARCHITECTURE)
PLATEFORME MOBILE ANDROID (ARCHITECTURE)
A Partir de la version
ANDROID 5.0 Api
level 21
PLATEFORME MOBILE ANDROID (VERSIONING)
APP WEB est une application qui s’ouvre à partir d’un navigateur (ou
vue) web;
APP WEB se base sur les technologies web (HTML5, CSS3, etc) pour
sa conception ;
APP WEB peuvent être accessible depuis n’importe quel support
mobile disposant d’un navigateur Web;
TYPES D’APPLICATION MOBILE (HYBRIDE)
APP HYBRIDE est une application qui utilise les technologies web pour
fonctionner comme application native sur un appareil mobile.
APP HYBRIDE utilise un navigateur (ou vue) web pour s’ouvrir sur un
appareil;
Elle utilise les fonctionnalités native des plateformes mobile (Caméra, Localisation,
Fichiers, Contacts, Téléphone, et bien d’autres);
Tout comme l’app native, elle s’installe depuis une boutique d’applications
(PlayStore, Apps Store, MboaStore, etc.);
Gain en temps pour le développement d’une application mobile (à la fois Android
et iOS) : développement multi plateformes
TYPES D’APPLICATION MOBILE (HYBRIDE EVOLUTION)
Au départ présentait des performances moindre et n’était adopté par la
communauté des développeurs et même des utilisateurs;
Le développement hybride est la résultante de la multiplicité des
appareils mobiles ainsi que de la complexité des applications natives;
De plus en plus les entreprises réclament des applications hybrides car
elles souhaitent optimiser le temps d’acquisition et réduire leurs coûts;
D’autres part, la technologie WebView (utilisé par les apps hybrides) a
beaucoup évolué entre 2007 et 2021 au point où certaines
fonctionnalités de l’appareil sont accessible depuis le WebView
(Localisation, Caméra, Microphone, Géolocalisation par exemple).
Android System Webview (Android) et WKWebView (iOS)
NATIVE VS HYBRIDE
Native Hybride
Langages utilisés Java, Swift, Objectif-C, HTML, CSS, JavaScript
Portabilité Plateforme spécifique (Android Multi plateforme (Android et iOS)
ou iOS)
Fonctionnalités de l’appareil Accès plus rapide Accès moins rapide
Appareils mobile de marques Appareils mobile de marque Appareil mobile de marques dédiés
diversifiés Apple (en accord avec Microsoft)
Durée de développement Plus longue (à la fois Android et Courte
iOS)
Rapidité Plus rapide rapide
Expérience utilisateur - -
Développement et Tests Test à partir un Store ou via un Test à partir d’un navigateur web
appareil mobile
DEVELOPPEMENT MOBILE : FRAMEWORKS
Java;
Objectif-C, Swift;
Python
Dart;
JavaScript,TypeScript;
C#;
Kotlin;
HTML5, SCSS, CSS;
LE FRAMEWORK IONIC (PRESENTATION)
- Avant la création d’un projet Ionic, nous allons installer le Framework Ionic (NB: l’installation se fait via
l’invite de commande);
- npm install -g @ionic/cli
Une fois Ionic installé, nous allons procéder comme suit pour créer notre 1er projet Ionic.Vous avez 2
choix ;
1er choix : $ ionic start (se laisser guider par l’assistant)
2e choix : $ ionic start <nom_projet> <template>, où template = blank, sidemenu ou tabs
Ensuite exécutez votre projet via la cmd: $ ionic serve (cette commande est executée à la racine du
projet)
LE FRAMEWORK IONIC: STRUCTURE DE VOTRE PROJET (ANGULAR)
Les dossier à ne pas toucher node_modules, e2e, et www;
Le fichier angular.json (définie les séquences nécessaire pour
l’execution d’un projet);
Le fichier capacitor.config.json (fichier qui définit les
préférences de votre application);
Le fichier package.json (il réunit l’ensemble des informations
sur la configuration de votre projet)
Le dossier src (c’est dans le dossier que nous allons le plus
travailler il contient l’ensemble des codes sources et assets)
Le dossier resources (il contient les icones de lancement de
l’application et les images splashscreen)
LE FRAMEWORK IONIC: STRUCTURE DE VOTRE PROJET (GENERER
UN APK)
Ensuite nous allons ajouté une plateforme native $ npm install @capacitor/haptics
$ npm install @capacitor/android (ios) $ npm install @capacitor/keyboard
$ npx cap add <platform> $ npm install @capacitor/status-bar
(platform= android ou ios) – un dossier nommé (android ou
ios) est créé à la racine du projet
LE FRAMEWORK IONIC: STRUCTURE DE VOTRE PROJET (GENERER
UN APK)
Compilation de notre projet Ionic
$ ionic build (mode debug)
Générer les ressources icône de lancement et
$ ionic build --prod (mode production)
Splashscreen
$ npm install -g cordova-res
Synchroniser les sources compilés avec le projet
(outils de génération des ressources)
$ npx cap sync