Background of the Study
Introduction
NetBeans started as a student project (originally called Xelfi) in the Czech Republic, in 1996. The goal was to write a Delphi-like Java IDE (Integrated Development Environment) in Java.
Xelfi was the first Java IDE written in Java, with its first pre-releases in
- Xelfi was a fun project to work on, especially since the Java IDE space was uncharted territory at that time.
Here you see the original group of students who constituted the original NetBeans Team
The project attracted enough interest that the students, once they graduated, decided that they could market it as a commercial product selling it as shareware. Soliciting resources from friends and relatives for a website, they tried to form a company around it.
Xelfi
Soon after, they were contacted by Roman Stanek, at the time a Director of Operation in an IT company, that wanted to build his own company and was looking for talented programmers. He was looking for a good idea to invest in, and discovered Xelfi. He met with the founders; they hit it off, and a business was born.
NetBeans = Network + Java Beans
The original business plan was to develop network-enabled JavaBeans components. Jaroslav Tulach, who designed the IDE’s basic architecture, came up with the name NetBeans (from Network and Java Beans) to describe what the components would do. The IDE would be the way to deliver them.
When the specification for Enterprise Java Beans came out, it made more sense to work with the standard for such components than to compete with it, but the name stuck.
In the spring of 1999, NetBeans DeveloperX2 was released, adopting the javax.swing. package names from the previous com.sun.swing. ones. NetBeans was the first tool in on the market to support these new package names, and that increased a lot the awareness of NetBeans.
Literature Review
The performance improvements that came in JDK 1.3, released in the fall of 1999, made NetBeans a viable choice for development tools. By the summer of 1999, the team was hard at work re-architecting DeveloperX2 into the more modular NetBeans that forms the basis of the software today.
The First Modular Architecture
Along the way, an interesting thing happened. People began building applications using the NetBeans IDE’s platform, together with their own plugins, often creating applications that were not development tools at all. In fact, this turned out to have quite a market.
Later, in 2000 and 2001, a lot of work went into stripping out pieces that made the assumption that an application built on NetBeans was an IDE, so that the platform would be a generic desktop application suitable to any purpose. This work turned out to be healthy for the codebase of the IDE as well, encouraging a clean API design and a separation of concerns. This is the reason why some of the modules of NetBeans are called org.openide.
The Sun era: open source
Something else was afoot in the summer of 1999. Sun Microsystems wanted better Java development tools, and had become interested in NetBeans. It was a dream come true for the NetBeans team. NetBeans would become the flagship tool set of the maker of Java itself!
By the Fall, with the next generation of NetBeans Developer in beta, a deal was struck. Sun Microsystems had also acquired another tools company, Forté, at the same time, and decided to rename NetBeans to Forté for Java. The name NetBeans was dropped… for a while.
During the acqusition, the young developers who had been involved in open-source projects for most of their programming careers, mentioned the idea of open-sourcing NetBeans. Fast forward to less than six months later, the decision was made that NetBeans would be open sourced.
While Sun had contributed considerable amounts of code to open source projects over the years, this was Sun’s first sponsored open source project, one in which Sun would be paying for the site and handling the infrastructure. The very first decision made was that it sounded logical to call the new site: NetBeans.org.
In June 2000, the initial netbeans.org web site was launched. The years that followed focused on continual enhancements from release to release, as described in the section below.
From NetBeans 3.2 to NetBeans 3.6
The first year (through NetBeans 3.2), the project spent trying to find its feet. The next few years involved learning about what worked in terms of open-source processes. (In the first two years, the development process was so open that more time was spent debating than implementing.)
NetBeans 3.6 structured the projects as filesystems
The growing pains paid off. With NetBeans 3.5, huge strides in performance were made, and tests and processes put in place to prevent regressions. With 3.6, the windowing system and property sheet were reimplemented, and the user interface cleaned up tremendously.
NetBeans 4
NetBeans 4, released in December 2004, was a complete change in the way the IDE worked. A new project system not only revamped the user experience, but also made it possible to replace infrastructure that had held the NetBeans back.
The release introduced a project system based on Apache Ant, added JDK 1.5 Support and had initial support for mobility projects.
The NetBeans 4.1 release (may 2005) was built on top of the new project infrastructure of 4.0, and added more features and full J2EE support.
NetBeans 5
NetBeans 5 (january, 2006) introduced comprehensive support for developing IDE modules and rich client applications based on the NetBeans platform; an intuitive GUI builder (Matisse); new and redesigned CVS support; support for Sun ApplicationServer 8.2, Weblogic 9 and JBoss 4.
NetBeans 5.5 (october, 2006) and 5.5.1 (may, 2007) supported the Sun Java System Application Server PE 9 and 9.1 (Glassfish) as well as Java EE 5 API compliance (JPA, JAX-WS, EJB 3), and through “Enterprise Packs” included enhanced support for Mobility, C/C++ Projects, SOA applications and BPEL.
NetBeans 6
NetBeans 6 (december, 2007) focused on improved developer productivity through a rewritten, smarter and faster editor, together with the integration of external NetBeans products into one IDE.
In August, 2010, NetBeans 6.9.1 was released with OSGi support, bundling the Apache Felix OSGi container. It also supported JavaFX 1.3.1, was Java EE 6 compliant and included support for PHP, Ruby, C and C++ and many other features.
The Oracle era
When Oracle acquired Sun in 2010, NetBeans became part of Oracle. Oracle actively seeked for new developers to work on the NetBeans team and sees NetBeans IDE as the official IDE for the Java Platform.
NetBeans 7
NetBeans 7 was released together with JDK 7, providing editor tools for working with new JDK 7 language constructs, together with support for JavaFX 2.0.
NetBeans 7.1 introduced Netigso from (Net and a reversed OSGi). This was reused in Oracle’s JDeveloper as well, with important performance enhancements.
Releases from NetBeans 7.2 (january, 2012) to NetBeans 7.4 (october, 2015) continued introducing important features (HTML5, Cordova application development, enhanced JavaScript support and more) and improving performance.
NetBeans 8
NetBeans 8.0 (march, 2014) introduced full JDK 8 support for working with Profiles, Lambdas and Streams. Java ME Embedded 8 support and a wide range of JavaEE compliant application servers (WildFly, WebLogic, GlassFish, TomcatEE).
It also continued improving support for Maven, HTML5, PHP, C/C++ and JavaScript.
The 8 series last release was NetBeans 8.2 (october, 2016) that introduced ECMAScript 6 enhancements and experimental ECMAScript 7 support, while improving node.js, Oracle JET and PHP 7 support
About Apache NetBeans
Apache NetBeans is top level Apache Project dedicated to providing rock solid software development products (the Apache NetBeans IDE and the Apache NetBeans Platform) that address the needs of developers, users and the businesses who rely on NetBeans as a basis for their products; particularly, to enable them to develop these products quickly, efficiently and easily by leveraging the strengths of the Java platform and other relevant industry standards.
The two base products, the Apache NetBeans IDE and Apache NetBeans Platform, are free for commercial and non-commercial use, under the Apache license. The source code to both is available to anyone to reuse as they see fit, within the terms of use.
The Apache NetBeans project is also a vibrant community in which people from across the globe can ask questions, give advice, contribute and ultimately share in the success of our products. On the NetBeans mailing lists and forums, you will find posts from students, developers from top companies, and individuals looking to expand their skills.
The Apache NetBeans IDE
With over 18 million downloads of the NetBeans IDE to date, and over 800,000 participating developers, the NetBeans project is thriving and continues to grow, thanks to the individuals and partner companies. To be a part of the community, simply register for free.
Most developers recognize the NetBeans IDE as the original free Java IDE. It is that, and much more! The Apache NetBeans IDE provides support for several languages (Java, PHP, JavaFX, JavaScript, etc.) and frameworks, and more (C/C++) will be incorporated soon.
The Apache NetBeans Platform
The Apache NetBeans Platform is a generic framework for Swing applications. It provides the “plumbing” that, before, every developer had to write themselves—saving state, connecting actions to menu items, toolbar items and keyboard shortcuts; window management, and so on.
The NetBeans Platform provides all of these out of the box. You don’t need to manually code these or other basic features, yourself, anymore. See what some NetBeans-based applications look like. The platform does not add a lot of overhead to your application — but it can save a huge amount of time and work.
The Apache NetBeans Platform provides a reliable and flexible application architecture. Your application does not have to look anything like an IDE. It can save you years of development time. The NetBeans Platform gives you a time-tested architecture for free. An architecture that encourages sustainable development practices. Because the NetBeans Platform architecture is modular, it’s easy to create applications that are robust and extensible.