Pengemasan

Perbandingan Snap vs Flatpak vs AppImage

Perbandingan Snap vs Flatpak vs AppImage
Format pengemasan baru seperti Snap, Flatpak, dan AppImage menyediakan paket distribusi agnostik yang berfungsi di sebagian besar distribusi Linux. Ini memecahkan masalah pengemasan yang dihadapi oleh pengembang aplikasi yang ingin mendistribusikan aplikasi mereka di beberapa distribusi Linux. Sekarang mereka dapat fokus pada satu build yang berfungsi di mana saja daripada melalui standar pengemasan yang berbeda.

Artikel ini akan mencantumkan perbedaan utama antara ketiga format pengemasan ini dari perspektif pengguna akhir end. Perbedaan dalam arsitektur pengemasan dan kemudahan pengemasan dari sudut pandang pengembang tidak akan dibahas di sini.

Tabel di bawah ini merangkum perbedaan utama antara format file Snap, Flatpak dan AppImageImage. Kebanyakan dari mereka cukup jelas, poin lain telah dijelaskan di bawah tabel perbandingan comparison.

Jepret pak datar Gambar Aplikasi
Android Like Permission Controls Toggles (GUI dan CLI) Iya Iya Tidak
Dukungan Sandbox Iya Iya Iya
Wajib Sandboxing Iya Iya Tidak
Dukungan Tema Asli Ya (dengan peringatan) Ya (dengan peringatan) Ya (dengan peringatan)
Dukungan untuk Perpustakaan yang Dibundel Iya Iya Iya
Portabilitas Aplikasi Ya (dengan peringatan) Ya (dengan peringatan) Iya
Dukungan Eksekusi Tunggal yang Terisi Penuh (mirip dengan .file exe di windows) Tidak Tidak Iya
Toko Aplikasi Online Iya Iya Iya
Plugin untuk Perangkat Lunak App Store Desktop Iya Iya Tidak
Dukungan Aplikasi Paralel Multi-versi Iya Iya Iya
Pembaruan Otomatis Iya Iya Ya (dengan peringatan)
Dukungan Chrome OS (melalui wadah Crostini) Iya Iya Iya
Ukuran Aplikasi Bervariasi tetapi lebih tinggi dari AppImage Bervariasi tetapi lebih tinggi dari AppImage Terendah
Jumlah Aplikasi yang Tersedia di App Store Paling tinggi Terendah Suatu tempat di antara

Kontrol Izin untuk Pengguna

Snap menyediakan antarmuka grafis dan baris perintah untuk izin yang dikontrol pengguna. Anda dapat menggunakan aplikasi "Perangkat Lunak Ubuntu" yang sudah diinstal sebelumnya untuk mengelola izin aplikasi snap.

Untuk melihat izin aplikasi snap menggunakan antarmuka baris perintah, jalankan perintah di bawah ini:

$ snap koneksi chromium

Ganti "chromium" dengan nama aplikasi snap Anda.

Untuk melihat daftar semua aplikasi snap yang diinstal, jalankan perintah di bawah ini:

$ daftar jepret

Untuk memberikan izin kamera ke chromium snap, gunakan perintah di bawah ini:

$ snap connect chromium:camera

Untuk mencabut izin kamera, jalankan perintah di bawah ini:

$ snap putuskan chromium:kamera

Perintah yang sesuai untuk manajemen izin dapat ditemukan di kolom "Plug" (ditunjukkan pada tangkapan layar di atas).

Flatpak juga menyediakan antarmuka untuk memberikan dan mencabut izin. Anda dapat menggunakan aplikasi Perangkat Lunak GNOME (memerlukan GNOME 3.32.x) untuk mengelola izin menggunakan metode grafis. Untuk melihat izin aplikasi flatpak, jalankan perintah di bawah ini:

$ flatpak info --show-permissions org.kde.Peron

Ganti “org.kde.Platform” dengan nama aplikasi Flatpak Anda.

Untuk melihat daftar semua aplikasi flatpak yang terinstal di sistem Anda, jalankan perintah di bawah ini:

$ daftar flatpak

Untuk mengubah izin aplikasi flatpak, Anda harus mengubah nilai variabel yang ditunjukkan pada gambar di atas. Misalnya, perintah di bawah ini akan membuat seluruh sistem file tersedia untuk aplikasi flappak:

$ sudo flatpak menimpa org.kde.Platform --filesystem=host

AppImage tidak mendukung kontrol izin granular sampai sekarang, tetapi pengembang telah mengisyaratkan bahwa kontrol izin gaya Android dapat diterapkan di masa mendatang.

Kotak pasir

