There are many problems with the way we present development documentation to users in the GNOME platform. The content is all pretty much there already, however it's quite fragmented and it lacks proper format and organization.
To address this a while ago I tried to put together some screencasts to promote the platform better and provide official documentation that is not focused on explaining every single piece of API or that is not focused to C developers.
After almost a year of trying to find the right combination of stable screencasting/video editting applications and spare time, I've finally put together the first of what I expect to be a series of screencasts targetted to promote the GNOME development platform in a useful way.
Any feedback would be welcome, but note that putting this together has been quite a difficult task. Hopefully there will be more of them now that I've managed to put together a nice timeline. Suggestions and help would be appreciated.
PS: I would like to give kudos to the PiTiVi guys, the app is no perfect, but it allowed me to perform the task which is something that no other video editor within the official Ubuntu repositories could say.
This was an excellent video – quick, informative and enjoyable.
However, my main desire is to find a resource that can quickly get me started learning to design interfaces in GTK. Is there an upcoming Glade tutorial? [I also ask because I am curious what this “GtkBuilder” I hear about is, and what the blessed way to develop GTK applications is].
LikeLike
Hi,
I can’t watch the video with Gnash. Is it also possible to download the video somehow?
Thanks!
LikeLike
Oh, sorry! I missed the Ogg link… So please forget my last comment and thank your very much for the video!
LikeLike
Wow this looks quite impressing!
So am I able to use pure C code in vala too? Or does every library have to be ported?
LikeLike
@DrHalan: you can use any C library if you have a ‘.vapi’ file for it. They are very easy to write, e.g. for libmysql:
http://git.gnome.org/browse/vala/tree/vapi/mysql.vapi
And you can do mixed-code projects (C and Vala). ‘valac’ accepts C files beside Vala files and passes them to the C compiler.
LikeLike
Excellent stuff. The only thing that bothered me slightly was the music. Can you do a screen cast with the music off, or at least a little bit toned down :-). Thanks
LikeLike
anonymous: You can load Glade files from Vala with GtkBuilder: http://live.gnome.org/Vala/GTKSample#Loading_User_Interface_from_XML_File
There’s a screencast (however, without speech):
http://www.archive.org/details/ScreencastBasicGtkWithVala
(the screencast is a little bit older – converting to GtkBuilder format is no longer necessary with newer Glade versions and the Video uses the old Vala signal connection syntax)
LikeLike
Thank you everyone for the comments.
@DrHalan:
You can mix C and Vala files indeed as fz mentioned. Vala is just a C#-ish to C/GObject compiler, the rest of the job (behind the scenes) is still done by GCC over normal C code. You don’t need any extra libraries, most of the common stuff is already wrapped through .vapi files.
@Christian:
Yeah, I agree is too loud at times, I should filter the music track a little bit to reduce global gain.
LikeLike
hmm I still have the feeling that vala is just the poor mans c++.
I see the benefit, but I dont think it justifies introducing all the mess with introducing yet another language which is based on gobject instead of re-using the work done with the STL/ Boost etc.
LikeLike
Hey, nice video!! I’m wating to see the next episode ehehe
Vala isn’t exactly a compiler: valac translate the project to C (gobject) and then compile it with gcc.
It means that, when debug with gdb, you will be debugging C code and not vala code, right?
Thanks!
LikeLike
@carlos costa: A compiler translates from a source language to a target language (often object code, but not necessarily), so ‘valac’ is a compiler by definition. But yes, Vala compiles to C. However, its design allows for multiple backends. Currently C is the only backend. Other compilers do this as well (think of Eiffel or Haskell compilers).
As for debugging: if you compile with the ‘-g’ command line option ‘valac’ will embed Vala source file and line information via #line directives into the generated code. So debuggers like GDB and GDB frontends like Nemiver will present you the Vala code and Vala source line numbers while stepping through the code or for setting breakpoints.
There was also some initial work done to add Vala support to GDB: http://abderrahim.arablug.org/blog/plugin/tag/gdb
LikeLike
@gant: sorry, I think my question was wrong! Its obvious valac is a compile by the definition of a compile… but lucky for me the error did not hinder the understanding and I got the correct answer 🙂
I’ll try the -g option to see the result and read the link you pointed me.
Thanks! see you around.
LikeLike
Thankyou, I enjoyed that. I’d love to see part 2 and more.
LikeLike
Great tutorial! Continue creating such screencasts 😀
LikeLike
Excellent tutorial, I want more of this! Vala seems excellent, Im truly excited about this project!
LikeLike
I’ve been visiting your blog for a while now and I always find a gem in your new posts. Thanks for sharing.
LikeLike
nice video.
more needed.
i’m hungry 😉
LikeLike