Merge CacioWeb
Ralf Heini
ralf.heini at aicas.de
Wed Jan 4 07:17:33 PST 2012
Hi Mario,
It's nice to hear that Cacio evolves. :-) We'd be happy if Cacio and CacioWeb will make it into the official OpenJDK.
As we have several graphical implementations here using Cacio (Win32, QNX Photon, MAUI, WindML and even more experimental ones), we found out that lots of code is duplicated in each target, like the generation of mouse "clicked" events. It would be nice if those things were part of the abstract implementation.
We'd like to pass our changes like bug fixes, clean-up, documentation and maybe even refactoring to the Cacio project. We still use OpenJDK6 here and probably will continue our development there for some time so we need to work around JDK7 stuff. I hope this will be possible for quite a while.
This CacioWeb thing is pretty cool and might become very interesting for us, though we haven't used it yet.
Regards,
Ralf
Mario Torre wrote:
> Hello all,
>
> I would like to ask a question about the future directions for Caciocavallo, and CacioWeb.
>
> As you may already know, Cacio is a project we started for the OpenJDK Innovators Challenge and was aimed at refactoring the graphics code in OpenJDK to allow custom peers (and hence easy the portability of the platform to new systems).
>
> It evolved from the set of patches necessary to allow plugging of a custom backend, to a full abstract implementation of the AWT peer code and has been quite successfully used in commercial environments for quite a lot of time, and it is now in maintenance mode since at least a couple of years, apart from some small patches and fixes that land from time to time.
>
> I think that the level of activity justifies to start thinking about the future and the final merge of the project on the JDK repositories (I think JDK8/JDK9 timeframe would be the goal).
>
> As I introduced, Cacio started as a series of JDK6 patches to enable custom graphics backends (and required a custom build of the JDK at the time), but those patches were all formally included in the JDK7, so today is already possible to use a Cacio based peer on JDK7 onward by just adding the shared Caciocavallo and peer code jar file without any extra patch or custom build. This makes a lot of sense, since Cacio is formally separated by the JDK, but at the same time puts some efforts on our side, since we need to maintain different versions of the project for each JDK release (major release). We decided to address this issue by only following the latest development version, while we tag a release where backward compatibility is known to break, and this approach seems to work quite well.
>
> On the other end, it could make more sense to include Cacio in the build process of the main JDK, especially since the only usable peer (and the only being actively developed) is currently the HTML5 one, and by integrating this in the JDK forest as well, my hope is to enable builds to pass (or be tested against) the TCK.
>
> I also hope that by having the code directly integrated in the JDK we will be able to reach more testers and fix more issues, since now Cacio is used in very specific environments only.
>
> In addition to that, in order to support the web peer, we are implementing a number of features that will surely be beneficial for the Java ecosystem, like client filesystem support over the HTML5.
>
> I believe that those additions could be very useful, and we call this project internally as WebJDK (spoiler: we will unveil something at FOSDEM if you would like to attend and are interested).
>
> I know that based on the new rules I will have to formally propose a project, but before doing this I want to see if a formal WebJDK would be something interesting for the community and not only for us, and if Cacio would be likely to be integrated in the JDK, or if you prefer the current situation where it's a separate library.
>
> If accepted, the WebJDK will include a custom JDK8 forest (or perhaps just the patches since are easier to manage) with all the code needed to enable web support (filesystem, deployment code, etc...), plus Cacio and the HTML5 peer code.
>
> We will develop this in the JDK8 timeframe and hopefully merge everything that makes sense in the "real" JDK9 forest.
>
> Any ideas, suggestions, criticism?
>
> Thanks,
> Mario
> ---
> pgp key: http://subkeys.pgp.net/ PGP Key ID: 80F240CF
> Fingerprint: BA39 9666 94EC 8B73 27FA FC7C 4086 63E3 80F2 40CF
>
> http://www.ladybug-studio.com
>
> IcedRobot: www.icedrobot.org
> Proud GNU Classpath developer: http://www.classpath.org/
> Read About us at: http://planet.classpath.org
> OpenJDK: http://openjdk.java.net/projects/caciocavallo/
>
> Please, support open standards:
> http://endsoftpatents.org/
>
>
>
--
Dipl.-Inform. Ralf Heini * Development and Support * Tel: +49-721-663 968-51
aicas GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com * Tel: +49-721-663 968-0
USt-Id: DE216375633, Handelsregister HRB 109481, AG Mannheim
Geschäftsführer: Dr. James J. Hunt
More information about the caciocavallo-dev
mailing list