Snap, Flatpak, dan AppImage mendukung lingkungan aplikasi kotak pasir di luar kotak. Kotak pasir adalah lingkungan (atau wadah / sistem file / arsip) yang sepenuhnya terisolasi dan jauh dari sistem host. Setiap interaksi dengan sistem host dilakukan menggunakan API terbatas dan kontrol izin permission. Beberapa izin ini secara eksplisit memerlukan keikutsertaan oleh pengguna atau dapat dinonaktifkan sepenuhnya oleh pengguna akhir. Aplikasi kotak pasir lebih aman daripada aplikasi lain yang memiliki akses penuh ke sistem host. Semua aplikasi Android berjalan di kotak pasir dan ketiga format pengemasan ini bekerja dengan ide yang sama.

Dukungan Tema Asli

Ketiga format pengemasan mendukung tampilan dan nuansa asli untuk aplikasi GTK dan Qt, meskipun dengan beberapa batasan. Misalnya, Snap dan Flatpak memerlukan tema sistem untuk dikemas dalam format masing-masing. Jika Anda menggunakan paket tema dan ikon pihak ketiga, Anda mungkin tidak mendapatkan tema, kursor, dan ikon aplikasi yang benar. Integrasi telah meningkat dari waktu ke waktu tetapi sedikit gagal dibandingkan dengan aplikasi yang diinstal dari manajer paket resmi suatu distribusi.

Portabilitas Aplikasi

Aplikasi AppImage adalah satu file yang dapat dieksekusi (mirip dengan Windows .file exe). Anda dapat dengan mudah membagikannya antar sistem atau mengunggah ke cloud. Aplikasi Snap dan Flatpak dapat dibuat portabel dengan menyertakan aplikasi itu sendiri, serta repositori anak yang bergantung pada aplikasi. Namun, prosesnya tidak semudah AppImage dan membutuhkan banyak perintah untuk mencapai hasil yang sama.

Pembaruan Otomatis

Aplikasi Snap dan Flatpak diinstal dari repositori aplikasi terpusat dan aplikasi dapat diperbarui secara otomatis tanpa campur tangan pengguna. AppImage tidak memiliki mekanisme pembaruan otomatis yang kuat. Pengguna harus mengunduh biner AppImage baru secara manual dan mengganti yang sudah ada untuk menginstal pembaruan. Pengelola aplikasi AppImage terkadang menyertakan mekanisme pembaruan mereka sendiri yang secara berkala memeriksa ketersediaan pembaruan di server mereka atau memerlukan intervensi pengguna. Baru-baru ini, pengembang AppImage menyediakan alat untuk memperbarui binari yang ada dengan menyediakan pembaruan delta. Namun, masih perlu mengunduh alat pembaruan dan menggunakannya secara manual dengan biner AppImage yang ada. Belum ada mekanisme pembaruan handsfree yang tersedia untuk AppImage.

Ukuran Aplikasi

AppImage memiliki jejak ukuran aplikasi terendah, kemungkinan besar karena menyajikan biner dalam format terkompresi. Ukuran aplikasi Snap dan Flatpak sangat bervariasi dari satu aplikasi ke aplikasi lainnya dan sulit untuk memastikan mana yang menyediakan ukuran instalasi yang lebih rendah. Sekedar referensi, Inkscape AppImage pada saat penulisan artikel ini sekitar 98 MB, Snap sekitar 183 MB dan Flatpak sekitar 109 MB.

Kesimpulan

Paket aplikasi universal adalah situasi yang saling menguntungkan bagi pengembang dan pengguna akhir. Format pengemasan ini memungkinkan pengiriman aplikasi aman yang jauh lebih cepat. Mereka juga membuka pintu bagi pengembang yang menghindari Linux karena standar pengemasan yang berbeda yang digunakan dalam distribusi yang berbeda. Ada beberapa masalah yang perlu diselesaikan dalam tiga format kemasan ini. Namun, mereka semua sedang dalam pengembangan aktif dan masalah ini akan diperbaiki dari waktu ke waktu. Paket lintas distribusi universal adalah masa depan dan adopsinya akan meningkat. Perlahan tapi pasti, distribusi dapat pindah ke Snap, Flatpak, atau AppImage build di masa mendatang kecuali untuk pustaka inti dan paket penting yang diperlukan agar OS berfungsi.

Cara Menampilkan Penghitung FPS di Game Linux
Game Linux mendapat dorongan besar ketika Valve mengumumkan dukungan Linux untuk klien Steam dan game mereka pada tahun 2012. Sejak itu, banyak game A...
Cara mengunduh dan Memainkan Civilization VI Sid Meier di Linux
Pengenalan permainan Civilization 6 adalah konsep modern dari konsep klasik yang diperkenalkan dalam seri game Age of Empires. Idenya cukup sederhana;...
Cara Menginstal dan Memainkan Doom di Linux
Pengantar Doom Seri Doom berasal dari tahun 90-an setelah rilis Doom. Itu adalah hit instan dan sejak saat itu seri game telah menerima banyak penghar...