jni4net road-map
0.8.x versions
0.9 version - new proxygen, new runtime
1.0 version
Future ideas, dreams
0.8.x versions
- Any bug fixes a contributions. No major investment in the current proxygen.
0.9 version - new proxygen, new runtime
This is huge effort - till now (19/09/2011) I spent 60 man days of late night work on it. I estimate I’m in the half of it. The feature list below is a vision, not hard promise. I will publish the code into working branch once it will stabilize enough.
- based on Unity IoC, strongly extensible
- CLR reflection done via IKVM.Reflection. Therefore could read CLR 4.0 images on machine with CLR 2.0. It could also live with partial resolution of dependencies.
- new code generator, ability to merge custom changes in generated java code
- desired proxygen features
- easier to comprehend and maintain by other people
- generate nested classes, nested interfaces
- handle enums, delegates, events, properties, indexers
- ref parameters on interface, multidimmensional arrays
- improved config file. Paths relative to config file. Wildcards for namespaces. Ability to skip method, rename it, change type of parameters.
- better proxies: less warnings, less overlapping methods
- produce better build files
- both lazy and explicit binding of the proxies. Via strong name and custom classLoader with .jar names
- support for cdecl calling convention
- decoupled from JDK and .NET framework proxies.
- prebuild proxies for full JDK and .NET framework libraries bundled with jni4net. Multiple versions.
- redesigned bridge API and setup experience, better logging
- loading of the proxy classes with custom classloader by default
- better optimization of marshaling
- will break backward compatibility
- better shutdown scenarios: detach thread, detach appdomain, unload classes, detach whole VM
1.0 version
- support for generics
- implicit conversions of IEnumerable, IList, IComparable etc.
- inheritance from a proxy
- mono support
- GUI for editing the proxygen config files. Drag and drop dependenies. Choose types and methods to wrap from a tree.
- documentation, more samples
Future ideas, dreams
- generate XML comments for proxies