DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 966,904 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Cover image for How to Develop Linux Applications (Part 1)
Tina Huynh
Tina Huynh

Posted on

How to Develop Linux Applications (Part 1)

Table of Contents

  1. Why Create More Applications for Linux
  2. GNOME Development Center
  3. KDE Framework
  4. Elementary OS
  5. Electron.js
  6. Helpful Links

Why Create More Applications for Linux

  1. Ever wanted a specific application that wasn't available open-source?
  2. Broaden the ecosystem by helping to build the next Linux app generation
  3. Developing applications not only gives a sense of fulfillment but lets you be creative
  4. Earn some extra cash
  5. Develop new skills through free training resources and level up your resume

GNOME Development Center

The GNOME platform has new components, tools and docs. There's never been a better time to make apps for Linux.

Supported languages: C++, JavaScript, Python, Rust, and Vala

Builder is GNOME's IDE designed for creating applications with the GNOME platform that combines technologies such as GTK, Glib and more. Check more info here

Flatpak is the framework for building, distributing and running apps on Linux that allows developers to easily make apps in a stable development environment. View Flatpak's docs for more information.

human interface guidelines

There are also guidelines, human interface guidelines as well as tutorials you can view.

KDE Framework

KDE Framework 5 is a collection os 82 libraries that serves as the basic building block of KDE software. KDE Framework 5 (KF5) uses CMake

Helpful Links

Kirigami UI Framework

View the release announcement for KDE frameworks 5.70.0

There are also tutorials as well as design guidelines you can view for more information as well as Framework API docs.

Elementary OS

elementary os

Get started with the documentation or view elementary.io first.

Adhering to the suggestions contained here provides many benefits:

  • Users will learn to use your app faster, because it shares common elements that they are already familiar with.
  • Users will accomplish tasks more quickly, because you will have a straight-forward interface design that isn't confusing or difficult.
  • Your app will appear native to the desktop, and share the same elegant look as default applications.
  • Your app will be easier to document, because an expected behavior does not require explanation.
  • The amount of support you will have to provide will decreaseβ€”including the number of issues filedβ€”for the reasons above.

No experience is "needed" in writing apps for elementary OS because:

no experience in writing apps for elementary OS is assumed, but basic programming knowledge is

elementary os dev docs

View their developer docs and get started with your first app.

Electron

Electron developers to build cross-platform desktop apps with JavaScript, HTML, and CSS and that includes Linux!

By embedding Chromium and Node.js into its binary, Electron allows you to maintain one JavaScript codebase and create cross-platform apps that work on Windows, macOS, and Linux β€” no native development experience required.

Read about best practices in performance and security. And get amazing examples with code snippets you can run by downloading Electron Fiddle.

electron code snippet

Join their Discord server to get advice from other Electron app developers.

Helpful Links

Will you become a Linux app developer?

Happy coding!

Top comments (2)

Collapse
 
tmchuynh profile image
Tina Huynh Author

haha thanks! Always love the feedback!

Take a look at this:

Settings

Go to your customization settings to nudge your home feed to show content more relevant to your developer experience level. πŸ›