Welcome to the NetBeans Platform Certified Training
The NetBeans Platform is a mature open sourced
Swing framework for building general
rich client applications. The platform is a "generic application", that is,
a runtime which can be used to develop desktop applications. NetBeans IDE is
one example of this type of application, but there are many others.
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 in 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 covers developing on the NetBeans Platform from the ground-up.
It covers two days in total. On the first day, we start with non-GUI applications:
simply making use of the module system, which is the core runtime of the
NetBeans Platform. Next, we cover the basic development
patterns and commonly used APIs. The second day is dedicated to a
tour of the reusable existing functionality built on the NetBeans Platform,
descriptions of how to empower it further, and examples of real software
applications consisting of multiple, decoupled modules.
Finally, after the two days outlined above, you will develop
a functioning project consisting of one or more modules. Or you will extend
an already existing project with new functionality.
Note: In addition to the NetBeans Platform Certified Training course,
we are preparing an on-line NetBeans Platform course, so that you
can take a structured course in your own time and location. Watch this space for
further announcements about this course.
Contents
Goals
Learn about the NetBeans Platform and become experienced
enough to be able to write a module, set of modules, and applications
based on the NetBeans Platform. Also, to be able to locate pieces
of code responsible for certain behaviour, change it and generate
a patch that could be integrated back into official NetBeans.org
source tree.
Content
Each of the two days consists of 5 sessions, lasting approximately
an hour each.
Though the above is the default course outline, it is completely open to change. If, for example,
the participants in one location are more interested in visual applications, then a stronger
emphasis can be placed on that. Alternatively, if the participants would like a stronger focus
on the latest APIs, then that is possible too. In other words, we can structure the course according
to local requirements in each case.
Requirements
You must be comfortable with
the core concepts of Java, as well as Swing. Since the NetBeans Platform is made for large
and complex applications, and is strongly focused on questions of architecture, the participants
in the course are expected to be comfortable with non-trivial applications.
Although this is not essential, we recommend that you familiarize yourself with one or more of the following books in advance:

Course Flow
A dedicated homepage will be available for each course, listing the
process that the course will follow, the expectations that you will be
asked to meet, and suggested assignments that you can complete to prove
you understand the material presented during the course. On completion of
an assignment, assuming the functionality is potentially generally useful,
you will be asked to upload it into the Plugin Portal,
so that others can make use of it. If your plugin is specifically useful to NetBeans IDE,
you might be asked if you'd like to have it contributed to the NetBeans sources. In that
case, you will need to sign a contributor's agreement to make this possible.
Certification
Participants in the NetBeans Certified Training will
receive at least one of the following:
- NetBeans Certified Associate. On completion of
the two day course. The basic level of certification,
which is given for attendance only. The level and quality of
the participant's understanding is not tested and therefore
not guaranteed in any way.
- NetBeans Certified Engineer. On completion of
the homework to a suitable level of quality. The recipient of
this level of certification has shown a significant level
of understanding of the NetBeans Platform. When faced with
two choices while completing their task, they will have chosen
the direction that is most correct for working with the NetBeans
Platform. For example, if they port a Java application to the NetBeans
Platform, they will use a TopComponent instead of
a JFrame.
After the course given at Linz, in Austria,
Christof Holl & Sabine Weiss received
this level of certification because of their work in understanding the
login infrastructure of the NetBeans Platform to such an extent that
they were able to write an excellent tutorial about it, while
Johannes Strassmayer used a wide
range of NetBeans APIs to create a font editor for a mobile MP3 player.
- NetBeans Certified Committer. On providing
work that is of a level of quality and usefulness for
it to be accepted as a
contribution to the
NetBeans sources. The recipient of this level of certification
has produced work that is not only of a very high quality but that
is useful to NetBeans IDE, or another application on the NetBeans Platform.
Moreover, the recipient has reacted promptly and accurately to the advice
given by the instructors based on feedback received while doing their
task. The recipient has a proven understanding of the development
processes and is completely aligned with the NetBeans Platform's
paradigms. In addition, the recipient has formally agreed to their
work being integrated into the NetBeans sources.
For example, Roland Poppenreiter and Stefan Riha
created a spell checker for XML and HTML files. The work was of a very high quality and, simultaneously,
provided functionality that NetBeans IDE did not already have but has needed for a very long time.
Schedule
The NetBeans Certified Training was introduced towards the end of 2007. It
has been, or will be, delivered in the following places:
- Johannes Kepler Universitat, Linz, Austria (Friday 9 - Saturday 10 November, 2007)
- CZJUG, Prague, Czech Republic (Thursday 6 - Friday 7 March 2008)
- Czech Technical University, Prague, Czech Republic (Thursday 27 - Friday 28 March, 2008)
- University of West Bohemia, Pilsen, Czech Republic (Thursday 10 - Friday 11 April, 2008)
- Charles University, Prague, Czech Republic (Thursday 29 - Friday 30 May, 2008)
- University of Philippines, Manila (Friday 20 - Saturday 21 June)
- ...
You too?
Would you like to become a certified NetBeans engineer too? There are several
ways of achieving this:
- Attend one of the planned training courses. See the schedule above.
- Ask us to deliver an in house training. Both companies and universities
are welcome to invite us to deliver the course in person. Depending on the circumstances,
we could provide the training in different ways, either in house at your location, or
locally here in Prague, or after a local Sun Tech Days, etc. Let us know your
preferences by writing to users@edu.netbeans.org. Tell us how many students will attend,
what your plans are with the NetBeans Platform, what your current skill set is, and so on.
- Take the upcoming online NetBeans Platform
training course. This course is in a planning phase. It should be available
in the coming months (watch this space).