https://makealinux.app Make a Linux App [vscodium-a] Make Apps for Linux Desktop and mobile Linux users have a healthy appetite for new software. Linux app stores and repositories lack applications compared to their proprietary counterparts. Technical enthusiasts are encouraged to direct their passion and creativity towards creating fresh apps for Linux users. Too often they fall into the trap of creating more Linux distributions. We don't need more Linux distributions. Stop making Linux distributions, make applications instead. Why create more applications Scratch an Itch Ever had an idea for an application you personally need? You may find others have a similar desire for your application idea. Scratch that itch. Broaden the ecosystem New applications can inspire new developers on Linux. Building applications in the open allows developers even newer than yourself to learn and get started. Help build the next Linux app generation. Be creative Developing applications is a naturally creative endeavour. The sense of fulfilment gained when completing a project can be very rewarding. Exercise that half of your brain. [gnome-soft] Collaborate Building applications fosters communities. Linux communities often want to help developers succeed. Make something people want, and build a group of fans and contributors around it. Learn new skills Developing applications is a sought-after skill. There are many free training resources to help you learn to develop software. Level up your resume! Earn a wage Build popular paid applications and services. It's a myth that Linux users don't support developers financially. Use this as an opportunity to create a new source of income for yourself. [distro-tim] Target all the Linux distributions Unlike other platforms, Linux is a very diverse target. There are hundreds of Linux distributions, some more popular than others. Once published though, applications can generally work everywhere. There are well documented software packaging and distribution systems which enable developers to get their applications into the hands of users. Each developer framework and Linux distribution will have their own recommended route to users. When you're ready to share your creation, the development documentation will signpost their suggested packaging guides. Where to start [gnome-buil] GNOME The GNOME project builds the popular GNOME Shell desktop, and enables development based around Gjs and Gtk. Popular programming languages may be used with Gtk, including Python, C, C++, Rust, and even Javascript. GNOME Developer Center KDE Frameworks KDE produces the widely-used Plasma desktop and the tools and frameworks to create applications. The KDE Frameworks have enabled the development of many diverse desktop applications. KDE Frameworks primarily leverage the Qt toolkit and C++ programming language. KDE Frameworks Getting Started [kde-kdevel] [elementary] elementary OS elementary OS is a fast, open, and privacy-respecting replacement for Windows and macOS. The developers have built a desktop and ecosystem in which developers build applications. Their developer guide recommends Vala and Gtk for application development. elementary OS Developer Guide Electron Electron enables developers to build cross-platform desktop apps with JavaScript, HTML, and CSS. Electron developers can leverage the vast library of node modules to build their own applications on web technologies. Electron Documentation [electron-a] [ubuntu-tou] Ubuntu Touch Ubuntu Touch is an open source operating system designed to run on a variety of devices from phones to tablets and PCs. Native Ubuntu Touch applications are made using QML or HTML with their behavior defined in JavaScript, C++, Python, Rust or Go. Ubuntu Touch Documentation Developer opinion We need to ensure a thriving app ecosystem to bring Linux to the masses. Our dream of an open desktop, accessible to all can only be achieved by enabling everyone to develop for Linux. Neil McGovern Neil McGovern Executive Director of the GNOME Foundation To make Linux the operating system we all want, we need great apps. Join us, you will find the tools to create everything you ever imagined! Aleix Pol Aleix Pol President of the KDE e.V. and hacker There's a unique opportunity with desktop Linux to not only build great apps, but to help shape platform APIs and influence the overall direction of the desktop you're publishing on. Daniel Fore Daniel Fore Founder, elementary Working on Linux apps is a completely different experience from developing for a closed ecosystem. Though we're technically competitors, in the end, we're all collaborating on the same bigger vision. Jan Sprinz Jan Sprinz Member of the Board of the UBports Foundation Sharing Your Creation [appcenter] AppCenter Publish and monetize your app on AppCenter, the open, pay-what-you-want app store and build service for indie developers. Publish without disrupting your workflow--the AppCenter Dashboard integrates with GitHub for releases and issue tracking. AppCenter Dashboard AppImage Distribute your desktop Linux application in the AppImage format and win users running all common Linux distributions. Package once and run everywhere. Reach users on all major desktop distributions. AppImage Packaging Guide [appimage] [flatpak] Flatpak Flatpak is a framework for distributing desktop applications on Linux. It has been created by developers who have a long history of working on the Linux desktop, and is run as an independent open source project. Flatpak Documentation Open Build Service The openSUSE Build Service is the public instance of the Open Build Service (OBS) used for development of the openSUSE distribution and to offer packages from same source for Fedora, Debian, Ubuntu, SUSE Linux Enterprise and other distributions. openSUSE Build Service Help [obs] [snapcraft] Snapcraft Snapcraft is a powerful and easy to use command line tool for building snaps. Snaps are app packages for desktop, cloud and IoT that are easy to install, secure, cross-platform and dependency-free. Snapcraft Documentation Make a Linux App * GitHub This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.