--
Yili Zhao
This is a timely question, and something that I have been looking into extensively. There are numerous ways we might possibly utilize some of the NetBeans modules, perhaps organized into three levels:
1) The NetBeans Lookup API can be utilized for a number of purposes:
- publish/subscribe ‘event bus’
- selection management (for ‘context aware actions’ and tools, etc).
- class reloading
(See: AboutLookup, What is a Lookup?) In addition to Lookup, there are other parts of the Utilities API that could also be utilized at this level.
2) The NetBeans Module System
The NB ‘runtime container’ provides much of the functionality of OSGi like dependency resolution, versioning, visibility (import/export)… NetBeans has recently adapted to/incorporated OSGi in a variety of ways, making it much less of an either/or situation. (See OSGiAndNetBeans) The NB Module System could provide the foundation for a robust modular architecture, should we decide we need this level of complexity. (See: NetBeans Runtime Container, the module system, Modules API, DevFaqClassLoaders)
3) NetBeans Platform Application
As you probably know, the NetBeans IDE is build on top of the NB Platform. NetBeans Platform provides a robust application framework. (There are many examples, especially interesting is imagine.) Whether or not we develop a version of ImageJ using a ‘rich client platform’, my hope is that we can architect ImageJ components so that can be incorporated into an RCP application - for instance, neurospy has incorporated ImageJ in some ways interesting ways, and Bio7 is an Eclipse-RCP-based that has actually has ImageJ embedded in it. A Platform-based application could provide a programmable/extensible image processing platform that leverages the power of the NetBeans IDE. (BTW, building an application on the NB Platform does not lock developers into using NetBeans IDE.)
For more of my NetBeans-related reseach, see:[http://imagejdev.org/gbh/netbeans]
I'm also experimenting with a project by one of the NetBeans core developers (Jesse Glick) called Sezpoz. It provides “modular, declarative registration of services, simple syntax verified at compile time, with service metadata inspectable prior to class loading” without using bytecode processing. (Also, see Declarative Registration Using Annotations)
I’m very interested to hear your thoughts on this. Have you used any of the NetBeans Modules for application development (other than the IDE)??
-- Grant Harris
This sounds interesting but may be an overkill. Most of the people
including me are interested in application development.
If the API is complicated too much its practical utility will drop
significantly.
Look for example at the 10s of subprojects of Apache in java: it is
difficult even to memorize their name let alone understand what they
are used to.
best regards,
Dimiter
> --
> You received this message because you are subscribed to the Google Groups
> "ImageJX" group.
> To post to this group, send email to ima...@googlegroups.com.
> To unsubscribe from this group, send email to
> imagejx+u...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/imagejx?hl=en.
>
This sounds interesting but may be an overkill. Most of the people
including me are interested in application development.
If the API is complicated too much its practical utility will drop
significantly.
Look for example at the 10s of subprojects of Apache in java: it is
difficult even to memorize their name let alone understand what they
are used to.
>>
From our discussion with the community, it is clear that ImageJ
development—both plugins, and on the core itself—must be
straightforward with various development workflows, especially:
command line, Fiji Script Editor, ImageJ macro editor, Eclipse, and
Netbeans. We absolutely do not want to "lock in" anyone to particular
development style.
<<
I agree 100% with this. We should not lock people into particular
development pattern.
I am also thinking that BSD is a good choice. In this manner the
developers/companies can keep the IP and this will make IJ more
attractive as a platform.
I have specific experience with Apache java projects and must say that
the code structure is complicated. So I don't make an unsupported
statement. I am personally using Eclipse but had also experience with
the first versions of Netbeans.
I am writing something similar to the imglib. Again Java Generics
pushed to the limit :) but my emphasis is more on generic iterators,
image addressability and n-D structuring elements. I will be curious
to compare the approaches.
I want to have a generic solution for n-D image manipulation.
If you are interested I can keep you informed.
best regards,
Dimiter
I am writing something similar to the imglib. Again Java Generics
pushed to the limit :) but my emphasis is more on generic iterators,
image addressability and n-D structuring elements. I will be curious
to compare the approaches.
I want to have a generic solution for n-D image manipulation.
If you are interested I can keep you informed.