Movatterモバイル変換


[0]ホーム

URL:


Canonical Snapcraft
MenuClose menu

The app store for Linux


Snaps you may like



Official snaps from major publishers

Mozilla
KDE
JetBrains
Spotify
Google
Microsoft

Latest news fromour blog ›


Aaron Prisk



Igor Ljubuncic

Learn how to snap an app in 30 minutes


Choose
your language:


Why are snaps good for C/C++ projects?

  • Snaps are easy to discover and install. Millions of users can browse and install snaps graphically in the Snap Store or from the command-line.
  • Snaps install and run the same across Linux. They bundle the exact versions of your app’s dependencies.
  • Snaps automatically update to the latest version. Four times a day, users’ systems will check for new versions and upgrade in the background.
  • Upgrades are not disruptive. Because upgrades are not in-place, users can keep your app open as it’s upgraded in the background.
  • Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision.

In just a few steps, you’ll have an example C/C++ app in the Snap Store.


Here's howDOSBox defines snapcraft.yaml:


Why are snaps good for Electron projects?

  • Snaps are easy to discover and install. Millions of users can browse and install snaps graphically in the Snap Store or from the command-line.
  • Snaps install and run the same across Linux. They bundle Electron and all of your app’s dependencies, be they Node modules or system libraries.
  • Snaps automatically update to the latest version. Four times a day, users’ systems will check for new versions and upgrade in the background.
  • Upgrades are not disruptive. Because upgrades are not in-place, users can keep your app open as it’s upgraded in the background.
  • Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision.

In just a few steps, you’ll have an example Electron app in the Snap Store.


Here's how to use it withElectron quick-start


Why are snaps good for Flutter projects?

  • Snaps are easy to discover and install. Millions of users can browse and install snaps graphically in the Snap Store or from the command-line.
  • Snaps install and run the same across Linux. They bundle the exact versions of your app’s dependencies.
  • Snaps automatically update to the latest version. Four times a day, users’ systems will check for new versions and upgrade in the background.
  • Upgrades are not disruptive. Because upgrades are not in-place, users can keep your app open as it’s upgraded in the background.
  • Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision.

In just a few steps, you’ll have an example Flutter app in the Snap Store.


Here's howmy-flutter-app defines snapcraft.yaml:


Why are snaps good for Go projects?

  • Easy to discover and install by millions using the Snap Store or command-line every day
  • Automatically updated to the latest stable version of your app
  • Revert to the previous version if an update fails, preserving data

Programming in Go makes it easy to create a zip of your app that runs across Linux, without dependencies. However, end user discovery and update management remain a challenge. Snaps fill this gap, letting you distribute a Go app in an app store experience for end users.

In just a few steps, you’ll have an example Go app in the Snap Store.


Here’s howWoke defines snapcraft.yaml:


Why are snaps good for Java projects?

  • Simplify installation instructions, regardless of distribution, to snap install myjavaapp.
  • Directly control the delivery of automatic application updates.

Distributing a Java application for Linux and reaching the widest possible audience is complicated. Typically, the user has to make sure the JRE/SDK version and their environment are configured correctly. When a Linux distribution changes the delivered JRE, this can be problematic for applications. Snapcraft ensures the correct JRE is shipped alongside the application at all times.

In just a few steps, you’ll have an example Java app in the Snap Store.


Here's howFreeplane defines snapcraft.yaml:


Why are snaps good for MOOS projects?

  • Bundle all the runtime requirements, including the exact version of MOOS/MOOS-IvP and system libraries you need.
  • Directly and reliably control the delivery of application updates using existing infrastructure.
  • Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision.
  • Extremely simple creation of daemons.

In just a few steps, you’ll have an example MOOS app in the Snap Store.


Here's an example snapcraft.yaml that uses MOOS:


Why are snaps good for Node.js projects?

  • Easy to discover and install by millions using the Snap Store or command-line every day.
  • Automatically updated to the latest stable version of your app.
  • Revert to the previous version if an update fails, preserving data.

With npm you can distribute apps to other developers, but it’s not tailored to end users. Snaps let you distribute your Node app in an app store experience.

In just a few steps, you’ll have an example Node.js app in the Snap Store.


Here's howwethr defines snapcraft.yaml:


Why are snaps good for pre-built apps?

  • Easy to discover and install by millions using the Snap Store or command-line every day
  • Automatically updated to the latest stable version of your app
  • Revert to the previous version if an update fails, preserving data
  • Isolation ensures no conflicts between applications
  • Identical behaviour across Linux distributions, even with library dependencies

Distributing the Linux build of your app as a zip lets you provide one download and set of instructions for all of Linux. However, end user discovery and update management remain a challenge. Snaps fill this gap, letting you wrap your existing Linux build in an app store experience for end users.

In just a few steps, you’ll have an example pre-built app in the Snap Store.


Howgeekbench 4 defines snapcraft.yaml


Why are snaps good for Python projects?

  • Easy to discover and install by millions using the Snap Store or command-line every day
  • Automatically updated to the latest stable version of your app
  • Revert to the previous version if an update fails, preserving data
  • Isolation ensures no conflicts between applications
  • Identical behaviour across Linux distributions, even with library dependencies

