What We Will & Wonβt Cover
We're going to assume you have absolutely no experience in writing apps for elementary OS. But we will assume you have some basic programming knowledge and hopefully a little experience in Valaβor at least similarly-syntaxed languages. If youβre not familiar with Vala, we encourage you to brush up on it before reading this book. GNOMEβs Vala Tutorial is a good place to start.
Weβre also not covering design too much in this guide; thatβs what the Human Interface Guidelines (HIG) are for, and youβre highly encouraged to take a look at them before beginning your app. Weβre going to assume you have a basic knowledge ofβor at least a quick link toβthe HIG and focus more on coding.
Weβre going to cover several tasks including: building apps using GTK+, Granite, and other tech available in elementary OS; setting up a build system; hosting your code for collaborative development; packaging and distributing your new app; and more.
Imagine Youβre Learning to Drive a CarAs a student driver, you wouldnβt expect us to teach you about the inner workings of the car in order to get from one spot to another. Rather, you would expect to hear about the rules of the road and the technique required to make the car perform certain maneuvers. In much the same way, we wonβt be creating a computer engineering guidebook. We are going to cover concepts at a higher level. To steer the car analogy in a different direction, as a student mechanic youβre going to learn how to change the oil, swap out the seats, and adjust the suspension. Weβre not going to teach you every technical engineering aspect of internal combustion, aerodynamics, and the like.