Hello Dietrich,

I've managed to migrate my app from qooxdoo 0.7 (branches/legacy_0_7_x/qooxdoo) 
to 1.2 pre (trunk) and after a hard battle and some refactoring it works.

Congratulations! Thats good to hear for us. :)

This means we have a LOT of input fields. In the patient chart we have approx.:

    110 checkboxes
    260 radiobuttons
    100 textfields/textareas
    44 comboboxes

Thats really quite a lot! You are showing all these elements at the same time 
in one form? If not and you are showing the forms in separate tabs foe example, 
you can delay the creation of the tab e.g.


Here some manually measured times for the first opening of the window (dom 
creation and data loading):

        qooxdoo 0.7     qooxdoo 1.2pre
FireFox 3.6     ~1sec   ~3 sec
IE 8    ~2 sec  ~9 sec

For FF 3.6 the additional 2 seconds are not dramatic but for IE 8 waiting 
additional 7 seconds for the first start of the form is not acceptable.

About 9 sec is really too much and not acceptable. I fully agree with you!

There is no benefit for my customers in using the qooxdoo 1.2 version of the 
app. This gives no additional functionality, quite the opposite: it is, from 
their impression, MUCH slower. Additionally checkboxes and radiobuttons are to 
small compared to the native checkboxes and radiobuttons in 0.7.

The benefit for the developer should be one of the key things. If you continue 
the development of the app, you will sure be faster in developing. But you are 
still right, the app needs to be at least as good as the old one.


I took a look at how form fields are rendered in qooxdoo 0.7 and compared that 
to 1.2pre. I noticed the following differences regarding the number of created 
DOM elements:

        qooxdoo 0.7     qooxdoo 1.2pre  difference
checkbox        2 DIV, 1 INPUT  6 DIV, 1 LABEL  4 elements
radiobutton     2 DIV, 1 INPUT  6 DIV, 1 LABEL  4 elements
textfield       1 DIV, 1 INPUT  4 DIV, 1 INPUT, 1 LABEL 4 elements

The 1.2 numbers are worst case. I checked the textfield and there are some 
elements only created on demand. Maybe you have a worst case scenario?

Are my thoughts regarding the increase in execution time reasonable?

We are aware of that. We added a lot of new features since 0.7 which caused the 
increase of the DOM elements. As you can see, the checkbox and radiobutton is 
now fully themable which was not possible with the 0.7 once. Still, we have a 
open bug report to check if its possible to reduce the number of DOM elements 
to speed up the rendering:
http://bugzilla.qooxdoo.org/show_bug.cgi?id=3548

How can I reduce the amount of created dom elements?

I think there is not much you can do about it when you continue to use the 
default qooxdoo widgets.

Why does a textfield use additional 4 dom elements in 1.2pre compared to 0.7?

Fabian held a good presentation about how widgets are created in qooxdoo at the 
last years jsconf. Take a look at his slides: 
http://www.slideshare.net/fjakobs/autopsy-of-a-widget
He explains using a textfield how and why something is created.


Is it possible to re-implement native checkbox and radiobutton widgets from qx 
0.7 as a replacement of the 1.2pre versions?

Sure, custom widgets are always possible and quite easy to implement. I took 
some minutes to get an example checkbox running in the playground. Its not much 
but you see that its working and only using one div and one input:
http://tinyurl.com/3ab2ttm

Regards,
Martin

------------------------------------------------------------------------------
The Palm PDK Hot Apps Program offers developers who use the
Plug-In Development Kit to bring their C/C++ apps to Palm for a share
of $1 Million in cash or HP Products. Visit us here for more details:
http://p.sf.net/sfu/dev2dev-palm
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to