app.Builder.js - First release
Published 2010-07-05 00:00:00
A Release!!! - Well Idle hands make cool stuff...
What is It?
Basically Glade on steriods. (and it needs a good name!!)What?
Well Glade the UI builder is great for what it does, however app.Builder.js attempts to solve a few roadblocks in Glade- Moving stuff around is klumsy - no drag drop - It's not very good for prototyping layouts...
- It's limited in what widgets can be added
- Coding (when used as an Ajunta addon) is just downright messy.
- It's difficult to extend/modify (and in some cases next to impossible)
- Adding additional properties to widgets is difficult
- Information is often hidden from display (how many clicks to find out what signals are connected)
- There is no 'run it and see' option.
So what makes this different..?
- It's all done in Javascript - using a tree like structure (and it's fully self hosting) - the application is used to modify it'self.
- It uses GObject Introspection. which solves a number of issues
- All available properties can be set (and quickly listed, with documentation)
- how widget's can be packed, can be determined from introspection of the methods.
- all signals are available, and stubs are created for you to start implementing.
- Making extra widgets to the application is just a matter of editing files (eventually a UI will enable you to pick from a list of available Introspection elements... )
- You can build web Applications (using toolkits like RooJS) - ExtJS, Moo etc. could be easily added..
- It should be quite easy to build Clutter applications...
Do I need to know anything to use it.
Yes, one of the core concepts behind the builder is understanding XObject, a simple Javascript wrapper around GObjectsthat enables you to create a JSON like tree, and XObject will turn your tree into an application.
Key features of the XObject are
- xtype - the name of the GObject (eg. Gtk.Window)
- packing - the pack property, can be a string (comma seperated indicating how an element is packed to it's parent)
- id - all objects can have ID's you can fetch any object using this.get('the_id') as long as it's a child of the current element. To look up the tree, use a '.' at the start, or to start at the top of the tree use '/', eg. this.get('/Window') get's you the window. this.get('/Window.toolbar') get's you the first toolbar in the window.
- el - when an element is created, the GObject is always stored in this.el
- |pipe - properties - currently the editor uses '|' as a prefix to indicate the value is raw Javascript (eg. a function or Value, that when used should not be quoted as if it was a string.
What state is it in?
Well, It's self editing.. - The application is used to create it's self, just create a new Gtk Project, and point it at the Sample directory, and you can edit the current codebase. (copying it to the Builder directory when you have a stable build)What's to do...
Quite a few tweaks.. It works, but could do with more time in polishing the interface. My personal goal is to save time using it as a productivity tool, for development. Which is basically where it's at..Where do I get it?
Download a tarball app.Builder.js.2010-05-25.tgz or
git clone http://git.akbkhome.com/app.Builder.js
once unpacked/cloned.
run install_gir.sh - to update your gir files.
If you want to try RooJS editor - you need git then
run update.sh
What do I need to get it to work?
basically a working gobject instrospection installation (.gir files and .typelib files) and the latest version of the Gnome seed interpreter
- I know it works on Linux. I would be interested to hear if it works on other platforms.
Note: there is a update script in the distribution which fixes the currently available Gtk gir's (please read the readme.txt for more info)
Mentioned By:
google.com : builder.js (34 referals)
roojs.com : RooJSolutions - When unstable is just not unstable enough (21 referals)
www.planet-php.net : Planet PHP (15 referals)
google.com : App.Builder.js (13 referals)
mail.gnome.org : Re: libseed-list seed && GtkTreeSelection (10 referals)
regator.com : app.Builder.js - First release - Alan Knowles | Regator (7 referals)
google.com : "builder.js" (7 referals)
www.qaiku.com : Qaiku | #midgard | using app.Builder.js together with Midgard's GIR bindings might be very interesting. "Glade on steroids" (3 referals)
google.com : appbuilder.js (2 referals)
planet-php.org : Planet PHP (1 referals)
m.qaiku.com : Qaiku | #midgard (1 referals)
google.com : "app.Builder" php (1 referals)
google.com : Alan Knowles gobject (1 referals)
google.com : extjs api (1 referals)
google.com : information about bulder.js (1 referals)
google.com : need a app builder (1 referals)
blog.astrumfutura.com : Example Zend Framework Blog Application Tutorial - Part 6: Introduction to Zend_Form and Authentication with Zend_Auth - Maugri (1 referals)
blog.astrumfutura.com : Maugrim The Reaper's Blog (1 referals)
google.com : builder.js (34 referals)
roojs.com : RooJSolutions - When unstable is just not unstable enough (21 referals)
www.planet-php.net : Planet PHP (15 referals)
google.com : App.Builder.js (13 referals)
mail.gnome.org : Re: libseed-list seed && GtkTreeSelection (10 referals)
regator.com : app.Builder.js - First release - Alan Knowles | Regator (7 referals)
google.com : "builder.js" (7 referals)
www.qaiku.com : Qaiku | #midgard | using app.Builder.js together with Midgard's GIR bindings might be very interesting. "Glade on steroids" (3 referals)
google.com : appbuilder.js (2 referals)
planet-php.org : Planet PHP (1 referals)
m.qaiku.com : Qaiku | #midgard (1 referals)
google.com : "app.Builder" php (1 referals)
google.com : Alan Knowles gobject (1 referals)
google.com : extjs api (1 referals)
google.com : information about bulder.js (1 referals)
google.com : need a app builder (1 referals)
blog.astrumfutura.com : Example Zend Framework Blog Application Tutorial - Part 6: Introduction to Zend_Form and Authentication with Zend_Auth - Maugri (1 referals)
blog.astrumfutura.com : Maugrim The Reaper's Blog (1 referals)
Follow us
-
- Some thoughts on the language server and its usefulness in the roobuilder
- Roo Builder for Gtk4 moving forward
- Clustered Web Applications - Mysql and File replication
- GitLive - Branching - Merging
- PDO_DataObject Released
- PDO_DataObject is under way
- Mass email Marketing and anti-spam - some of the how-to..
- Hydra - Recruitment done right
Blog Latest
-
Twitter - @Roojs