Monday, August 27th, 2007
Foo: A Prototype based RIA framework
Someone actually named their framework Foo! That someone is Rizqi Ahmad, and he is also the developer of Zparse and MindFrame.
Foo is a framework specially designed for rapid development of Rich Internet Application. Its syntax is in someway similar to Adobe Spry, but it has more functionality and focused more to RIA Development.
Foo Framework is a Javascript Framework, built on top of the Prototype Framework, specially designed to ease the development of Rich Internet Application.
Foo acts as a virtual machine that translates Foo markups to javascript dynamically and chains it to your data to create a highly responsive Web Application. It combines the ease of html and the power of javascript to make it very easy to create very complex applications without forcing you to use all-in-one GUI sets.
Foo is very modular. It includes a Developer API that allows you to create custom markups and modules as you need without having to modify the core engine. So it increases your productivity, since you don’t need to hacks the code to make it behave as you wish. All you have to do is create a custom plugin.
You can checkout some demos such as the draggable, selectable lists.













Hey,
Rizqi, have you tested it in IE7 ? Selection is not working there :(
And one more suggestion :
I don’t know why do you guys love to add features like removing items from cart by dragging anywhere (Delete item in the current demo). Isn’t it easier to show that it can be deleted by clicking on some button placed on item ?
But anyway it’s good work ;)
Isn’t the demo supposed to be a demo? It only shows you all functionality of the framework. I don’t think anyone should use a drag-n-drop delete thingy in a real world application.
Emil, I completely agree with you. But it’s very popular to have delete via drg’n'drop in a demos, it’s strange to me :)
@Andriy
Sorry, I tested it in Safari 2.0+3.0, Firefox2.0, IE6 and Opera. I will definitely fix it!
@Andriy
OK, IE7 Bug fixed.
about delete. I only wanted to show the drag zone feature (Items in catalog cannot be dragged to delete).
@Emil – What should I instead show you in the demo? I will try to create another application to convince you ;)
The main feature of this framework is its binding capability. It lets you define a relation between two or more sections to make them automaticly synchronize themself to current state. So you don’t need to manually code them and it results in less javascript code (please see the source of each demo…)
Just curious, does Foo have any advantages over Spry ?
@Greg
As you may notice, it is more responsive than spry (you will notice in sorting demo). You can also insert javascript snippets inside your sections (Region in spry). You can create a complex section bindings. The custom attributes is extensible. The included extension can do drag and drop by just placing a “drag” attribute to your node. etc…
for more information please read the learn section.
Good work Rizqi!
@Rizqi
Realy good work, how about adding some default key bindings to the framework?
User can just press up and down keys to move via list of data for example .
@Rizqi Ahmad
It is a very interesting work … I ‘ll read more about it and try it out in my own applications.
Good work Rizqi bruv. I’m also interested in trying out your framework in my apps. For a first release its is indeed is a great effort.
Guys if you see other frameworks like prototype or scriptaculous they lack a lot of functionality or having a lot of bugs in their first launch which were fixed in later versions, and I think Rizqi have done a great work and indeed he deserves alot of admiration.