Hello Petr,

1. How is average time that you need to create an user interface in
qooxdoo for your application? I mean everything except server-side
with testing and fixing core bugs.


Since I develop one single app, this is hard to say. As I have indicated in
an earlier mail, creating the actual UI never takes much time (I use
QxTransformer) - I reuse snippets from somewhere in my code, alter it, and
generate the necessary javascript. What is really tricky is the
client-server databinding and connecting client-side logic with server-side
data retrieval and to populate the widgets of my mainly data-driven
application. (That is why I long for more "databinding over the wire"
features in qooxdoo...).


Petr Kobalíček wrote:
> 
> 2. Are you building your own API to do RPC calls, handle forms, build
> UI, etc or are you using pure qooxdoo for everything?
> 

As you, I am using a library which is built on top the qooxdoo features
(http://qooxdoo.org/contrib/project/qcl) to make the RPC stuff and form
handling easier. I am very lazy concerning forms and, unless I need very
flexible forms, generate them on the server and display them on the client
with qcl and the Dialog contrib. For example, if I want to create a "Report
Bug" dialog, here's the client code:

    reportBug : function()
    {
      this.showPopup( this.tr("Please wait ...") );
      this.getRpcManager().execute(
        "bibliograph.main","reportBugDialog",[],
        function()
        {
          this.hidePopup();
        }, this
      );
    },

and on the server side:

  public function method_reportBugDialog()
  {
    $message = _("... text of the greeting message ...");,

    qcl_import("qcl_ui_dialog_Form");
    return new qcl_ui_dialog_Form(
      $message,
      array(
        'reportType' => array(
          'type'        => "selectbox",
          'label'       => "1." . _("Type of report"),
          'options'     => array(
            array( 'value' => 'bug',     'label' => _('Report a problem') ),
            array( 'value' => 'feature', 'label' => _('Request a feature') )
          )
        ),
        'problem'  => array(
          'label'       => "2." . _("Problem"),
          'type'        => "textarea",
          'lines'       => 3,
          'required'    => true
        ),
        'error'  => array(
          'label'       => "3." . _("Error Message"),
          'type'        => "textarea",
          'lines'       => 3
        ),
        'email'  => array(
          'label'       => "4." . _("Email"),
          'type'        => "textfield"
        )
      ),
      /* allow cancel */ true,
      $this->serviceName(),
      "sendBugReport"
    );
  }

  public function method_sendBugReport( $data )
  {
    /*
     * user pressed "cancel" button
     */
    if ( $data === null )
    {
      return "ABORTED";
    }

    // here stuff to send bug report

    /*
     * return the alert
     */
    qcl_import("qcl_ui_dialog_Alert");
    return new qcl_ui_dialog_Alert(
      _("Thank you for your report.") .
      ( isset( $data->email )
        ? ( " " . _("You will be notified as soon as it can be considered.")
)
        : "" )
    );
  }

The main reason to move the form creation to the server is that it is much
quicker to develop, because the app doesn't need to be reloaded to test the
new form. The downside is that there is some latency until the form is
displayed, and all forms look alike. 

This might be an option for you - you don't need the PHP backend to use the
auto-generated forms. And I know that there is a bug concerning
auto-generation of forms or widgets more generally ...

Have a good weekend,

Christian
-- 
View this message in context: 
http://qooxdoo.678.n2.nabble.com/Time-to-create-an-application-tp5170249p5171299.html
Sent from the qooxdoo mailing list archive at Nabble.com.

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to