Bonjour tout le monde,
J'aimerai me lancer dans l'aventure du développement pour mobile. Je connais déjà le développement mais pas dans le mobile.
J'ai vu que chaque constructeur de mobile avait leur propre OS, et que chacun de ces OS avait leur propre langage et SDK de développement.
J'aimerais trouver une architecture facilement "multiplateformable".
Déjà j'ai vu qu'il existait 2 types "d'application" pour le mobile :
- Webapps : Qui est une application au travers d'un navigateur Web.
Là on peux interargir avec le mobile (accéléromètre, Géolocalisation, etc ....), il existe différents framework permettant d'être multiplateforme et de facilité le codage.
Mais je trouve qu'on perds le côté "intuitif" de l'application avec son icône sur le bureau ou dans le listing des applis.
Par contre on a l'avantage d'être libre sur le déploiement et sur le "business plan", vu que le coeur de l'appli se trouve sur nos serveurs.
- Apps : Qui est une application native à l'OS du mobile.
Là on a le côté intuitif, natif de l'application (icône, visuel intégré à l'OS, etc ....), ce qui est vraiment sympa.
Par contre on perds la main sur le côté déploiement (souvent passer par un market avec des règles, des restrictions pour faire valider son appli).
Et si on veux être multiplateforme, cela deviens complexe. On dois pratiquement réécrire son application pour chaque OS visé.
Ma question est simple. Existe t il un moyen de combiné les avantages de chacune de ces solutions ?
J'entends par là :
- Intégration native à l'OS
- multiplateforme / facilité de portage et de maintenance du code (ne pas avoir à faire une évolution en 5fois car 5 OS visé, .....)
- prise en main du déploiement (le plus possible)
- Préférer se baser sur le process du mobile que sur sa bande passante (meilleur perf du process que de la 3G actuellement à mon goût)
J'ai envisagé quelques architecture possible :
1. Avoir un "lanceur" natif à l'OS qui héberge un site Web dans une interface intégré à l'OS.
Ainsi je développe mon site, je déploie mon lanceur et je maîtrise l'ensemble. De plus je peux même développer des fonctionnalités dans le lanceur communiquant avec mon site pour alléger la bande passante.
Mais là je ne suis pas sur que les contrôles pour mettre mon "lanceur" sur le market ne m'autorise à le mettre à dispo ???
2. Monter une architecture basé sur le pattern MVC, où le cœur serait développer dans un langage bas niveau compatible avec chaque OS (C ou C++ par exemple) et où l'interface serait dans le langage propriétaire de l'OS.
Ainsi ma portabilité est allégé (juste l'UI à refaire). Par contre j'ai moins d'avantage que dans ma première solution (déploiement entre autre).
Et d'un point de vue technique, est ce faisable ?? (il faudrait que je le test)
Merci de votre avis sur ma réflexion.
Partager