GuiBuilder - Website for Gui Builder tool



Dynamic Form is a Python request abstraction library that lets you write one request handler that will run on multiple Python web frameworks (such as Django and Google's AppEngine). This allows you to create pages and apps once and use them on multiple projects without concern about which framework is being used. Additionally DynamicForm makes AJAX easy. Simply adding nested request classes allows you to define AJAX handlers that can easily be refreshed both sever-side and client-side.

Write This:
import random

from DynamicForm import DynamicForm, PageControls
from WebElements import UITemplate, Display

class Page(DynamicForm.DynamicForm):
    class MainControl(PageControls.TemplateControl):
        template = UITemplate.fromXML('''
                        <button id="newRandom" class="MainAction" text="Click to generate a new random number" />
                        <horizontalrule />
                        <empty accessor="randomNumber" />

        def initUI(self, ui, request):

        class RandomNumber(PageControls.ElementControl):
            def buildUI(self, request):
                return Display.Label(text=str(random.randint(0, 1000000)))
Get This:

Write Less, More Portable Code.

DynamicForm abstracts out most of the request logic so all you have to worry about is how you want to handle requests and turn them into responses. DynamicForm also allows you to group multiple request handlers simply by nesting classes - which enables easy code reuse of complex pages and widgets. Additionaly, the ability to write one request handler that works across development frameworks encourages DRY development and reduces platform lock-in.

Increase Your App's Performance.

DynamicForm makes making AJAX calls easy. This enables you to quickly optimize the perfomance of your web app, and encourages fast application design from the get-go. Additionaly, with DynamicForm you can combine several AJAX calls into a single request without having to change any of your request handlers, resulting in even faster performance.