The Artima Developer Community
Sponsored Link

PHP Buzz Forum
app.Builder.js - First release

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Alan Knowles

Posts: 390
Nickname: alank
Registered: Sep, 2004

Alan Knowles is Freelance Developer, works on PHP extensions and PEAR.
app.Builder.js - First release Posted: May 25, 2010 10:30 AM
Reply to this message Reply

This post originated from an RSS feed registered with PHP Buzz by Alan Knowles.
Original Post: app.Builder.js - First release
Feed Title: Smoking toooo much PHP
Feed URL: http://www.akbkhome.com/blog.php/RSS.xml
Feed Description: More than just a blog :)
Latest PHP Buzz Posts
Latest PHP Buzz Posts by Alan Knowles
Latest Posts From Smoking toooo much PHP

Advertisement
Article originally from AK BK Consulting blog

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 GObjects
that 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)


Read: app.Builder.js - First release

Topic: MySQL 5.0.51a-24+lenny2: Broken updates Previous Topic   Next Topic Topic: Monitoring Processes with PS

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use