With PyPI you can distribute apps to other developers, but it’s not tailored to end users. Virtualenv lets you install an app’s dependencies in isolation, but it’s not automatically used for installs from PyPI. Snaps let you distribute a dependency-isolated Python app in an app store experience for end users.

In just a few steps, you’ll have an example Python app in the Snap Store.


Here's howliquidctl defines snapcraft.yaml:


Why are snaps good for ROS projects?

  • Bundle all the runtime requirements, including the exact version of ROS and system libraries you need.
  • Expand the distributions supported beyond just Ubuntu.
  • Directly and reliably control the delivery of application updates using existing infrastructure.
  • Extremely simple creation of daemons.

In just a few steps, you’ll have an example ROS app in the Snap Store.


Here's an example snapcraft.yaml that uses ROS:


Why are snaps good for ROS2 projects?

  • Bundle all the runtime requirements, including the exact version of ROS and system libraries you need.
  • Expand the distributions supported beyond just Ubuntu.
  • Directly and reliably control the delivery of application updates using existing infrastructure.
  • Extremely simple creation of daemons.

In just a few steps, you’ll have an example ROS2 app in the Snap Store.


Here's an example snapcraft.yaml that uses ROS2:

name: ros2-talker-listenerversion: '0.1'summary: ROS2 Talker/Listener Exampledescription: |  This example launches a ROS2 talker and listener.confinement: devmodebase: core22parts:ros-demos:plugin: colconsource: https://github.com/ros2/demos.gitsource-branch: humblesource-subdir: demo_nodes_cppstage-packages: [ros-humble-ros2launch]apps:ros2-talker-listener:command: opt/ros/humble/bin/ros2 launch demo_nodes_cpp talker_listener.launch.pyextensions: [ros2-humble]

Why are snaps good for Ruby projects?

  • Bundle all the runtime requirements.
  • Simplify installation instructions, regardless of distribution, to snap install myrubyapp.
  • Directly control the delivery of automatic application updates.
  • Extremely simple creation of services.

Linux install instructions for Ruby applications often get complicated. To prevent modules from different Ruby applications clashing with each other, developer tools like rvm or rbenv must be used. With snapcraft, it’s one command to produce a bundle that works anywhere.

In just a few steps, you’ll have an example Ruby app in the Snap Store.


Here’s howMarkdown lint tool uses it:

name: test-mdlversion: "0.5.0"summary: Markdown lint tooldescription: |  Style checker/lint tool for markdown filesconfinement: devmodebase: core18parts:test-mdl:source: .plugin: rubygems:      - rake      - bundleroverride-build: |        snapcraftctl build        rake installbuild-packages:        - gitapps:test-mdl:command: bin/mdl

Why are snaps good for Rust projects?

  • Easy to discover and install by millions using the Snap Store or command-line every day.
  • Automatically updated to the latest stable version of your app.
  • Revert to the previous version if an update fails, preserving data.

You can distribute your apps across Linux using a musl-enabled version of Rust, with all the dependencies satisfied. However, end user discovery and update management remain a challenge. Snaps fill this gap, letting you distribute a Rust app in an app store experience for end users.

In just a few steps, you’ll have an example Rust app in the Snap Store.


Here's howXSV defines snapcraft.yaml:

name: test-xsvversion: gitsummary: A fast CSV command line toolkit written in Rustdescription: |  xsv is a command line program for indexing […]base: core18confinement: devmodeparts:test-xsv:plugin: rustsource: .apps:test-xsv:command: bin/xsv

Testimonials

Heroku

“The auto-updating feature is huge”

Due to the nature of our platform, we release updates more than daily which admittedly can be annoying for our users to constantly update.

Therefore, having them done seamlessly in the background makes life for our users so much easier. It’s great to see snaps as the first serious attempt to try and unify the community.

Jeff Dickey
CLI engineer,Heroku

Microsoft

“Starting with snaps
is easy”

We definitely find Snapcraft easier as it is yaml based and provides details of what artifacts are needed. Debian packaging has things that need to be followed which can be distribution specific, which creates complication.

The modular containment is what appealed about snaps and [we] can see it will be a lot more flexible. Starting with snaps is easy and the resources that are provided are clean and structured which aids adoption.

Lee Coward and Rakesh Singh
.NET (Microsoft)

JetBrains

“A major software discovery tool”

The Snap store provides additional exposure to our tools for many of our existing and potential users. The decision to use it came quite naturally. We believe the store will be a major software discovery tool on Linux, so the more people find out about our tools naturally and install them more easily, the better for everyone.

Aleksey Rostovskiy
Engineer,JetBrains

Showcase to millions

Reach beyond your existing audience with a listing on the Snap Store, the front page for app discovery on Ubuntu and other popular distros.

Browse the Snap Store

Snap details page

Measure user growth

Make data-driven decisions with active install metrics. Watch as automatic updates migrate users to your latest release. Understand your audience with geographic and version breakdowns.

Snap metrics

Contact us


[8]ページ先頭

©2009-2025 Movatter.jp