While preparing the abstract of a session for JavaOne 2006
, Petr Pisl—senior developer in the NetBeans J2EE team—introduced me to the WebFrameworkProvider
class of the NetBeans APIs
. (The NetBeans APIs enable you to extend the IDE. Plus, they enable you to build completely non-IDE related applications on top of the NetBeans core.) This class is really cool—it's really all you need for implementing the basics of a web framework in NetBeans IDE. My implementation doesn't do anything yet—but it already looks impressive. Here you can see that, in addition to the standard IDE 5.0 support for JSF and Struts, I've begun building support for Wicket and Tapestry (the dialog box below is what the user of NetBeans IDE sees when creating a web application, enabling him/her to add support for one or more web frameworks):
It's not much yet, but you can see that if I continue this way (by enabling the addition of framework libraries, configuration files, deployment descriptor information, code completion, hyperlinking, samples, and so on), any web framework can be supported without very much sweat.
Currently, in addition to learning about adding libraries and files for frameworks, I'm trying to get my head around code folding (and after that hyperlinking). The NetBeans APIs, once you have entry points to them (partly via the tutorials that are being put together), are really interesting and robust—you can very quickly throw far more together than you ever thought possible.