Ich plane, eine App zu schreiben, die ich auf jeder Linux-Installation ausführen möchte, ohne dabei den Code neu schreiben zu müssen (außer vielleicht der Benutzeroberfläche, GNOME vs. KDE usw.).
Ich bin nicht sehr erfahren in den Details der Unterschiede zwischen Distributionen, und ich kann auch keine Details über das Projekt liefern, da es gerade erst in die Planungsphase eingetreten ist, außer dass es tief im Kernel herumstochern wird, um zu interagieren mit so viel Hardware des Computers wie möglich.
Akzeptierte Antwort:
Einige Punkte, die bei der Entwicklung zu beachten sind,
- Verwenden Sie ein Standard-Build-System
- Vermeiden Sie eine fest programmierte
BibliothekWege - Werkzeuge wie
pkg-config
verwenden um stattdessen die externen Pakete zu finden. - Wenn Ihre Anwendung eine GUI hat, verwenden Sie einige Frameworks wie
wxWidgets
die native UI-Elemente rendern kann, je nachdem, wo Sie sie ausführen. - Vermeiden Sie das Erstellen von Abhängigkeiten mit Paketen, die nicht auf anderen Distributionen laufen.
Die einzige Möglichkeit, um sicherzustellen, dass Ihre Anwendung auf allen Distributionen funktioniert, besteht darin, sie tatsächlich auszuführen und zu testen. Eine Möglichkeit, dies zu tun, besteht darin, virtuelle Maschinen für jede Distribution zu erstellen. Dazu kann VirtualBox verwendet werden. Ich habe ungefähr 8 virtuelle Maschinen für diese Art von Tests auf meiner Box.
Ich denke, Sie können die Bereitstellung der Anwendung nicht zu sehr verallgemeinern, da jede Distribution unterschiedliche Methoden zum Installieren von Paketen verwendet. Debian verwendet deb
und Fedora rpm
.