Jump to: navigation, search

Difference between revisions of "Eclipse Techs For GWT/Databinding"

(Porting process)
(Additional things to consider)
Line 37: Line 37:
 
<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 able. A possible solution is to copy them from [http://harmony.apache.org/ Apache Harmony] project</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 <code>java.beans</code> package able. A possible solution is to copy them from [http://harmony.apache.org/ Apache Harmony] project</li>
 
</ul>
 
</ul>
 
</li>
 
</li>

Revision as of 03:07, 4 October 2007

JFace Data Binding
Home
How to Contribute
FAQ
Snippets
Concepts
Binding
Converter
Observable
Realm

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:

  1. GWT only provides a very small class lib (e.g. only ArrayList is available no LinkedList, no System.arraycopy)
  2. There are no threads, ... a possible solution to this could be later on Google-Gears
  3. 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

  1. Things we have to port are:
    • org.eclipse.core.runtime (partly): Status in progress
    • org.eclipse.core.databinding: Status in progress
    To not move the package our modules have to use

    Invalid language.

    You need to specify a language like this: <source lang="html4strict">...</source>

    Supported languages for syntax highlighting:

    4cs, 6502acme, 6502kickass, 6502tasm, 68000devpac, abap, actionscript, actionscript3, ada, algol68, apache, applescript, apt_sources, arm, asm, asp, asymptote, autoconf, autohotkey, autoit, avisynth, awk, bascomavr, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_loadrunner, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, coffeescript, cpp, cpp-qt, csharp, css, cuesheet, d, dcl, dcpu16, dcs, delphi, diff, div, dos, dot, e, ecmascript, eiffel, email, epc, erlang, euphoria, f1, falcon, fo, fortran, freebasic, freeswitch, fsharp, gambas, gdb, genero, genie, gettext, glsl, gml, gnuplot, go, groovy, gwbasic, haskell, haxe, hicest, hq9plus, html4strict, html5, icon, idl, ini, inno, intercal, io, j, java, java5, javascript, jquery, kixtart, klonec, klonecpp, latex, lb, ldif, lisp, llvm, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, mmix, modula2, modula3, mpasm, mxml, mysql, nagios, netrexx, newlisp, nsis, oberon2, objc, objeck, ocaml, ocaml-brief, octave, oobas, oorexx, oracle11, oracle8, otj, oxygene, oz, parasail, parigp, pascal, pcre, per, perl, perl6, pf, php, php-brief, pic16, pike, pixelbender, pli, plsql, postgresql, povray, powerbuilder, powershell, proftpd, progress, prolog, properties, providex, purebasic, pycon, pys60, python, q, qbasic, rails, rebol, reg, rexx, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, spark, sparql, sql, stonescript, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, upc, urbi, uscript, vala, vb, vbnet, vedit, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xbasic, xml, xorg_conf, xpp, yaml, z80, zxbasic


     like documented here
    
  2. Provide a replacement for Sytem.arraycopy (Maybe we could move them to a utility class?). We should implement as much our own but if bigger classes are needed later on e.g. BigInteger, ... lending those classes from Apache Harmony might make sense.
  3. 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)
  4. Create a set of scripts to automatically create GWT-Lib from Databinding-Sources

Additional things to consider

  1. 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 able. A possible solution is to copy them from Apache Harmony project

Bugs and Resources

  • Runnable Issue Link