Partage
  • Partager sur Facebook
  • Partager sur Twitter

Choix pour faire du développement multiplateforme

Quels choix pour un développement durable...

Sujet résolu
    24 mars 2008 à 0:16:04

    Tout d'abord je souhaite vous dire bonjour et merci puisque je viens tout juste de m'inscrire au site et j'y ai déjà trouvé plusieurs réponses à mes question.

    Bon passons au vif du sujet. Je suis étudiant en informatique et je suis présentement en train d'apprendre le C et le C++ (merci au site qui m'offre un complément très intéressant !). Étant un utilisateur de Mac depuis toujours mais très ouverts aux autres système (j'utilise Windows tous les jours et UNIX sur mon serveur web), je veux développer des applications multiplateformes. J'ai déjà décidé d'adopter C++ comme langage.

    J'ai réfléchit à mon affaire et j'hésite sur quelques points. J'ai imaginé deux grandes solutions.

    Premièrement, ma première solution, qui est à mon avis la meilleure, est de développer toutes les fonctionnalités principales qui n'ont pas d'affaire avec l'interface graphique dans des fichiers sources. Finalement, je recréerais l'interface graphique pour chaque systèmes d'exploitation avec leurs outils repectifs... (Par exemple C++ Builder pour Windows, XCode pour faire un interface Cocoa ou Carbon et KDevelop (peut être Glade) pour les systèmes Linux...). Je pourrais donc utiliser le maximum des possibilités de chaque plateforme. Il ne me dérange pas d'utiliser plusieurs systèmes pour développer du fait que je suis très à l'aise avec les machines virtuelles. Je sais que cette solution serait optimale mais représente beaucoup de travail.

    Deuxièmement, j'avait pensé utiliser par exemple QT. Cependant, ce dernier ne me permet pas d'utiliser au maximums les possibilités de caques systèmes d'exploitation. De plus, je suis limité par l'obligation de redistribuer mon programme sous licence GPL 2. Certains projets que je voudrais développer utiliserait plutôt une licence BSD ou peut-être que d'autres seraient payants... L'avantage offert par celle-ci par contre est que certaines librairies offertes sont compatibles multiplateforme...

    Je suis donc divisé sur cette question mais je pense bien que je vais opter pour la première option. Je voudrais votre opinion là-dessus et savoir si c'est possible et réalisable. Je veux opter pour une option durable et à long terme...

    Merci beaucoup !
    • Partager sur Facebook
    • Partager sur Twitter
      24 mars 2008 à 1:13:03

      Tu vas perdre énormément de temps et d'efforts à réinventer Qt ou toute autre solution portable.
      Qt n'est d'ailleurs pas la seule solution. Il en existe énormément d'autres, des en particulier qui ne sont pas sous GPL. Une liste non exhaustive est disponible dans la FAQ de developpez.

      Après, rien ne t'empêche de mettre en oeuvre des widgets propres à tel ou tel système par dessus les portables qui te sont proposés. Mais y as-tu vraiment intérêt vu que cela risque de vouloir dire : N interfaces aux comportements différents ?

      Sinon, séparer l'IHM du métier est tout sauf une mauvaise idée. Et ce, que la bibliothèque graphique sous-jacente soit portable ou non.
      • Partager sur Facebook
      • Partager sur Twitter
      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
        1 avril 2008 à 4:41:03

        Merci, je vais essayer d'utiliser QT4 car il m'a 'air très intéressant. Cependant, l'idée de séparer le code de l'interface pour chaque plateforme me trotte encore dans l'idée. Si je ne réussi toujours pas a faire marcher QT4 et Code Blocks (voir ici), je vais probablement y ressonger.

        Merci!
        • Partager sur Facebook
        • Partager sur Twitter

        Choix pour faire du développement multiplateforme

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown