elementaryOS-devbook icon indicating copy to clipboard operation
elementaryOS-devbook copied to clipboard

Design and build apps for elementary OS.

Preface

Note

This book is a work-in-progress and I'm currently doing a major overhaul for elementary OS Juno development. You can support my work on Patreon or One-time Payment. Your support will enable me put more time into it and make it more awesome for everyone.

elementary Os

elementary OS is a Linux distribution that has caught the attention of many Linux users, as well as, users of other non-Linux based operating systems. Part of this traction can be attributed to its polished design and simplicity delivering a very good user experience. A remarkable attractor for elementary OS users is the App Center with over a hundred fully native applications very well designed and developed for elementary OS. The App Center enables third-party developers to submit their applications for publishing. Apps get reviewed and published within the shortest possible time, mostly few days after submission. Developers have the option to provide their application under a pay-what-you-want model making it lucrative for those looking to earn some passive income or form a business around it.

This book takes a simplistic approach to help you develop an application for elementary OS. The book is not meant to teach how to program in the Vala programming language nor is it meant to teach you GTK+ GUI programming. All you will learn is how to use your existing knowledge in Vala and GTK+ to design and build your application for elementary OS.

Below is an outline of the content of this book;

  • Chapter One: Introduction to Tools and Resources

    • [x] Learning resources
    • [x] Development tools
    • [x] Setting up your development environment
  • Chapter Two: Designing Your Application (UI and UX)

    • [x] Brainstorming
    • [x] Wireframing (UI, UX)
    • [x] Creating mock-ups, drawing icons and prototyping
    • [ ] Finalizing your designs
  • Chapter Three: Coding Your Application (Tutorials)

    • [x] Creating and structuring a project
    • [x] Diving into Vala and GTK+
    • [ ] Using the Granite extension
    • [ ] Using the Meson build system
    • [ ] Developing sample applications
  • Chapter Four: Getting Your Application Ready for the Real World

    • Creating and setting up a GitHub repository
    • Submitting your application to Huston
    • Creating setting-up website for your application
    • Future updates and improvements
    • Conclusion