Je prévois d'écrire une application que j'aimerais pouvoir exécuter sur n'importe quelle installation Linux sans avoir à réécrire le code pour le faire (sauf peut-être l'interface, GNOME vs KDE, etc.).
Je ne suis pas très expérimenté dans les détails des différences entre les distributions, et je ne peux pas non plus fournir de détails sur le projet car il vient juste d'entrer dans la phase de planification, à part qu'il va fouiller profondément dans le noyau pour interagir avec autant de matériel informatique que possible.
Réponse acceptée :
Quelques points à garder à l'esprit lors du développement,
- Utiliser un système de construction standard
- Évitez de coder en dur la
bibliothèquechemins - utiliser des outils comme
pkg-config
pour trouver les packages externes à la place. - Si votre application dispose d'une interface graphique, utilisez des frameworks tels que
wxWidgets
qui peut afficher des éléments d'interface utilisateur natifs en fonction de l'endroit où vous exécutez. - Évitez de créer des dépendances avec des packages qui ne fonctionneront pas sur d'autres distributions.
La seule façon de vous assurer que votre application fonctionne sur toutes les distributions est de l'exécuter et de la tester. Une façon de procéder consiste à créer des machines virtuelles pour chaque distribution. VirtualBox peut être utilisé pour cela. J'ai environ 8 machines virtuelles sur ma machine pour ce genre de test.
Je pense que vous ne pouvez pas trop généraliser sur le déploiement de l'application car chaque distribution utilise une manière différente d'installer les packages. Debian utilise deb
et feutre rpm
.