Introducing Snaps and Snapcraft
A platform that enables developers to deliver applications to millions of Linux users and devices
Snapcraft is the universal app store for Linux. The Snapcraft team have created a platform that makes it simple to build and publish your applications, so they run on all major Linux distributions, decoupling application delivery from Linux distribution release cadence. Snapcraft hands direct control of publishing software to developers. No more old applications left sitting in Linux software repositories.
Targeting Linux as an application developer is hard, due to the multitude of distributions with differing release cadence and library versions. Discovery of software for Linux users is fragmented; some exists in distribution package repositories, some on project websites, some in Git releases, some in 3rd party or personal package repositories. As an application developer you have a long tail of old versions in use in the wild, but no real insight into how many users are using your software. Complex applications have complex installation instructions that can be a barrier to entry for many users.
This talk introduces Snaps and Snapcraft at a high level and explains the characteristics of Snaps that enable application developers to target all major Linux distributions (past, present, and future) with a single package. We will describe the tooling used to create Snaps and how to automate multi-architecture build and publish pipelines. We will demonstrate how complex installation documentation for multi-component applications will be replaced with one instruction. We will take a look at the metrics available to Snap publishers that provide insight into their audience and how being featured in the Snap Store delivers a measurable increase in user adoption.
- An introduction to snapcraft.io
- Bulletproof updates and secure app confinement
- Publish your application updates to millions of Linux users and devices
- Build and publish on every commit with the Snapcraft build service and common CI solutions
- Metrics available to Snap publishers
- Linux users seeking software
- Developers interested in targeting Linux
- Snapcraft supports any language and any build system.
- Snaps are simple to create, defined by a single yaml.
- Snaps put developers in control of their software life cycle on all Linux distributions.
- Snaps can bundle all the runtime requirements or connect to common frameworks.
- Snaps are confined, prevents tampering of the host OS and other Snaps.
- Various hooks and services are available to auto build and publish every commit or otherwise automate release management.
- Software is discoverable via the Snap Store on all major Linux distributions, including common desktop Software Centres.
- Build once, publish once, run on "Linux".
- Simplify the most complex installation instructions to
snap install mysoftware.
- Overview of Snap publisher metrics.
If there is space in the talk schedule I am happy to give this talk on the Saturday and Sunday
- 45 min
- LinuxFest Northwest 2019