IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxWidgets Discussion :

[Conception] Application modulable?


Sujet :

wxWidgets

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 112
    Points : 76
    Points
    76
    Par défaut [Conception] Application modulable?
    Bonjour tout le monde,
    Je compte me lancer dans le développement d´une grosse application d´ici quelques jours et j´ai choisis wxWidgets pour l´interface, ne connaissant pas encore bien cette librairie et ne maitrisant pas forcément les différentes technique utilisé dans le développement d´applications modulables, je me pose pleins de questions...

    Avant de vous exposé mon problème il faut que je vous explique un peu en quoi consistera l´application. Nous (oui je suis pas seul sur le projet )voulons réaliser un éditeur de jeu vidéo Open Source : éditeur de menu, éditeur de map, d´entités...
    Le moteur de jeu utilisé sera OGE (basé sur OGRE) qui est actuellement en développement, donc la difficulté pour nous se situe uniquement au niveau du GUI, tout ce qui touche le moteur de jeu ne sera pas développé par notre équipe.

    Comme le sous entend le titre, nous voulons faire une application modulable, cést à dire une application capable de charger des plugins qui seront indépendants de l´application de base. L´idée est d´avoir pleins de petit "modules" qui se combine facilement pour créer des sorte d ´"ateliers".

    Par exemple : L´ atelier éditeur d´entité devra comporter :
    *une fenetre de rendu 3D
    *un widget permettant de modifier les attribut de l´entité
    *un menu avec des onglets et des élément que l´on pourra rajouter à l´entité
    *un petit éditeur de texte pour modifier le script lié à l´objet...

    Tout ces petits modules devraient pouvoir etre indépendant de l´"atelier" editeur d´entité, vous voyez ce que je veux dire?

    De cette manière, la création d´atelier serait plus aisé vu que beaucoup des modules constitutant un atelier sont similaires aux autres ateliers (éditeur de texte, fenetre de rendu, menu...), seul certains paramètre varierai (nombre d´onglets, fichier auquel est relié l´éditeur de texte etc).

    J´ai pensé à créer les différent modules de manière indépendante en créant pour chacun une DLL et un fichier XRC pour le layout et ensuite tous les assembler dans un autre projet qui serait aussi une DLL charger par l´application principale et qui comporterait aussi un fichier XRC décrivant l´agencement des différents modules.
    Mais bon, vu que je ne connais pas encore bien wxWidgets, je me pose plusieurs questions :

    1 - Est-ce que cela est réalisable?

    2 - Si oui, n´est ce pas un peu trop lours d´avoir une DLL pour chaque éléments? Connaissez-vous des sites qui explique comment faire de telles choses?

    3 - Si non (ce que je crain ), y´a-t-il une facon de créer une application modulable comme je le souhaite avec wxWidgets? Des liens?

    4 - Pour simplifier l´édition de layout des modules, je pensais utiliser wxSmith (plugin pour CodeBlocks) et créer pour chaque module un projet wxSmith, puis si possible rajouter mes modules à wxSmith pour ainsi les assembler facilement lors de la création d´ateliers, pensez-vous que c´est une bonne idée?

    Bon, voila, je pense que ca fais un sujet assez complexe et il est certains que je ne le maitrise pas encore. Sachez seulement que je compte prendre au mois 2 ans pour réaliser ce projet et que je voulais simplement avoir vos avis pour aguiller mes recherches (je demande pas qu´on me fasse toute la conception ).

    Merci de m´avoir lu et j´éspère que vous comprendrez ce que je souhaite faire.

    A bientot, cordialement,

    dede

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    1- Oui c'est la solution habituelle, en gros

    2- Non du tout, c'est (encore une fois) la solution habituelle. Je vois mal comment charger des modules dynamiquement s'ils ne sont pas chacun dans une bibliothèque dynamique

    3-

    4- Jamais utilisé wxSmith, mais ça sonne pas mal comme solution

    Bon courage, en tout cas tu as l'air de bien analyser le problème, c'est déjà un excellent point.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 112
    Points : 76
    Points
    76
    Par défaut
    Merci pour ta réponse! Ca fait plaisir de voir que je suis sur le bon chemin .

    J´ai un peu cherché sur internet et je crois avoir trouver un article très intéressant sur la création de plugin avec wxWidgets :

    article plugin

    Je pense grandement m´inspirer de ce mode de fonctionnement.

    en tout cas tu as l'air de bien analyser le problème
    Ca fait déjà plus de 2 mois que l´analyse à commencée et elle est très loin d´etre finie! J´estime qu ´un projet comme celui-ci nécessite un très bonne réflexion préalable s´il veux atteindre ces objectifs.
    La production devrait commencer d´ici quelques semaines et j´éspère avoir une base stable pour la création de plugin d´ici début 2007 pour commencer à faire des projet de jeu vidéo "type" (FPS Basique, Jeu de course, RPG...).
    Ce sont ces jeux qui feront évoluer le logiciels (fonctionnalités, interface, plugins...).

    Sinon, il y´a quelques temps je t´avais écris un MP concernant des articles sur OGRE, l´as tu lu?

    Encore merci à toi, je ne manquerais pas de poster ici l´avancement du projet .

    Cordialement,

    dede

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Sinon, il y´a quelques temps je t´avais écris un MP concernant des articles sur OGRE, l´as tu lu?
    Là comme ça à froid, ça ne me dit rien .
    Je t'invite donc à me le renvoyer, si la question est toujours d'actualité.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 112
    Points : 76
    Points
    76
    Par défaut
    oups exuse moi , je me suis trompé de personne .
    Au passage, tes articles sont excellents

Discussions similaires

  1. [JSF + ADF]Gestion d'un application module
    Par bertlef dans le forum JSF
    Réponses: 2
    Dernier message: 13/03/2009, 13h15
  2. Réponses: 2
    Dernier message: 21/02/2007, 20h57
  3. [Conception] Application avec base de données
    Par pereiramarcos dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 18/12/2006, 00h03
  4. [Conception]application swing avec SGBD
    Par afrikha dans le forum AWT/Swing
    Réponses: 19
    Dernier message: 11/09/2006, 13h19
  5. Réponses: 5
    Dernier message: 13/07/2006, 13h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo