Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Eclipse Techs For GWT/Databinding"
(→Porting process) |
Ribs.acm.org (Talk | contribs) |
||
(19 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | == Disclaimer == | ||
+ | |||
+ | <b><font color="red">This is not part of the Official Databinding Effort lead by the Platform/UI-Team nor a project of the Eclipse-Team. The work done here is fairly experimental!</font></b> | ||
+ | |||
== Target == | == Target == | ||
Line 15: | Line 19: | ||
Things we have to port are: | Things we have to port are: | ||
<ul> | <ul> | ||
− | <li>org.eclipse.core.runtime (partly)</li> | + | <li>org.eclipse.core.runtime (partly): Status <font color="green">useable</font></li> |
− | <li>org.eclipse.core.databinding</li> | + | <li>org.eclipse.core.databinding: Status <font color="green">useable</font></li> |
</ul> | </ul> | ||
− | To not move the package our modules have to use | + | To not move the package our modules have to use like documented [http://code.google.com/webtoolkit/documentation/com.google.gwt.doc.DeveloperGuide.Fundamentals.Modules.ModuleXml.html here] |
</li> | </li> | ||
− | + | <li>Factor out not compilable code from Databinding e.g. the whole auto-conversion stuff can't work in GWT (no BigDecimal, no NumberFormat, no DateFormat) | |
− | <li>Factor out not compilable code from Databinding | + | |
− | e.g. the whole auto-conversion stuff can't work in GWT (no BigDecimal, no NumberFormat, no DateFormat) | + | |
</li> | </li> | ||
<li>Create a set of scripts to automatically create GWT-Lib from Databinding-Sources</li> | <li>Create a set of scripts to automatically create GWT-Lib from Databinding-Sources</li> | ||
</ol> | </ol> | ||
+ | |||
+ | == Reimplementations == | ||
+ | |||
+ | * Reimplementation of the standard converters and validators | ||
== Additional things to consider == | == Additional things to consider == | ||
Line 33: | Line 39: | ||
<ul> | <ul> | ||
<li>Get Core-EMF to compiled with GWT</li> | <li>Get Core-EMF to compiled with GWT</li> | ||
− | <li>Provide our own small EMF (I called it PEMF for PoorEMF) for this it would be handy to have PropertyChange-Support from the java.beans package | + | <li>Provide our own small EMF (I called it PEMF for PoorEMF) for this it would be handy to have PropertyChange-Support from the <code>java.beans</code> package available. A possible solution is to copy them from [http://harmony.apache.org/ Apache Harmony] project</li> |
</ul> | </ul> | ||
</li> | </li> | ||
</ol> | </ol> | ||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 14:37, 28 March 2009
Contents
Disclaimer
This is not part of the Official Databinding Effort lead by the Platform/UI-Team nor a project of the Eclipse-Team. The work done here is fairly experimental!
Target
The main goal of this project is to make the current Eclipse-Databinding project compiled into JavaScript using the GWT-compiler. There are the following things to consider:
- GWT only provides a very small class lib (e.g. only ArrayList is available no LinkedList, no System.arraycopy)
- There are no threads, ... a possible solution to this could be later on Google-Gears
- Keep the footprint as small as possible this might also mean to split the current plugin into multiple ones (e.g. the core one and another one with the automatic converter stuff)
Porting process
-
Things we have to port are:
- org.eclipse.core.runtime (partly): Status useable
- org.eclipse.core.databinding: Status useable
To not move the package our modules have to use like documented here
- Factor out not compilable code from Databinding e.g. the whole auto-conversion stuff can't work in GWT (no BigDecimal, no NumberFormat, no DateFormat)
- Create a set of scripts to automatically create GWT-Lib from Databinding-Sources
Reimplementations
- Reimplementation of the standard converters and validators
Additional things to consider
- There's no Reflection available in GWT and as a result of this no Beans-Support, we have to think about an other solution. As of now I see the following possibilities:
- Get Core-EMF to compiled with GWT
- Provide our own small EMF (I called it PEMF for PoorEMF) for this it would be handy to have PropertyChange-Support from the
java.beans
package available. A possible solution is to copy them from Apache Harmony project