FLATPAK, SNAP Y APPIMAGE, ¿CUALES SON LAS DIFERENCIAS ENTRE LOS FORMATOS?


Todos en algún momento hemos bajado una App recomendada por alguien o visto en algún sitio un fichero con terminación .Flatpak, .Snap o .AppImage. Estas son tres estándares o formatos los cuales en este momento luchan por definirse como el Formato Universal que corra en todas las distribuciones de Linux. Aunque ya hemos escrito artículos sobre algunas de ellas, hoy al menos trataremos de explicar las mayores diferencias entre estas.

¿Qué es .Flatpak y cómo funciona?

Flatpak es un formato relativamente nuevo y ha sido creado desde cero, lo cual implica que todo el código es nuevo y enfatiza la seguridad sobre todo. Permite a los usuarios correr las aplicaciones construidas en dicho formato independientemente de qué distribución de Linux estén usando. Dicho formato esta construido y diseñado para aislar las aplicaciones unas de otras y también  de el resto del sistema.

Funciona en principio de modo similar a como lo hacían ya otros formatos de paquetes mas antiguos, por ejemplo la aplicación esta empaquetada con todas sus dependencias en un solo bulto. Pero también dentro de una aplicación Flatpak existe una colección de “runtimes”  y de “librerías” compartidas entre múltiples Apps en el sistema, lo cual significa que el usuario no tiene que preocuparse con lo que tiene que ver con actualizaciones en una distribución especifica. Esto también implica una ventaja de Flatpak sobre los demás formatos pues al compartir dichos elementos las aplicaciones creadas en Flatpak ocupan menos espacio de disco que los otros estilos de formatos explicados aquí.

Flatpak sin embargo tiene su lado débil, las aplicaciones creadas en dicho formato suelen tener un arranque un tanto menos veloz que aquellas en otros formatos, ademas estas aveces no respetan el tema de ventana escogido por el usuario en el sistema.

Deepin ha adoptado el formato .Flatpak como su formato preferido y por defecto en todas sus aplicaciones nativas. (Aunque el usuario es libre de usar el formato que prefiera. Ambas versiones .flatpak y .deb están disponibles en la tienda con cada lanzamiento de un nueva aplicación nativa y creada por Deepin para sus usuarios. A la vez que los usuarios de otras distribuciones también pueden instalar la versión .flatpak en sus sistemas si así lo desean.)

¿Qué es .Snap y cómo funciona?

Al igual que los demás formatos explicados hoy, los paquetes  Snap también pueden correr en la mayoría de las distribuciones, incluyendo por supuesto Deepin. Estos sin embargo a diferencia de .Flatpak vienen con TODAS sus “dependencias”, “runtimes” y “librerías” contenidas dentro del paquete lo cual aumenta considerablemente el peso o tamaño del app consumiendo así mas espacio en el disco. Un paquete Snap es prácticamente una maquina virtual dedicada a la App especifica. Los usuarios de aplicaciones construidas en Snap deben esperar a que su distribución valide el paquete y lo apruebe antes de poder ser usado de una manera segura sin temor a problemas de seguridad (Aunque el usuario aun es libre de instalar la aplicación aunque no este al día con respecto a seguridad)  lo cual significa un retraso a la hora de coger parches de seguridad para dicha aplicación o simplemente para poder utilizar la última versión de esta.

Una ventaja de los paquetes Snap sin embargo es la rapidez con la que estos corren una vez que se han instalado en el sistema y han corrido por lo menos una vez. (Es de notar que la primera vez que el usuario abre la aplicación percibirá una lentitud de arranque considerable en ese primer intento, pero esto es solamente la primera vez, después la aplicación correrá rápidamente casi igual que un paquete corriente .deb) Snap es muy popular en este momento, pero queda ver por cuanto tiempo Canonical (La firma creadora de la misma) dará soporte al formato.

¿Qué es .AppImage y cómo funciona?

También existe un formato de empaquetado llamado AppImage que al igual que Snap contiene TODAS sus “dependencias”, “runtimes” y “librerías” contenidas dentro del paquete como tal, efectivamente convirtiéndola igualmente casi que en una maquina virtual dedicada a la app especifica para la cual ha sido creada. Cuando bajas una aplicación en .AppImage a diferencia de los otros formatos no hay necesidad de tan siquiera instalarla.  Simplemente haces clic dos veces sobre el fichero y debe correr inmediatamente y a toda velocidad (incluso la primera vez que la abres).

Las dos grandes desventajas de AppImage sin embargo son las siguientes: Dichas aplicaciones también ocupan considerablemente mas espacio en el disco que por ejemplo aquellas construidas en .Flatpak. Ademas y esto es de gran importancia para los usuarios de Deepin particularmente es que Deepin Files (Explorador de Ficheros de Deepin) no soporta nativamente AppImage. así es que sí intentas abrir un fichero con terminación .AppImage te encontrarás con un mensaje de Deepin Files diciéndote que no existe ninguna App asociada con dicho tipo de fichero y que debes escoger una. Por supuesto no existe App alguna para eso. La solución por el momento es poner el ratón sobre el fichero en cuestión hacer clic con el lado derecho y en la nueva ventana chequear o seleccionar donde dice: “Permitir Ejecutar Como Programa”.  Una vez hecho esto, la aplicación debería correr en Deepin sin problemas.

FINALMENTE

Es bueno tener competencia en dicho campo ya que para algunos quizás un formato específico sea mas conveniente debido la los recursos disponibles o corra mejor en su equipo que con otro de los formatos etc. Por ejemplo: en mi maquina el paquete de ofimática LibreOffice en formato .Snap es la única que soporta mi monitor  HiDPI (4K).

Ahora que ya sabes las principales diferencias entre los paquetes universales en Linux dinos cual prefieres y porqué a través de un comentario. Nos encantaría saber tu opinión. ¿Crees que Deepin ha escogido la opción correcta al apoyar el formato .Flatpak?.


Deja un comentario