NetBeans is an Integrated Development Environment (IDE) and platform. Although initially the NetBeans IDE could only be used to develop Java applications, as of version 6 NetBeans supports several programming languages, either by built-in support or by installing additional plugins. Programing languages natively supported by NetBeans include Java, JavaFX, C, C++ and PHP. Groovy, Scala, Ruby and others are supported via additional plugins
In addition to being an IDE, NetBeans is also a platform. Developers can use NetBeans' APIs to create both NetBeans plugins and standalone applications.
Note
For a brief history of Netbeans, see http://netbeans.org/about/history.html.
Although the NetBeans IDE supports several programming languages, because of its roots as a Java only IDE it is a lot more popular with this language. As a Java IDE, NetBeans has built-in support for Java SE (Standard Edition) applications, which typically run in the user's desktop or notebook computer; Java ME (Micro Edition), which typically runs in small devices such as cell phones or PDAs; and for Java EE (Enterprise Edition) applications, which typically run on "big iron" servers and can support thousands of concurrent users.
In this book, we will be focusing on the Java EE development capabilities of NetBeans, and how to take advantage of NetBeans features to help us develop Java EE applications more efficiently.
Some of the features we will cover include how NetBeans can help us speed up web application development using JSF or the Servlet API and JSPs by providing a starting point for these kind of artifacts, and how we can use the NetBeans palette to drag and drop code snippets into our JSPs, including HTML and JSP markup. We will also see how NetBeans can help us generate JPA entities from an existing database schema (JPA is the Java Persistence API, the standard Object-Relational mapping tool included with Java EE).
In addition to web development, we will also see how NetBeans allows us to easily develop Enterprise JavaBeans (EJBs); and how to easily develop web services. We will also cover how to easily write both EJB and web service clients by taking advantage of some very nice NetBeans features.
Before taking advantage of all of the above NetBeans features, we of course need to have NetBeans installed, as covered in the next section.