< Projects | Summer of Code/2007 | Projects Revision as of 22:50, 11 June 2007 (view source)Dipesh (talk | contribs) (→Goals)← Older edit Revision as of 18:01, 9 July 2007 (view source) Dipesh (talk | contribs) (→Known problems)Newer edit → Line 34: Line 34: ===Known problems=== ===Known problems=== −* http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6493522+* Java Bug [http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6493522 # 6493522] −* http://forum.java.sun.com/thread.jspa?threadID=595559&messageID=3146104+* [http://forum.java.sun.com/thread.jspa?threadID=595559&messageID=3146104 libjvm.so: cannot open shared object file: No such file or directory] * since Java is more static then Python or Ruby, it's a tricky task to handle it in a dynamic way. * since Java is more static then Python or Ruby, it's a tricky task to handle it in a dynamic way. * rm -f CMakeCache.txt may help :) * rm -f CMakeCache.txt may help :) +* [http://java.sun.com/j2se/1.3/docs/guide/reflection/proxy.html Dynamic Proxies] are not flexible enough. See [http://websvn.kde.org/?view=rev&revision=685415 r685415]. Revision as of 18:01, 9 July 2007 Java backend for Kross Contents 1 Intro 1.1 Abstract 1.2 Project 1.3 Benefits 2 Status 2.1 Goals 2.2 Known problems Intro Abstract Kross is a scripting framework that allows a program to easily integrate support for multiple scripting languages. Currently Python, Ruby and KJS are supported. This project aims to integrate Java as another supported scripting language. Java is among the most used programming languages according to various sources, so supporting Java in Kross opens a lot of potential for programs using Kross as a scripting backend. This affects among others popular applications as KOffice, KWord, KSpread, Krita, Kexi and SuperKaramba. Project Create a Java backend for Kross. This will involve creating new code to the model of the existing modules for KJS, Python and Ruby. The code will have as much as possible (ideally full) documentation and unit test coverage. Benefits Every application using Kross will transparently receive dynamic Java scripting support. Since Java is one of the major programming languages these days, it would allow lots of developers to start scripting with a familiar language. Java comes with an extensive library of classes, which will then also be available to the program. Database access (JDBC), web server (Tomcat), RMI and networking, ... all become easily accessible for a wide variety of programs. Status Developing happens in the KDE SVN. Basic things are starting to work while there stays still a lot of work. Goals Developing happens according to eXtreme Programming and the following list provides a basic list of some selected goals. [DONE] Get some basic code done, that links against the jvm. [DONE] Be able to run "kross Test.class" that does actualy execute some java code. [DONE] Integrate a custom classloader and put it into a kross.jar [DONE] Get a simple sample done to connect native methods from a QObject to a Java method. [DONE] Introduce Extension to wrap QObject's and add InvocationHandler to generalize calls. [TODO] Java<=>Qt variables [TODO] Get that code generic to handle any kind of QObject. That point includes for sure multiple sub-points :) [TODO] Compile to bytecode on demand. Known problems Java Bug # 6493522 libjvm.so: cannot open shared object file: No such file or directory since Java is more static then Python or Ruby, it's a tricky task to handle it in a dynamic way. rm -f CMakeCache.txt may help :) Dynamic Proxies are not flexible enough. See r685415. Retrieved from "https://techbase.kde.org/index.php?title=Projects/Summer_of_Code/2007/Projects/KrossJava&oldid=11959" Content is available under Creative Commons License SA 4.0 unless otherwise noted.