[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [e4-dev] Does that mean SWT only exist in desktop ?
|
Hi,
Doing a full SWT-Port for the Web is a very hard task because some of
the concepts in SWT can't be emulated easily on the browser:
* Event-Loop: Todays browser though HTML5 brings webworkers are still
single threaded and so you can't e.g open blocking dialogs like you
do in SWT => SWT would have to introduce API with callbacks so
that one could write single-source code.
An example might make this clear:
Today:
----------8<----------
MessageBox msg = new MessageBox(parent,SWT.ICON_ERROR);
msg.setText("I'm the message");
msg.open(); // Blocking call
System.out.println("I'm running after dialog closed");
----------8<----------
In Future:
----------8<----------
MessageBox msg = new MessageBox(parent,SWT.ICON_ERROR);
msg.setText("I'm the message");
msg.open(new Runnable() {
public void run() {
System.out.println("I'm running after dialog closed");
}
});
----------8<----------
* There's no native GC in web-browsers and so stuff like tables/trees
with owner draw is not possible.
* ...
All those stuff lead me to believe that a SWT-Port is not feasable
(because a full one is not possible with todays SWT/JFace-API) and I
invested time to inventing an API which is compatible with Desktop and
Browser technologies and the result was UFaceKit whose API is designed
with Browser and Desktop-Support in mind:
* All API is none blocking and provides callbacks
* API free from platform natives like gc, fonts, images, ... but
instead usage of declartive syntax
E.g. Example from above in UFaceKit:
----------8<----------
desktop.showErrorDialog(
parent,
"Error",
"Error Message",
new Status(IStatus.ERROR,e.getMessage()),
new DataRunnable<Boolean>() {
public void run( Boolean data ) {
}
}
);
----------8<----------
Currently there's no finished port for GWT available but the
underpinning infrastructure for it is available:
* Eclipse Databinding of "3.5.2" (ready) [1]
* A "native" widget toolkit named QxWT [7] (ready) [2,3,4,5]
* Viewer implementations for structured QxWT controls (in development)
[1]
* ...
UFaceKit is an Eclipse Project but I haven't brought the GWT [8] stuff
to Eclipse yet because when I started I wasn't sure where all this is
going to.
Anyways to get a first impression on UFaceKit we have "consumeable"
builds [6] for our SWT-Implementation (Disclaimer: Because of whatever
reason p2 believes that it has version mismatches but setting up a
target platform by hand seems to be work).
Because my work in those areas I've indepth knowledge about them but
because of time constraints I can't help with getting such a port of SWT
going (beside questioning whether it makes sense with the current SWT-API).
Tom
[1]http://tomsondev.bestsolution.at/
[2]http://tomsondev.bestsolution.at/2010/01/05/background-to-qxwt-and-gwt-generator-integration/
[3]http://tomsondev.bestsolution.at/2010/01/10/qxwt-explained-part-2/
[4]http://tomsondev.bestsolution.at/2010/01/12/qxwt-explained-part-3/
[5]http://tomsondev.bestsolution.at/2010/01/15/qxwt-explained-part-4/
[6]https://build.eclipse.org/hudson/job/cbi-UFaceKit-nightly/
[7]http://www.ufacekit.org/qxwt/demos/QxDemo-dev/QxDemo.html
[8]http://www.ufacekit.org/
Am 28.01.10 02:31, schrieb Ivan Ooi:
> Hi all,
>
> Sorry, I understand that SWT for Java will support css but is there
> any chances that " SWT for e4 "
> will allow SWT Java users used back whatever they know or existing code
> with some changes,
> turn their applications into web enabled ? or will e4 port SWT to iPhone
> or iPad with the help of GWT or
> convert every things to Cocoa ?
>
> Thanks
>
>
>
>
> _______________________________________________
> e4-dev mailing list
> e4-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/e4-dev
--
B e s t S o l u t i o n . a t EDV Systemhaus GmbH
------------------------------------------------------------------------
tom schindl geschaeftsfuehrer/CEO
------------------------------------------------------------------------
eduard-bodem-gasse 5/1 A-6020 innsbruck phone ++43 512 935834