Je viens de finir un site en PHP avec Symfony et avant d'attaquer l'appli qui va avec j'ai cherché des infos, une question est vite venue.
L'idée de tout informaticien qui se respecte est de limité la redondance ... pourtant !
Tu veux un site... fait du PHP (entre autre)
Tu veux une appli android.... fait du Java
Tu veux une appli Iphone... fait du Swift
Tu veux un progiciel... fait du C+
Et l'hybride alors ..?
Oui IONIC propose de coder sur tous les clients mobiles, mais pour les clients web et lourds alors ?
De toute évidence les possibilités techniques sont moindre avec l'hybride car cela utilise le navigateur mais pour des projets modestes on pourrait par exemple :
- Coder un site responcive en HTML, CSS et JS. Avec NodeJs (ou Angular je sais plus je m'y connais pas trop en JS) pour les connexion BDD et le code back. Donc tout est interprété côté client, ça je crois que c'est déjà possible (???).
- Créer une appli hybribe, un simple navigateur web personnalisé : sans favoris ni options mais avec une mémoire cache importante. Il se lance comme une appli indépendante (avec un logo) mais n'ouvre qu'une seule URL. Celui-ci est capable de tourner en local avec les fichiers mis en cache et utilise un fichier JSON (au autre) comme base de données locale.
A chaque fois qu'une connexion est disponible, le navigateur se connecte automatiquement au site, un protocole particulier lance une syncro du répertoire du site pour mettre à jour la mémoire cache du client mais aussi le fichier JSON depuis la BDD en ligne.
Cette mise à jour est gérer par un script qui fixe les règles de synchronisation (quelles données sont transmise, fréquence et fichiers de la syncro...).
Il faut ensuite créer un autre navigateur perso pour chaque support désiré ou en avoir un commun (PC, linux, mac, android, iphone...). Il est évident qu'un seul navigateur est suffisant pour toute une communauté, car peu d'informations varies : l'URL du site, le logo, les infos de connexions...
Nous aurions donc, dans ce cas THÉORIQUE, une appli unique pour tout les supports, codée en un seul langage le JS (HTML et CSS c'est pas des langages) qui garderait à jour les applis des clients en toute simplicité quelle que soit le support.
Sauf erreur de ma part, la technologies existe : Angular ou NodeJs côté web, Ionic côté mobile, rien en lourd pour l'instant (???).
Mais existe t'il une pont entre ces outils, un moyen pour ne coder qu'une fois ?
Merci de vos réponse et pardon pour la question peut être idiote ou les erreurs techniques.
Partager