Todas las distros unidas por un único sistema de paquetes.
Según datos de W3Schools, en octubre de 2018, Windows sigue siendo el sistema operativo de escritorio más popular. Contando únicamente Windows 10, alcanza el 49% de computadoras conectadas a internet.
El sistema operativo de Apple, macOS, llega al 10,5%, mientras que Linux supone un 5,6% de usuarios.
Son estadísticas aproximadas, con sus más y sus menos, pero sirven para hacernos una idea de la importancia de Linux en el parque de ordenadores personales o, en este caso, conectados a la red.
¿Qué hace que Linux no esté más extendido? ¿Fabricantes de hardware que lo apoyen al 100%? ¿Más publicidad? ¿Un marketing más agresivo?
Las principales críticas que le llueven a Linux es lo difícil que resulta su uso, un lastre que lleva arrastrando de hace décadas y que, a pesar de las muchas mejoras y de escritorios como Ubuntu, Debian o Mint, sigue llevando ese sambenito.
Otra de las críticas tiene que ver con el software disponible para Linux. Y es aquí donde el proyecto Snap de Canonical tiene mucho que decir al respecto.
Instalar aplicaciones en Linux
Durante años, para instalar una app en Linux contábamos con su código fuente, que debíamos compilar desde el Terminal. Al tiempo, llegaron los paquetes DEB de Debian y RPM de Red Hat para facilitar la instalación, pero seguían los problemas, en especial al instalar paquetes adicionales.
Así, llevar tu aplicación a Linux siempre ha tenido un problema añadido a la portabilidad a Linux, el elegir en qué sistema de paquetes adaptarlo, lo que implica tiempo y dedicación.
Canonical, responsable de Ubuntu, decidió allanar el camino creando un sistema de paquetes de software propio, Snap, que a diferencia de los anteriores, es compatible con la mayoría de distribuciones Linux, o al menos su implementación es mucho más sencilla.
La idea es que instalar aplicaciones Linux sea tan simple como en Windows 10, macOS, Android o iOS, es decir, descargar el instalador, abrirlo y listo.
¿Y cómo logra eso? Integrando en un mismo paquete tanto la aplicación como las dependencias, principal escollo con que nos encontrábamos en Linux. Esto simplifica mucho la compatibilidad entre el software y Linux.
Más ventajas, la gestión de actualizaciones es más simple y cada distribución puede gestionar qué nivel de seguridad quiere implementar en su sistema Snap.
Ampliar la oferta de software
Con Snap y su herramienta Snapcraft, Canonical permite que adaptes tu aplicación para funcionar en las versiones de Linux más populares, como Ubuntu, Debian, Fedora, Linux Mint, openSUSE, Raspbian, Arch Linux y un largo etcétera con hasta más de 40 distros compatibles.
Además, tiene una ventaja adicional, y es que los paquetes Snap funcionan en entornos Linux de escritorio y en la nube en entornos virtuales o en red. Incluso permite instalar aplicaciones en sistemas Linux de dispositivos IoT.
Un vistazo a la Snap Store nos permite ver la gran cantidad de aplicaciones disponibles para Linux y que con anterioridad solamente tenían versión para Windows y Mac.
Precisamente la página oficial de Snap dice que publicar una nueva aplicación requiere solamente de 15 minutos. El motivo: admite los lenguajes de programación más populares, como Python, Java, C/C++, Ruby o Go, y su compilación es más simple y mediante distintas herramientas.
Todo ventajas para el usuario
Si todavía no empleas paquetes Snap, puedes hacerlo fácilmente siguiendo las instrucciones para la distribución Linux que utilices.
Básicamente, instalamos Snap y/o Snapd vía línea de comandos y, luego, sólo tenemos que acudir a la Snap Store e instalar desde ahí el paquete de software que nos interese.
La propia página nos preguntará si queremos abrir el gestor de aplicaciones de Ubuntu o copiar el código necesario para realizar la instalación vía línea de comandos.