9.09.2010

Anjuta

After testing Anjuta, reading about autoconf, automake, Libtool and everything else involved, I know much more and understand what's so cool about Anjuta. It doesn't use any project files except settings for which Anjuta plugins where used/are required for this project. Everything else, program-realted lies with GNU auto tools. This is a very solution, since it's the standard way to build software from source using Linux. All you need to do is to make a new project and add your desired files. It automagically create source folders, create the whole autoconf setup and everything runs well. It also has a great user interfaces, with lots of features, but packed into a simple, very flexible user interface. It's a breeze to work without. I always thought CodeBlocks was the maximum of development comfort to me, but Anjuta gives many more good ways to hide and show all kinds of informations. I especially like how it - like gedit - integrates only actually useful and basic features that are always useful and deliver flexibility without complex setups or long preparations. It's definitely a real piece of GNOME software. It deserves it's place on the GNOME website. So I never need to setup autoconf manually! Hooray. I mean I know it does something so standard that it's really not necessary to get my hands dirty everything I create a new project. And yes, I have DOZENS of projects, mostly own libraries madeup of reusable source files. And to test each functionality properly, I also create test projects with every kind of possible data going in and out. Well, there's is still one oddity with compilation, cause it autoconf and make and seperated build/compile/execute commands, but I can cope with that. There's a good tutorial that explain how Autotools and Anjuta work..

I only wonder about why they hide settings if the appropriate window isn't visible or opened. I guess it depends on their plugin system, beeing a system made of plugins and enabling them only if they are necessary. This way it's clear why there are settings for loaded plugins - Anjuta saves plugin settings in every project. I hope there aren't settings that essential, like editor settings and so, it saves only in the project but resets them every editor start. This didn't happen so far and it only saves essential project information this way.

And seeing such a plugin system in use... I should also think about making some kind of GUI plugin system, where every part of a program is a plugin and you can load plugins dynamically into a random plugin window. Plugins then could just work together as if they were programs which do only the things they are made for - kinda a GUI version of the Unix philosophy! This way you could have a unified drag-n-drop system for every plugin, create your own sets of plugins as applications and mix whatever you want to create your own IDE or so. I like the idea, but it unfornately also bears some more thinkage and even more motivated than I could ever reach with this idea. It would be some kind of specialized desktop environment without the usual focus on single applications but rather the possiblity for plugins to work together and send each other information about which plugin does what and which requires which information and triggers what kind of action of another plugin.

No comments: