Diving into Vala …

We thought we just throw some thoughts together as we explore using the programming language Vala for potential future development. Vala is - we understand - a language written initially by GNOME to develop GTK+ applications and interfaces. The Elementary OS developers have embraced this language. Budgie Desktop itself is primarily written in Vala. Why? It is fairly efficient - compiles to small executables and shared object libraries - and hence reduces memory usage. It is fairly memory safe - in that - whilst C can and will enable you to shoot yourself into your proverbial foot/head - at least Vala will hide the major C intracasies leading to more robust code. Well that's the claim anyway. As a team, our profiencies is primarily Python and Go. So exploring Vala is "interesting" - but very slow going since we keep thinking "well we did it this way in python ... so why doesnt Vala work in this way". Why are we looking at Vala? Well, we do want to understand the underlying components of Budgie Desktop - and hopefully fully understand what could & should be backported to 18.04LTS. Longer term - maybe/hopefully helping upstream in its maintainance. So we began by looking for tutorials already written. The valadoc website we have found is the best for beginners. The GTK+ kickstart video is really good - essential viewing. The two longer videos on that site are well worth reviewing and bookmarking. The compile budgie desktop based applets you need to install the package `budgie-core-dev`. Best steer clear from the upstream "budgie-desktop-examples" repo. We couldn't get it to compile - probably because it hasn't been updated to work with budgie-desktop v10.4.x Popovers. Excellent third-parties, Daniel Pinto and Cybre's repositories are excellent reference points.

Leave a Reply

Your email address will not be published. Required fields are marked *