Flatpak vs.Snap: 10 diferencias que debes conocer
Flatpak vs Snap, conozca las diferencias y obtenga información como usuario de Linux para elegir el mejor.
Los paquetes Flatpak y Snap son más populares que nunca entre los usuarios de Linux que ya no prefieren los paquetes binarios nativos o AppImages.
Principalmente por su facilidad de uso, integración con el centro de software y la capacidad de obtener las últimas actualizaciones de la aplicación sin problemas.
Ya no tendrás que preocuparte por las dependencias al instalar una aplicación.
Para algunos, las ventajas de seguridad del aislamiento/zona de pruebas también son un factor. Pero no discutiremos los detalles específicos de eso aquí.
No importa los beneficios de Flatpak y Snap, ¿cuáles son sus diferencias? ¿Qué deberías considerar usar? En este artículo, exploramos en qué se diferencian para ayudarle a decidir qué desea utilizar.
1. Origen
Snap fue desarrollado por Canonical para crear aplicaciones para plataformas de IoT. El objetivo detrás de Snap siempre ha sido fomentar las actualizaciones de aplicaciones y facilitar a los desarrolladores su mantenimiento en comparación con los paquetes deb.
Con el tiempo, se abrió camino hacia las aplicaciones destinadas a escritorios (también con GUI).
Si quieres explorar más la historia de Snap, te recomiendo que leas la publicación del blog de Alan Pope.
Flatpak fue creado por Alexander Larsson, ingeniero principal de software en Red Hat. Es un proyecto independiente de código abierto en el que participan muchos desarrolladores destacados de GNOME, Fedora y Red Hat.
El objetivo detrás de esto era tener un marco sólido para distribuir aplicaciones de escritorio de Linux en varias distribuciones.
Originalmente, se conocía como xdg-app y luego se le cambió el nombre a "Flatpak" en 2016.
Para obtener información más interesante sobre la historia de Flatpak, eche un vistazo a la antigua publicación del blog de Alexander.
2. Casos de uso
Cada formato de paquete tiene sus ventajas. Algunos podrían decir: "¿por qué necesitamos esto"?
Necesitamos todos los formatos de paquete disponibles. Por lo tanto, puede optar por utilizar lo que necesite según sus requisitos. Por lo tanto, es esencial saber dónde y por qué los paquetes Flatpak y Snap pueden resultar útiles.
Flatpak solo está diseñado para estaciones de trabajo y computadoras personales con Linux para ejecutar aplicaciones de escritorio. Puede explorar más al respecto en nuestro recurso sobre qué es Flatpak.
Sin embargo, los Snaps funcionan en tu escritorio y también se pueden utilizar para aplicaciones de terminal centradas en el servidor.
Por ejemplo, Ubuntu Core, el sistema operativo para IoT, y Edge se crean a partir de instantáneas para mantener todo seguro y garantizar actualizaciones confiables.
Hasta donde yo sé, Flatpak no se ha utilizado para nada similar debido a su enfoque diferente y caso de uso específico.
3. Hora de inicio
Se sabe que las aplicaciones Snap tienen un inicio lento en comparación con Flatpak.
Canonical ha estado trabajando en esto por un tiempo, pero seguía siendo un problema al publicar el artículo.
Por supuesto, en la práctica, no todos los usuarios pueden notar o preocuparse por la diferencia. Sin embargo, el consenso general con respecto al tiempo de inicio de la aplicación sigue siendo mejor para Flatpak en comparación con Snap.
Por ejemplo, me parece que iniciar la aplicación Spotify como Flatpak es más rápido que Snap. Puede ser subjetivo. Así que tómalo con una pizca de sal.
4. Rendimiento
El rendimiento de una aplicación no solo se refiere a su capacidad de respuesta sino también a su estabilidad y a su oferta de funciones.
Algunas aplicaciones funcionan mejor como Snap y otras como Flatpak.
Por ejemplo, la versión Flatpak de GNOME Boxes no admite el uso compartido de dispositivos en comparación con su paquete Snap. Se puede utilizar este ejemplo para decir que los Snaps son mejores.
Sin embargo, siempre prefiero instalar Spotify como Flatpak en lugar de Snap.
Por lo tanto, debe probar sus aplicaciones favoritas para darse cuenta de cuál es mejor para usted; Aquí nadie obtiene una ventaja clara.
5. Disponibilidad y popularidad
Si bien puede instalar cualquiera de ellos en cualquier distribución de Linux, Flatpak obtiene una ventaja por su disponibilidad y soporte listo para usar en más distribuciones en comparación con Snap.
Por ejemplo, Linux Mint viene con el complemento deshabilitado pero cuenta con soporte Flatpak incorporado.
Distribuciones como Pop!_OS y Ubuntu MATE también ofrecen soporte Flatpak de forma predeterminada. En otras palabras, encontrará muchas distribuciones de Linux diferentes (aparte de las versiones de Ubuntu) que tienen Flatpak integrado de forma predeterminada.
Sin embargo, los Snaps son los preferidos principalmente por Ubuntu de Canonical y sus versiones oficiales. Si no está utilizando Ubuntu o sus versiones, consulte nuestra guía Snap para configurarlo.
Entonces, se puede decir que la adopción de Flatpak para escritorios Linux es mucho más amplia (aunque no necesariamente con una base de usuarios más extensa).
Se puede mencionar que el número de aplicaciones disponibles como Snap es mayor. Si bien esa fue una gran diferencia hace un par de años, la tienda recomendada por Flatpak Flathub ahora presenta la mayoría de las aplicaciones esenciales, lo que puede no convertirla en un factor decisivo.
6. Código abierto versus código cerrado
Flatpak es completamente de código abierto.
Desafortunadamente, cuando se trata de paquetes Snap, la respuesta no es tan simple.
Snap es un proyecto de código abierto en esencia, que incluye snapd, el servicio en segundo plano que administra/instala aplicaciones Snap.
Sin embargo, el back-end de las instantáneas es propietario y está controlado por Canonical sin ninguna participación de la comunidad.
Como usuario final, no deberías tener problemas con las partes de código cerrado de Snap siempre y cuando la aplicación haga el trabajo.
Por supuesto, Flatpak será tu elección si prefieres tecnologías de código completamente abierto.
Lectura sugerida 📖
7. Descentralizado versus centralizado
Flatpak es de código abierto y adopta un enfoque descentralizado.
Aunque tenemos un famoso portal "Flathub" desde donde la mayoría de los usuarios obtienen sus aplicaciones, Flatpak permite tener múltiples tiendas cuando sea necesario.
Con Snap, estás limitado a la tienda Snap de Canonical.
Algunos usuarios prefieren una tienda de aplicaciones centralizada por conveniencia. Por lo tanto, no deberías tener ningún problema con ninguno de ellos. Sin embargo, Flatpak le brinda la ventaja de agregar un repositorio adicional si es necesario.
8. Actualizaciones
Las aplicaciones Snap se actualizan automáticamente de forma predeterminada. El usuario puede modificar cuándo y con qué frecuencia se realizan las actualizaciones. Además, puede retener y posponer actualizaciones para instantáneas seleccionadas.
Por el contrario, los paquetes Flatpak no se actualizan automáticamente. Si tiene integración Flatpak con el centro de software, se le notificará sobre las actualizaciones disponibles, pero no se actualizará a la fuerza.
Siempre puedes consultar nuestra guía sobre cómo actualizar los paquetes Flatpak.
Con Flatpak, obtienes más control de forma predeterminada. Sin embargo, algunos usuarios se olvidan de actualizar los paquetes y pierden nuevas funciones o correcciones de errores/seguridad.
Entonces, ya sea que desees actualizaciones automáticas de las aplicaciones que utilizas o que el control las actualice manualmente, eso influirá en lo que te guste más.
9. trabajando
Flatpak no necesita privilegios de administrador para instalar aplicaciones, pero Snap sí.
Flatpak viene con zona de pruebas habilitada de forma predeterminada. Utiliza la función de espacios de nombres del kernel de Linux para el espacio aislado, mientras que Snap utiliza AppArmour.
Puede explorar ambas documentaciones para desarrolladores para obtener más información. Sin embargo, estos dos puntos clave pueden influir en la elección de uno de ellos para su caso de uso.
10. Perspectiva del mantenedor
Al revisar foros e hilos de Reddit antes de escribir este artículo, encontré algunas ideas interesantes de los mantenedores de aplicaciones. Algunos de ellos incluyen:
Los snaps son más fáciles de mantener/construir en comparación con los paquetes Flatpak.
La seguridad instantánea es un poco avanzada.
Con Flathub como tienda de Flatpak, los mantenedores reciben ayuda de varios desarrolladores para probar y mejorar los Flatpaks.
Por supuesto, para obtener más información técnica y diferencias, la documentación será un buen punto de partida.
💬¿Cuál prefieres? ¿Flatpak o Snap? ¿Y por qué? Comparta sus pensamientos en la sección de comentarios a continuación.