Bonjour à tous,
Dans le cadre du développement de Cygnus, je suis amené à développer trois interfaces.
Voici mon problème : toutes ses vues ont des fonctionnements différents au niveau de la navigation. La vue desktop représente du "single-page" navigation, on ne peut pas recharger les assets de ThreeJS à chaque fois, tous les call de rafraichissements sont donc faits en Ajax via des controllers REST. La seconde est une interface avec navigation classique, avec des menus déroulants, plusieurs controllers et était anciennement la première interface du jeu pour les tests. La dernière est à mi-chemin entre les deux, car elle n'aura pas toutes les options de la vue complète mais elle ne sera pas non plus en 3D.
Du coup .. C'est un peu le jeu de piste dans mes bundles et mon projet Sf2 en général. Je dois gérer 3 façons différentes de naviguer au sein du jeu, ce qui implique des controllers Ajax, des controllers "normaux" et le code présent dans ces controllers se répète souvent, étant donné que le traitement est pratiquement le même, sauf que pour Ajax je renvoie un code d'erreur et pour les autres interfaces je fais un forward avec un message dans le flashbag de la session Sf2. J'ai aussi des includes de templates alors que dans une autre interface c'est des héritages ... Et au final, c'est loin d'être propre.
Est-ce que quelqu'un a déjà eu l'expérience de tels projets, si oui comment a-t-il fait pour fournir une architecture propre et efficace pour résoudre ce genre de problèmes ?
Merci d'avance,
Cordialement
Dans le cadre du développement de Cygnus, je suis amené à développer trois interfaces.
- L'interface que je nommerais "desktop" qui est basée sur une vue 3D avec WebGL. Cette vue pourra être désactivée pour les PC trop lents et sera complètement indisponible sur smartphones et tablettes.
- Le suivante est une interface responsive complète, dédiée à ceux qui désactivent la vue 3D ou qui surfent sur leur tablette et leur mobile grâce à un navigateur sur le jeu.
- Enfin, une troisième interface sera une interface responsive épurée dédiée à une application Android native que je chargerai via une webview Android avec du JS adapté permettant de faire du binding entre une classe Java dans l'application et le JS de la page.
Voici mon problème : toutes ses vues ont des fonctionnements différents au niveau de la navigation. La vue desktop représente du "single-page" navigation, on ne peut pas recharger les assets de ThreeJS à chaque fois, tous les call de rafraichissements sont donc faits en Ajax via des controllers REST. La seconde est une interface avec navigation classique, avec des menus déroulants, plusieurs controllers et était anciennement la première interface du jeu pour les tests. La dernière est à mi-chemin entre les deux, car elle n'aura pas toutes les options de la vue complète mais elle ne sera pas non plus en 3D.
Du coup .. C'est un peu le jeu de piste dans mes bundles et mon projet Sf2 en général. Je dois gérer 3 façons différentes de naviguer au sein du jeu, ce qui implique des controllers Ajax, des controllers "normaux" et le code présent dans ces controllers se répète souvent, étant donné que le traitement est pratiquement le même, sauf que pour Ajax je renvoie un code d'erreur et pour les autres interfaces je fais un forward avec un message dans le flashbag de la session Sf2. J'ai aussi des includes de templates alors que dans une autre interface c'est des héritages ... Et au final, c'est loin d'être propre.
Est-ce que quelqu'un a déjà eu l'expérience de tels projets, si oui comment a-t-il fait pour fournir une architecture propre et efficace pour résoudre ce genre de problèmes ?
Merci d'avance,
Cordialement
Owl Vision - Agence de dévelppement d'applications de réalité virtuelle et augmentée