¿Quíeres crear aplicaciones Linux? Esta página te puede servir
Alan Pope de Canonical lanzó una página web con una convocatoria invitando a la gente a crear aplicaciones para Linux. A decir verdad, si bien son pocos los rubros en los que no haya una alternativa de código abierto, y en muchos casos con un nivel de calidad igual o superior a la competencia privativa, no hay ninguna WhatsApp o Houseparty. Al menos no lo hay en el sentido de que la gente sienta entusiasmo por utilizarla.
Quiero sumarme a la convocatoria de Alan invitándolos a ustedes a contarnos en el formulario de comentarios, que aplicaciones les gustaría tener en Linux Todas las ideas son bienvenidas, pero los invito a ser lo más originales posible.
¿Quieres crear aplicaciones Linux? Mira esta página
Alan creó una página que puedes consultar aquí. En ella detalla el propósito de la convocatoria.
Los usuarios de Linux en escritorio y móviles tienen un apetito saludable por el nuevo software. Las tiendas y repositorios de aplicaciones Linux carecen de aplicaciones en comparación con sus homólogos propietarios.
Con demasiada frecuencia (los entusiastas de Linux) caen en la trampa de crear más distribuciones de Linux. No necesitamos más distribuciones de Linux. Deje de hacer distribuciones de Linux, haga aplicaciones en su lugar.
En el texto también desmiente el mito de que los usuarios de software libre se nieguen a pagar por un programa y señala la existencia de abundante documentación gratuita sobre como aprender a programarlas.
Cómo Iniciarte en la creación de aplicaciones para Linux
1) Pregúntate si hay un programa que te gustaría que existiera. Seguro que hay otros que lo necesitan.
2) Amplia el ecosistema: Hay una especie de esquema piramidal aplicado a la creación de aplicaciones. Te inspiras en el código de aplicaciones existentes, y el que escribes inspirará a nuevos desarrolladores.
3) Sé creativo: No se trata de tener 40 editores de video y 10 suites ofimáticas. Hay que buscar soluciones nuevas a problemas nuevos o a problemas viejos. El truco no es hacer una alternativa a WhatsApp de código abierto y enfocada en la privacidad, se trata de crear una solución superadora para que la gente se comunique.
4) Construye una comunidad: La gente en todo el mundo se une en torno a ideas y proyectos. Puedes encontrar ayuda en las comunidades existentes y al mismo tiempo iniciar una nueva.
5) Desarrolla nuevas habilidades: El enfoque problema-solución, a diferencia de la lectura de tutoriales y el copy/paste de código, te enseña a identificar los problemas y sus partes componentes y a expresarte usando lenguajes que utilizan reglas estrictas.
Lista de recursos de aprendizaje
GNOME
El proyecto GNOME es el responsable de uno de los más populares entornos de escritorio del mundo del software libre. Sus librerías gráficas son la base de otros escritorios como Mate, Cinnamon y XFCE. De esta lista es el único recurso que tiene su documentación en castellano.
GNOME tiene su propio entorno de desarrollo (Builder) y permite utlizar los más populares lenguajes de programación como Python, C, C++, Rust y Javascript.
KDE Framework
KDE es tal vez el ecosistema de aplicaciones más completo del mundo del software libre e incluso tiene versiones para Windows. Su framework opera básicamente con el lenguaje C++ y las librerías Qt. La documentación se puede consultar aquí.
Elementary OS
Es una distribución Linux decidida a ser una alternativa a Windows y Mac OS. Tiene su propio sistema para la creación y distribución de aplicaciones, También permite a los creadores conseguir financiamiento.
La documentación está disponible aquí.
Formatos universales
En el caso de querer crear paquetes que puedan usarse sin importar la distribución o el escritorio, tenemos los formatos de paquetes universales
AppImage
Fue el primero de los formatos de paquetes universales y autocontenidos (No necesita utilizar dependencias del sistema operativo anfitrión). Solo hay que descargar una aplicación, darle permisos y ejecutarla haciendo doble clic.
La documentación para crear paquetes en este formato la puedes ver aquí.
FlatPak
Es el formato preferido por la mayoría de las aplicaciones de código abierto. En algunas distribuciones como Fedora, KDE Neon o Manjaro, no necesitas ningún paso adicional para instalar paquetes FlatPak, en otras puede requerir ejecutar pasos adicionales de configuración.
Su documentación está disponible aquí.
Snap
Es el formato de paquetes autocontenidos y universal de Canonical. En las derivadas de Ubuntu y Manjaro viene configurado por defecto, mientras que en otras aplicaciones deberás instalar el gestor de paquetes. La tienda de Snap es la opción preferida de empresas desarrolladoras de software para distribuir sus versiones Linux.
Aquí se encuentra la documentación.