Comparaison d'applications mobiles Android : natives, web et hybrides, Lecture notes of Bankruptcy Law

Cet article présente les différentes manières de développer des applications mobiles sur Android, telles que le développement natif, web et hybride. Il aborde les avantages et les inconvénients de chaque approche, ainsi que les outils et les ressources utiles pour chaque type d'application. En outre, il traite de la popularité croissante de la plateforme Android et de ses fonctionnalités intéressantes pour les développeurs.

Typology: Lecture notes

2023/2024

Uploaded on 01/13/2024

rock-yasu
rock-yasu 🇲🇦

2 documents

1 / 37

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CHAPITRE1 :
GÉNÉRALITÉS SUR LE
DÉVELOPPEMENT
DES APPLICATIONS MOBILES ET LE
SYSTÈME D’EXPLOITATION ANDROID
PROGRAMMATION MOBILE
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25

Partial preview of the text

Download Comparaison d'applications mobiles Android : natives, web et hybrides and more Lecture notes Bankruptcy Law in PDF only on Docsity!

CHAPITRE1 :

GÉNÉRALITÉS SUR LE

DÉVELOPPEMENT

DES APPLICATIONS MOBILES ET LE

SYSTÈME D’EXPLOITATION ANDROID

PROGRAMMATION MOBILE

Plan

1. Généralités sur le développent d’application mobile

2. Généralités sur le système d’exploitation Android

3. Architecture de la plateforme Android

4. Kits de développement Android: SDK, NDK, et ADK

5. Généralités sur les applications Android

Développement Mobile

Il existe trois manières pour développer des applications mobiles:

o Développement mobile natif
o Développement mobile Web
o Développement mobile hybride

Application mobile Native?

  • Application développé avec un langage spécifique et destinée à un est un
seul système d’exploitation.
  • Les applications natives utilisent toutes les fonctionnalités offertes par
l'appareil mobile ( GPS, SMS, Appels, Caméra, Gestion de l’énergie, ….)

Société Système d’exploitation Langage de développement Plateforme de distribution Google Android Java , ( Kotlin: annoncé en 2017) Google Playstore Appel iOS Objective-C, Swift ( depuis 2014) App Store Microsoft Windows Phone C# Microsoft Store

Application web mobile? o Elle est visuellement moins adaptée qu’une application native, car le navigateur reste présent lors de l’exécution, comme le montre la figure ci-dessous :

Application hybride?

Une application hybride combine des éléments des deux autres approches:

  1. Éléments des applications web: o Pour la partie présentation des éléments de l’interface on utilise:  Des Framework CSS créées pour les applications mobiles (Boot Strap)  Des Framework Java Script ( Angular JS, JQuery Mobile, Dojo, Sencha Touch) o Pour la partie Interaction avec le serveur, on utilise des Framework Ajax
  2. Eléments des applications natives permettent d’utiliser toutes les fonctionnalités natives des smartphones ( SMS, caméra, ….) o Pour interagir avec les fonctionnalités natives, on utilise deux Frameworks de base:  Apache CORDOVA  Adobe PhoneGab

L’arrivée d’Android

Android (date de sortie initiale 2008) arrive aux côtés d’autres systèmes d’exploitation pour mobiles, comme Windows Mobile et l’iOS. Bâtis sur des systèmes propriétaires, qui, dans certains cas: o Donnent la priorité aux applications natives au détriment de celles créées par des tiers o Limitent la communication entre les applications et les données natives du téléphone o Restreignent ou contrôlent la distribution d’applications tierces sur leurs plateformes.

L’arrivée d’Android

Android offre un environnement de développement ouvert, construit sur un noyau Linux open-source o L’accès au matériel est permis à toutes les applications au travers d’une série de bibliothèques d’API; o L’interaction entre applications est entièrement supportée, bien que soigneusement contrôlée; o Toutes les applications ont les mêmes droits – utilisation des mêmes API et exécutées par le même moteur.

Publier des applications via Google Play :

o Boutique officielle d'applications pour Android

o Service de distribution numérique opéré par Google

Architecture de la

plateforme Android

Noyau Linux

 Sous la plupart de toutes les couches est Linux - y compris environ 115 Patch Linux 3.6.  Il fournit des fonctions de base du système, telles que la gestion des processus, gestion de la mémoire, la gestion des périphériques (tels que caméra, clavier, écran).  Pendant ce temps, le noyau Linux gère tout le bon travail, et beaucoup d'équipements tels que les pilotes de réseau, afin d'éviter un grand nombre d'interface matériel périphérique compatible inconvénients.

Hardware Abstraction Layer (HAL)

Cette couche se situe entre les librairies et le kernel linux, elle fournit les interfaces que doivent implémenter les drivers kernel. Cette couche sépare la plateforme logique des interfaces matérielles. Le but de cette couche est de faciliter le portage des librairies sur différents matériels. Particularité d'Android o Imposée par le fait que les applications Google Play doivent s'exécuter sur toutes les plateformes matérielles Android o Besoin d'abstraire le niveau matériel o Les entrées/sorties (e.g. Bluetooth ou caméra) possèdent des appels standard définis dans cette couche, en lien avec le driver associé.

Au dessus du kernel, il y a les librairies natives. Ces librairies sont écrites en C/C++. Elles fournissent les fonctionnalités de bas niveau d'Android. Bionic Libc o Android ne supporte pas la glibc, pour cela on a développé une librairie C (libc) nommé Bionic libc. Elle est optimisée pour les appareils mobiles et a été développé spécialement pour Android. o La plateforme Android à besoin de sa propre libc car il avait besoin d'une libc légère (la libc sera chargé dans chaque processus) et rapide (les appareils mobiles ne disposent de CPU puissant).

librairies

SURFACE FLINGER :

Le Surface Flinger permet de construire le rendu graphique, il manipule toutes les surfaces à afficher provenant du frame buffer. WebKit Est une bibliothèque logicielle permettant aux développeurs d'intégrer facilement un moteur de rendu de pages Web dans leurs logiciels. Media framework La librairie Media Framework est basée sur OpenCore de PacketVideo. Elle permet le support des standards audio/vidéo/images.