Aide En Informatique
Latest Posts:

Java, Javascript et le fonctionnement des applications mobiles !!!
Java, Javascript et le fonctionnement des applications mobiles !!!

Java, Javascript et le fonctionnement des applications mobiles !!!

Je me lève sous cette question que je partages avec vous sur la confusion qu'un débutant se fait sur javascript et la conception des applications mobiles.

Java et Javascript sont deux langages de programmation completement diffrent qui ne sont meme pas d'ailleur nés pour faire la meme chose.

=>> Javascrit a été mis sur pied au debut de internet et des sites web par Nestcape pour manipuler le HTM ou mieux encore le Document Object Model (DOM) qui est la structure de données qui represente virtuellement la constitution de la page web que vous fait voir le navigateur, donc le javascript terre à terre servait juste pour faire des animations sur le flux de la page en reactualisant certaines parties du DOM de manière dynamique, mais dans le temps ça a bien evolué pour pouvoir faire des requetes HTTP a travers Ajax et de nos jours on peut aussi l'utiliser en backend avec nodejs, j'en ai largement parle dans ma page.

=>>Java c'est tout une autre chose, c'est un language donc le but etait dès la naissance de pouvoir créer des applications Desktop(client lourd ou windows form), des applications mobiles(JME(Java Mobile Edition), ou android aujourdhui), et les applications web et surtout Java voulait etre portable c'est à dire les concepteurs de Java, voulait faire en sorte que une application puisse etre conçue sur une machine et executer sur une autre sans avoir à le recompiler, d'ou le fait que les applications Java ne fonctionnent que dans une environnement ou il y a une machine virtuelle Java (JAVA), en plus java est un language dit de haut niveau donc plus comprehensible à l'etre humain que nous sommes et non proche de la machine, c'est un language qui suit le model OOP(Object oriented Programing), donc le modele à objet.

Ce pan étant levé, de quoi avons nous besoin pour faire une application mobile ? (si vous reguardez dans les articles de ITINNOVdesign j'en ai parlé, reguardez sur cette page et abonnez vous https://www.facebook.com/ItInnovDesign).

1. Une application Mobile peut se faire de manière native : native signifit qu'on va concevoir la app en utilisant les environement de developpement ce qu'on appelle la SDK(software developement kit) mis à disposition par les entreprises leader dans le type d'application qu'on veut créer, par exemple si on veut faire une application android, on a a sa disposition la SDK de android propose par google (https://developer.android.com/studio) et on peut developper en Java, mais aussi en Kotlin qui est un nouveau language qu'on a justement conçu dans l'optique de faciliter le developpement des app android vu la complexite de l'utilisation de java dans certains cas, si on veut faire une app pour Ios, on utilise la SDK de apple ios (https://developer.apple.com/ios/) et le language ici peut etre "Objectif C" ou "Switch". Avec les app natives, on une très tres bonne performance car les composantes sont natifs, par exemple un bouton android de la SDK de android sera directement lié 1 à 1 avec le système d'exploitation android (c'est basé sur linux), donc si on veut faire une application qui doit etre optimale en terme de performance, alors il faut opter pour le natif. le seul désavantage ici est que pour la meme application il faudra develpper deux fois, une fois pour android et une fois pour ios et avec des langages differents, donc il faut disposer eneormenet de resources.

2. On peut le concevoir manière dit Semi-Hybride, dans ce cas on utilise des plateformes (framework) qui en fait son des Wrapper (donc des boites noires qui permettent de faire quelque chose), dans ce shema, on a Google Flutter (https://flutter.dev/docs/get-started/install) qui a été mis dans le monde du developpement il y a 3 ans par Google, un très très bon framework, le language utilisé ici est "Dart", c'est un language OOP donc facile à comprendre quand on a compris l'abstraction de la OOP, flutter suit un modele MVC (Model-View-Controller), en fait avec Flutter vous ecrivez le code une seule fois et vous pouvez faire 3 app : une app pour android, une app pour ios, et une web app donc d'une pierre 3 coups. Flutter comme j'ai dit c'est un wrapper car toutes les composantes que vous creez avec Dart est ensuite compilé en runtime en composante natif sur les differentes plateformes (android ou ios), donc un bouton fait en Dart, au moment de l'execution est traduit(compilé) en Natif en un bouton Android quand la app est sur android, ou en bouton Ios quand la app est sur Ios. Dans la meme lancée que flutter, on a Microsoft Xamarin (https://docs.microsoft.com/.../installation/android-sdk...) qui existe bien avant flutter et qui est un wrapper pour creer des app natives en dotnet avec c# en utilisant par exemple Xamarin Form, en 2022 on annonce Microsoft MAU qui remplacera Xamarin et qui sera super puissant. aussi dans la meme lancée vous avez react-Natif(https://developers.facebook.com/docs/react-native/) qui existait meme avnt flutter et xamarin et conçu par facebook et pour ceux qui connaissent React, c'estla plateforme facile à utiliser. Le seul désavantage des app semi-hybride est qu'il ne sont pas aussi performant que les natives car il y a un passage en plus qu'il faut faire pour avoir la app finale-- la compilation en natif comme j'ai explique plus haut est assez gourmant en temps ce qu'on appelle la JIT(Just in time compilation).

3. Enfin de manière Hybride, dans ce cas on peut utiliser ce qu'on a appris des technologies web (javascript + css+ html) pour essayer de faire une app mobile, en fait on prend notre site web et on utilise des plateformes comme cordova (https://cordova.apache.org/) ou capacitor (https://capacitorjs.com/) pour les faire executer dans ce qu'on appelle une webView qui est en fait un composant natif present dans android et ios pour visualiser une page web, donc notre site web devient une app à travers la webview que nous met a disposition cordova ou capacitor. Cependant pour faire une app pro avec Html +css+javascript, il serait preferable d'utiliser Ionic(https://ionicframework.com/getting-started) qui en fait est basé sur les web component donc il a des composantes web natives fait exclusivement pour le mobile et il utilise capacitor ou cordova pour creer la app, en plus c'est la solution ideale pour construire les PWA(Progressive web app) donc j'ai parlé dans l'un de mes articles sur cette page. ce serait ideale de couple Ionic avec angular pour beneficier de la struturation de son projet et de certains mechanismes de developpement. Avec les plateforme hybride on fait une app pour tous comme avec les semi-hybride cependant la app n'est absolument pas native et peut souffrir de probleme de performance car ce que l'utilisateur voit, ce n'est en fait qu'une page web SPA(Single Page Application) qui est execute dans une webview et ne contien aucune composante native, donc un bouton bien que resemblant beaucoup a un bouton android native, n'est qu'un simpple Button HTML.

Voilà en grande ligne l'ecosystem du monde du mobile, s'il y a des doutes n'hesitez pas à me le faire savoir, j'éclaircisserai de mon mieux de manière terre à terre.


Author: admin
29.11.2022, 13:12
Category: Other
Comments: 1
Views: 252
-

Share

Comments (1)
Davidbow
Davidbow Guest

That means you'll perceive some supplemental features and press access to additional channels where you can pick up visibility, without having to modify nous of some confused, manual migration process. https://googlec5.com

26.12.2022, 07:39


Leave A Comment
processing...