Estoy planeando escribir una aplicación que me gustaría poder ejecutar en cualquier instalación de Linux sin tener que volver a escribir nada del código al hacerlo (excepto tal vez la interfaz, GNOME vs KDE, etc.).
No tengo mucha experiencia en las minucias de las diferencias entre las distribuciones, y tampoco puedo proporcionar detalles sobre el proyecto, ya que acaba de entrar en la etapa de planificación, aparte de que estará hurgando en el interior del núcleo para poder interactuar. con tanto hardware de la computadora como sea posible.
Respuesta aceptada:
Algunos puntos a tener en cuenta al desarrollar,
- Usar un sistema de compilación estándar
- Evite codificar de forma rígida la
bibliotecacaminos - usar herramientas como
pkg-config
para encontrar los paquetes externos en su lugar. - Si su aplicación tiene una GUI, use algunos marcos como
wxWidgets
que puede representar elementos nativos de la interfaz de usuario dependiendo de dónde se ejecute. - Evite crear dependencias con paquetes que no se ejecutarán en otras distribuciones.
La única forma de asegurarse de que su aplicación funcione en todas las distribuciones es ejecutarla y probarla. Una forma de hacerlo es creando máquinas virtuales para cada distribución. VirtualBox se puede utilizar para hacer esto. Tengo alrededor de 8 máquinas virtuales en mi caja para este tipo de pruebas.
Creo que no se puede generalizar demasiado sobre la implementación de la aplicación, ya que cada distribución usa una forma diferente de instalar paquetes. Debian usa deb
y fedora rpm
.