| //// |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| //// |
| = Apache NetBeans History |
| :jbake-type: page |
| :jbake-tags: about |
| :jbake-status: published |
| :keywords: Apache NetBeans History |
| :description: Apache NetBeans History |
| :toc: left |
| :toc-title: |
| :icons: font |
| |
| == The student project |
| |
| NetBeans started as a student project (originally called Xelfi) in the Czech |
| Republic, in 1996. The goal was to write a link:https://en.wikipedia.org/wiki/Delphi_%28IDE%29[Delphi]-like Java IDE (Integrated |
| Development Environment) in Java. |
| |
| Xelfi was the first Java IDE written in Java, with its first pre-releases in |
| 1997. Xelfi was a fun project to work on, especially since the Java IDE space |
| was uncharted territory at that time. |
| |
| image::nb-history-1.png[caption="", title="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. |
| link:http://wiki.apidesign.org/wiki/User:JaroslavTulach[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. |
| |
| 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. |
| |
| [.feature] |
| -- |
| image::netbeans-2000-small.png[caption="", title"The NetBeans debugger on Linux in 2000", link="netbeans-2000.png"] |
| -- |
| |
| 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.) |
| |
| image::netbeans-36-filesystems.png[caption="", title="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. |
| |
| [.feature] |
| -- |
| image::netbeans-40-small.png[caption="", title"NetBeans 4.0 and the Form Editor", link="netbeans-40.png"] |
| -- |
| |
| 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 link:https://www.osgi.org/[OSGi support], |
| bundling the link:http://felix.apache.org/[Apache Felix OSGi container]. It also |
| supported link:https://openjfx.io/[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 link:http://wiki.netbeans.org/Netigso[Netigso] from (Net and |
| a reversed OSGi). This was reused in Oracle's JDeveloper as well, |
| with link:http://wiki.apidesign.org/wiki/JDeveloper[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. |
| |
| == The Apache Incubator era |
| |
| In 2016 Oracle donated the source code of NetBeans to the link:https://www.apache.org/[Apache Software Foundation], |
| and started as a podling in the link:http://incubator.apache.org/[Apache Incubator Project]. |
| |
| During approximately two years and a half many volunteers joined the podling, and work started to |
| adapt the codebase to comply with the Apache Software Foundation Guidelines. |
| The link:/community/index.html[Apache NetBeans Community] started growing, and in april 2019 the |
| podling became a Top Level Apache Project. |
| |
| === NetBeans 9 |
| |
| In July, 2018, the Apache NetBeans Team released |
| link:http://netbeans.apache.org/download/nb90/[Apache NetBeans (Incubating) 9], |
| the first release of the Apache NetBeans (incubating), with the main objectives |
| of IP clearance from the Oracle code donation and adding Java 10 support. |
| |
| In October, 2018, link:https://blogs.oracle.com/java/announcing-2018-dukes-choice-award-winners[Apache NetBeans (incubating)] was |
| honored as a Duke's Choice Award Winner. |
| |
| === NetBeans 10 |
| |
| In December, 2018, the Apache NetBeans Team released |
| link:http://netbeans.apache.org/download/nb100/[Apache NetBeans (Incubating) 10], the second release of the Apache NetBeans (incubating), |
| focusing in adding support for JDK 11, JUnit 5, PHP, JavaScript and Groovy, while solving many issues. |
| |
| === NetBeans 11 |
| |
| In March, 2019, link:http://netbeans.apache.org/nb110/[Apache NetBeans (Incubating) 11] was announced as the |
| third release of Apache NetBeans, sporting a renewed Gradle Support, a Maven First project wizard, |
| Java EE and JDK 12 support, as well as initial versions of NetBeans Maven Plugins the Apache NetBeans Tutorials. |
| |
| [.feature] |
| -- |
| image::nb11-small.png[caption="", title"Apache NetBeans (incubating) 11 showing the Lookup", link="nb11.png"] |
| -- |
| |
| |
| == The Apache Top Level Project era |
| |
| In April, 2019, the Apache NetBeans (Incubating) podling became a Top Level Apache Project. |
| |
| Today, the Apache NetBeans Team couldn't be prouder of how far the NetBeans project |
| and community has come. It is also worth noting that many of the original |
| architects are still involved in the project, and can be found participating on |
| the NetBeans mailing lists. |
| |
| Welcome to Apache NetBeans! The Apache NetBeans Community link:/participate/index.html[is inviting you to participate!]. |
| |
| |
| |