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
