何を説明しました Flatpak、スナップ、およびAppImage は、How Do They Stack? の記事にあります。は 2 年以上前に公開され、その時からテクノロジーは大幅に改善されましたが、私はソフトウェア開発者の観点からそれらを評価しています。
サンドボックス / 監禁
サンドボックスなしで AppImageを実行できます。 AppArmor および Firejail.
Snap はサンドボックスなしで実行できますが、 と密接に結合しているため、別のサンドボックスでは使用できません。 AppArmor.
Flatpak サンドボックスなしでは実行できず、Bubblewrap 以外のサンドボックスで使用することもできません.
インストール / 実行
.Snap は snapd によってインストールする必要があり、実行できませんインストールが完了するまで root アクセス権がなく、ダウンロード可能なファイルを
exe および dmg の隣に配置することもできません。ユーザーはオフライン システムにインストールできますが、圧縮されていないソースから実行できます。
Flatpak は Flatpak クライアント側ツールでインストールする必要があり、インストール後まで root アクセスなしでは実行できません。非圧縮ソース。また、flatpakref
ファイルにはインターネットと が必要ですflatpak バンドルにはランタイムをインストールする必要があります。
AppImage CD-ROMなどの非標準の場所からアプリケーションを保存および実行できます およびネットワーク共有。 .
このセクションでは、AppImageアプリケーションがより柔軟であるため、ケーキを取ります。
アプリケーションの配布とアップデート
Flatpak および Snap の中央リポジトリは FlatHub です。それぞれスナップストア。ユーザーは、AppImage バンドルとして利用可能なソフトウェアのカタログ化プラットフォームである AppImageHub から AppImage をダウンロードできます。
AppImage および FlatPak とは異なりますが、 Snap Store は、デバイスごとに 1 つのリポジトリを持つ唯一の支配的なアプリ ストアです。それが良いことか悪いことかは、あなたが決めることです。
3 つの方法すべてを使用してパッケージ化されたアプリは、複数のバージョンを並行して実行でき、別のマシンに簡単にコピーできます。ただし、独自の実装があります。
3 つすべてがバイナリ デルタ更新をサポートしますが、 AppImage アプリのみが Snap アプリのインストールには snapd が必要であり、Flatpak アプリのインストールにはが必要です。 Flatpak インストールする必要があります。
まとめ
AppImages および Snap は常に圧縮されたままです ( Flatpak はサーバー側でのみ圧縮されます)、通常は Flatpak アプリよりもサイズが小さくなります. AppImage また、どのディストリビューション メーカーにも依存せず、Linux プラットフォーム エコシステムの統合を目指しています。
Snap は Canonical によって所有され、そのベース スナップを配置しますFlatpak は Red Hat イニシアチブであり、Yocto ディストリビューションを配置します。基になるディストリビューション。また、Snapとは異なり、開発者は Canonical、に料金を支払う必要があります。 AppImage および Flatpak は無料で使用できます。
私の立場からすると、AppImagesは、開発者とエンド ユーザーの両方にとって最も便利なため、理想的なパッケージング方法です。ただし、特に開発者が他のいずれかを使用することを好む場合は、それらを共存させることができます。以下のコメント セクションでご意見をお聞かせください。
この記事の調査は、Similar プロジェクトと Reddit のスレッド (こことここ) から大きな影響を受けました。詳細については、お気軽にチェックしてください。