Community
Participate
Working Groups
The compressed size of our Javascript library (client.js) that is pushed to the client is currently about ~ 980kB. We should try to reduce it by cleaning up unused code from the qooxdoo library. An example is conditional code where the conditions will always yield false. This can be due to settings (qx.core.Setting) that are never set in RAP.
I removed the following unused classes in CVS HEAD: - qx.io.remote.IframeTransport - qx.ui.form.InputCheckSymbol - qx.ui.form.CheckBox - qx.ui.form.RadioButton - qx.log.appender.HtmlElement - qx.application.Basic
I manually searched for static qooxdoo classes that could be removed, but found nothing that could be safely be removed without major refactoring.
I removed some dead code from the qx.bom.Element.* classes.
I removed unused classes qx.constant.Core, qx.core.Package and qx.lang.Generics in CVS HEAD. I found a couple more classes that can be removed with a reasonable amount of refactoring. Also, some more classes can be reduced in size by removing dead code.
Removed more dead code in CVS HEAD from these static classes: - qx.dom.Node - qx.util.Validation - qx.util.ColorUtil - qx.html.Dimension - qx.html.Scroll - qx.html.StyleSheet - qx.lang.Array - qx.lang.Function - qx.lang.String
Removed everyhting qx.locale.* (5 classes) with some refactoring in Calendar.js, Property.js, and Spinner.js.
removed qx.core.Log and the dead code in Object.js that used it.
Removed all remaining Interfaces (IApplication, IResizeable, IRange) with some minor refactoring, and qx.Interace. Interfaces are now no longer supported.
Removed the following classes with some minor refactoring in related classes: - qx.core.Aspect - qx.core.Version - qx.util.Compare - qx.bom.client.Engine - qx.util.Normalization Client.js in now 942KB, thats almost 40K less since this bug was opened. I could do this forever, but i think that i now have picked all the low-to-mid-hanging fruits. To remove any more code would mean considerable refactoring. The most tempting remaining target is probably LegacyProperty.js...
By removing client-logging and some other stuff we are currently at 880KB. LegacyProperty is used for 3 kinds of properties: - _legacy properties, which are not used, therefore that code can go - _fast properties, which are simple and rarely used, so that can go after some refactoring - _cached proprties, which are heavily used and can not be removed at this time As soon as Bug 342047 is fixed, it might be feasible to remove Alias.js. As soon as Atom has been removed or replaced with MultiCellWidget, the entire Preloading system could go.
After the Tree-Table merge, we are now at 863 kB.
Can some one explain me , how messages are exchanged between Java code on the server and Java script client code .. in case of Eclipse RAP applications
Hi. This is really off-topic, a better place for such questions is the forum (http://www.eclipse.org/forums/index.php?t=thread&frm_id=34). To answer your question, look here: http://wiki.eclipse.org/RAP/RWT
I think by 2.0 we trimmed the current client as much as can be done without re-implementing *a lot* of older code, which is hard to justify. Also, the new RAP protocol could provide an opportunity to create a real slim client with a completely new widget set.