The NetBeans Platform is the open-source NetBeans Integrated Development Environment (IDE) less those modules that make it a development tool. The platform is a “generic application” - a runtime which can be used to develop applications.
One of the key distinctions of software built upon the NetBeans Platform is modularity – reuse in the large. Such software is designed as logical sets of macro-components which integrate through well-defined API contracts. Writing modular applications brings some enhancements to programming in standard Java – particularly the ability to have Java classes which are only public to other classes within the archive they reside in. This has a number of beneficial effects on development – in particular, the ability to develop cleaner, simpler APIs by being able to fully conceal implementation from foreign code, while retaining type-safety.
This course will cover developing on the NetBeans Platform from the ground-up. On Friday, we will start with non-GUI applications – simply making use of the module system – the core runtime of the NetBeans platform. After that, we will cover basic patterns and commonly used APIs. The Saturday will be dedicated to tour around already available functionality built around the NetBeans Platform, descriptions of how to empower it and examples of real software application which consists of multiple, decoupled modules.
After that you will be asked to develop a functioning project consisting of one or more modules or to extend already existing project with new functionality.
Learn about NetBeans and became experienced enough to be able to write a module, set of modules, application based on the NetBeans Platform, or be able to locate piece of code responsible for certain behaviour, change it and generate a patch that could be integrated back into official NetBeans.org source tree.
Part of the course will be a project in which either a module, set of modules, application or a patch to existing functionality is delivered. The project source has to be delivered at the end of the semester. At the end of the semester there will be a written exam about the contents of the lectures. In order to pass the course, you will need to implement the project as well. The final grade will be computed from the exam and from the project.
| first-application.odp | ![]() |
598182 bytes |
| first-application.pdf | ![]() |
153132 bytes |
| hints.odp | ![]() |
24034 bytes |
| hints.pdf | ![]() |
60390 bytes |
| ideas-for-modules.odp | ![]() |
993203 bytes |
| ideas-for-modules.pdf | ![]() |
379287 bytes |
| nbp-contribute.odp | ![]() |
578745 bytes |
| nbp-contribute.pdf | ![]() |
115982 bytes |
| nbp-javabeans.odp | ![]() |
593396 bytes |
| nbp-javabeans.pdf | ![]() |
146598 bytes |
| nbp-loaders.odp | ![]() |
719337 bytes |
| nbp-loaders.pdf | ![]() |
157899 bytes |
| nbp-lookup.odp | ![]() |
3688303 bytes |
| nbp-lookup.pdf | ![]() |
2499132 bytes |
| nbp-outline.odp | ![]() |
3315631 bytes |
| nbp-outline.pdf | ![]() |
1500599 bytes |
| systemfs.odp | ![]() |
794225 bytes |
| systemfs.pdf | ![]() |
312423 bytes |
| window-system.odp | ![]() |
590592 bytes |
| window-system.pdf | ![]() |
140180 bytes |