NetBeans

Last updated

NetBeans IDE
Original author(s) Roman Staněk
Developer(s)
Stable release
21 [1]   OOjs UI icon edit-ltr-progressive.svg / 20 February 2024;60 days ago (20 February 2024)
Repository gitbox.apache.org/repos/asf?p=netbeans.git
Written in Java
Operating system Windows, macOS, Linux, Solaris; feature-limited OS independent version available
Platform Java SE, Java EE, JavaFX
Available in28 languages
List of languages
Type IDE
License Apache License 2.0 (previously CDDL or GPLv2 with classpath exception) [2]
Website netbeans.apache.org

NetBeans is an integrated development environment (IDE) for Java. NetBeans allows applications to be developed from a set of modular software components called modules. NetBeans runs on Windows, macOS, Linux and Solaris. In addition to Java development, it has extensions for other languages like PHP, C, C++, HTML5, [3] and JavaScript. Applications based on NetBeans, including the NetBeans IDE, can be extended by third party developers. [4]

Contents

History

NetBeans

NetBeans began in 1996 as Xelfi (word play on Delphi ), [5] [6] a Java IDE student project under the guidance of the Faculty of Engineering and Technology at Charles University in Prague. In 1997, Roman Staněk formed a company around the project and produced commercial versions of the NetBeans IDE until it was bought by Sun Microsystems in 1999. Sun open-sourced the NetBeans IDE in June of the following year. Since then, the NetBeans community has continued to grow. [7] In 2010, Sun (and thus NetBeans) was acquired by Oracle Corporation. Under Oracle, NetBeans had to find some synergy with JDeveloper, a freeware IDE that has historically been a product of the company, by 2012 both IDEs were rebuilt around a shared codebase - the NetBeans Platform. In September 2016, Oracle submitted a proposal to donate the NetBeans project to The Apache Software Foundation, stating that it was "opening up the NetBeans governance model to give NetBeans constituents a greater voice in the project's direction and future success through the upcoming release of Java 9 and NetBeans 9 and beyond". The move was endorsed by Java creator James Gosling. [8] The project entered the Apache Incubator in October 2016. [9]

NetBeans IDE

NetBeans IDE is an open-source integrated development environment. NetBeans IDE supports development of all Java application types (Java SE (including JavaFX), Java ME, web, EJB and mobile applications) out of the box. Among other features are an Ant-based project system, Maven support, refactorings, version control (supporting CVS, Subversion, Git, Mercurial and Clearcase).

Modularity: All the functions of the IDE are provided by modules. Each module provides a well-defined function, such as support for the Java language, editing, or support for the CVS versioning system, and SVN. NetBeans contains all the modules needed for Java development in a single download, allowing the user to start working immediately. Modules also allow NetBeans to be extended. New features, such as support for other programming languages, can be added by installing additional modules. For instance, Sun Studio, Sun Java Studio Enterprise, and Sun Java Studio Creator from Sun Microsystems are all based on the NetBeans IDE.

License: The IDE is licensed under the Apache License 2.0. Previously, from July 2006 through 2007, NetBeans IDE was licensed under Sun's Common Development and Distribution License (CDDL), a license based on the Mozilla Public License (MPL). In October 2007, Sun announced that NetBeans would henceforth be offered under a dual license of the CDDL and the GPL version 2 licenses, with the GPL linking exception for GNU Classpath. [10] Oracle has donated NetBeans Platform and IDE to the Apache Foundation where it underwent incubation and graduated as a top level project in April 2019. [11]

Other products

In an October 2016 interview with Gabriela Motroc, Oracle Vice President Bill Pataky stated that Oracle has a number of products that depend on NetBeans. [12]

NetBeans 6.0 installation disc NetBeans 6.0 installation disc.jpg
NetBeans 6.0 installation disc

Integrated modules

These modules are part of the NetBeans IDE:

NetBeans Profiler

The NetBeans Profiler [13] is a tool for the monitoring of Java applications: It helps developers find memory leaks and optimize speed. Formerly downloaded separately, it is integrated into the core IDE since version 6.0. The Profiler is based on a Sun Laboratories research project that was named JFluid. That research uncovered specific techniques that can be used to lower the overhead of profiling a Java application. One of those techniques is dynamic bytecode instrumentation, which is particularly useful for profiling large Java applications. Using dynamic bytecode instrumentation and additional algorithms, the NetBeans Profiler is able to obtain runtime information on applications that are too large or complex for other profilers. NetBeans also support Profiling Points that let you profile precise points of execution and measure execution time.

GUI design tool

NetBeans GUI Builder Netbeans 8.0 GUI builder.png
NetBeans GUI Builder

Formerly known as project Matisse, the GUI design-tool enables developers to prototype and design Swing GUIs by dragging and positioning GUI components. [14]

The GUI builder has built-in support for JSR 295 (Beans Binding technology), but the support for JSR 296 (Swing Application Framework) was removed in 7.1.

NetBeans JavaScript editor

The NetBeans JavaScript editor provides extended support for JavaScript, Ajax, and CSS. [15] [16]

JavaScript editor features comprise syntax highlighting, refactoring, code completion for native objects and functions, generation of JavaScript class skeletons, generation of Ajax callbacks from a template; and automatic browser compatibility checks.

CSS editor features comprise code completion for styles names, quick navigation through the navigator panel, displaying the CSS rule declaration in a List View and file structure in a Tree View, sorting the outline view by name, type or declaration order (List & Tree), creating rule declarations (Tree only), refactoring a part of a rule name (Tree only).

The NetBeans 7.4 and later uses the new Nashorn JavaScript engine developed by Oracle.

NetBeans IDE download bundles

Users can choose to download NetBeans IDE bundles tailored to specific development needs. Users can also download and install all other features at a later date directly through the NetBeans IDE.

NetBeans IDE Bundle for Web and Java EE

The NetBeans IDE Bundle for Web & Java EE [17] provides complete tools for all the latest Java EE 6 standards, including the new Java EE 6 Web Profile, Enterprise Java Beans (EJBs), servlets, Java Persistence API, web services, and annotations. NetBeans also supports the JSF 2.0 (Facelets), JavaServer Pages (JSP), Hibernate, Spring, and Struts frameworks, and the Java EE 5 and J2EE 1.4 platforms. It includes GlassFish and Apache Tomcat.

Some of its features with Java EE include:

NetBeans IDE Bundle for PHP

NetBeans supports PHP since version 5.6. The bundle for PHP includes:

NetBeans IDE Complete Bundle

Oracle also releases a version of NetBeans that includes all of the features of the above bundles. This bundle includes:

Official Ruby support was removed with the release of 7.0.

Localization

NetBeans IDE is translated into the following languages:

Community translations of the IDE are also available in the following languages:

Community translations [19]
LanguagePlatformJava SE
(IDE)
All
Afrikaans As of 6.9NoNo
Albanian As of 5.5NoNo
Azerbaijani NoNoNo
Catalan As of 6.7.1As of 6.7.1As of 6.9.1 [20]
Czech As of 6.0NoNo
Dutch YesYesNo
Filipino As of 6.9NoNo
French YesYesNo
Galician YesYesAs of 6.8
German As of 5.5As of 5.5 [21] No
Greek As of 6.9NoNo
Hindi As of 6.9NoNo
Indonesian As of 5.5NoNo
Italian YesYesNo
Korean As of 5.0As of 5.0 [22] No
Lithuanian As of 6.9NoNo
Romanian As of 6.8NoNo
Russian As of 5.0As of 6.9.1
Serbian As of 6.9NoNo
Spanish As of 5.5As of 5.5No
Swedish YesYesNo
Traditional Chinese YesYesNo
Turkish YesYesNo
Vietnamese As of 6.9NoNo

See also

Related Research Articles

<span class="mw-page-title-main">Java (programming language)</span> Object-oriented programming language

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need to recompile. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of the underlying computer architecture. The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them. The Java runtime provides dynamic capabilities that are typically not available in traditional compiled languages.

<span class="mw-page-title-main">OSGi</span> Open standards organisation

OSGi is an open specification and open source project under the Eclipse Foundation.

<span class="mw-page-title-main">Jakarta EE</span> Set of specifications extending Java SE

Jakarta EE, formerly Java Platform, Enterprise Edition and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing and web services. Jakarta EE applications are run on reference runtimes, which can be microservices or application servers, which handle transactions, security, scalability, concurrency and management of the components they are deploying.

Java Platform, Micro Edition or Java ME is a computing platform for development and deployment of portable code for embedded and mobile devices. Java ME was formerly known as Java 2 Platform, Micro Edition or J2ME.

An application server is a server that hosts applications or software that delivers a business application through a communication protocol. For a typical web application, the application server sits behind the web servers.

<span class="mw-page-title-main">Eclipse (software)</span> Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

<span class="mw-page-title-main">IntelliJ IDEA</span> Integrated development environment

IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development.

<span class="mw-page-title-main">JDeveloper</span> Integrated development environment

JDeveloper is a freeware IDE supplied by Oracle Corporation. It offers features for development in Java, XML, SQL and PL/SQL, HTML, JavaScript, BPEL and PHP. JDeveloper covers the full development lifecycle from design through coding, debugging, optimization and profiling to deploying.

In computing, Oracle Application Development Framework, usually called Oracle ADF, provides a Java framework for building enterprise applications. It provides visual and declarative approaches to Java EE development. It supports rapid application development based on ready-to-use design patterns, metadata-driven and visual tools.

JRuby is an implementation of the Ruby programming language atop the Java Virtual Machine, written largely in Java. It is free software released under a three-way EPL/GPL/LGPL license. JRuby is tightly integrated with Java to allow the embedding of the interpreter into any Java application with full two-way access between the Java and the Ruby code.

<span class="mw-page-title-main">GlassFish</span> Application server project

GlassFish is an open-source Jakarta EE platform application server project started by Sun Microsystems, then sponsored by Oracle Corporation, and now living at the Eclipse Foundation and supported by OmniFish, Fujitsu and Payara. The supported version under Oracle was called Oracle GlassFish Server. GlassFish is free software and was initially dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the Classpath exception. After having been transferred to Eclipse, GlassFish remained dual-licensed, but the CDDL license was replaced by the Eclipse Public License (EPL).

<span class="mw-page-title-main">Java (software platform)</span> Set of computer software and specifications

Java is a set of computer software and specifications that provides a software platform for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones to enterprise servers and supercomputers. Java applets, which are less common than standalone Java applications, were commonly run in secure, sandboxed environments to provide many features of native applications through being embedded in HTML pages.

<span class="mw-page-title-main">Google Web Toolkit</span> Free Java library

Google Web Toolkit, or GWT Web Toolkit, is an open-source set of tools that allows web developers to create and maintain JavaScript front-end applications in Java. It is licensed under Apache License 2.0.

TypeScript is a free and open-source high-level programming language developed by Microsoft that adds static typing with optional type annotations to JavaScript. It is designed for the development of large applications and transpiles to JavaScript. Because TypeScript is a superset of JavaScript, all JavaScript programs are syntactically valid TypeScript, but they can fail to type-check for safety reasons.

Comparison of the Java and .NET platforms.

<span class="mw-page-title-main">Google Plugin for Eclipse</span> Set of Java development tools

Google Plugin for Eclipse (GPE) was a set of development tools that enabled Java developers to design, build, optimize, and deploy cloud computing applications. developers in creating complex user interfaces, generating Ajax code using the GWT Web Toolkit, and deploying applications to Google App Engine. GPE installed into the Eclipse integrated development environment (IDE) using the extensible plugin system. GPE was available under the Eclipse Public License 1.0.

References

  1. Error: Unable to display the reference properly. See the documentation for details.
  2. "NetBeans IDE Dual License Header and License Notice". Netbeans.org. April 1, 1989. Archived from the original on November 2, 2019. Retrieved 2013-07-18.
  3. "HTML5 Web Development Support". netbeans.org. Archived from the original on December 24, 2016. Retrieved August 2, 2017.
  4. "NetBeans MOVED". platform.netbeans.org. Archived from the original on May 15, 2020. Retrieved August 2, 2017.
  5. "original Xelfi homepage". Archived from the original on April 24, 2012. Retrieved May 17, 2008.
  6. "Happy Birthday NetBeans - interview with Jaroslav "Yarda" Tulach". Netbeans.org. Archived from the original on May 17, 2008. Retrieved May 17, 2008.
  7. "A Brief History of NetBeans IDE". Netbeans.org. Archived from the original on August 31, 2013. Retrieved May 17, 2008.
  8. "Java founder James Gosling endorses Apache takeover of NetBeans Java IDE". InfoWorld. September 13, 2016. Retrieved September 19, 2016.
  9. "NetBeans Incubation Status" . Retrieved August 4, 2017.
  10. "Why GPL v2 Frequently Asked Questions". netbeans.org. Archived from the original on February 11, 2019. Retrieved August 2, 2017.
  11. "The Apache Software Foundation Announces Apache NetBeans as a Top-Level Project". blogs.apache.org. April 24, 2019. Retrieved July 12, 2019.
  12. 1 2 3 4 Motroc, Gabriela (October 5, 2016). "Oracle developers will be involved in at least two Apache NetBeans releases". Jaxenter. Retrieved 2016-10-07.
  13. "Profiler". Netbeans.org. Retrieved May 17, 2008.
  14. "Swing GUI Builder (formerly Project Matisse)". Netbeans.org. Archived from the original on July 29, 2013. Retrieved May 17, 2008.
  15. "Javascript". Netbeans wiki. March 31, 2007. Archived from the original on April 10, 2008. Retrieved 2008-04-19.
  16. "Java Web Applications". Netbeans.org. Archived from the original on October 18, 2012. Retrieved April 19, 2008.
  17. "Web & Java EE". Netbeans.org. Archived from the original on May 9, 2008. Retrieved May 18, 2008.
  18. "Netbeans Bugzilla - Bug 186731" . Retrieved May 23, 2012.
  19. "TFL10nCommunityStatus - NetBeans Wiki". Wiki.netbeans.org. Archived from the original on August 13, 2010. Retrieved July 18, 2013.
  20. "Catalan localization group at OpenSolaris". Archived from the original on July 16, 2011. Retrieved August 2, 2017.
  21. "NetBeans.org Community News: Go Multilingual with NetBeans IDE 5.5.1!". Archived from the original on November 18, 2016. Retrieved August 2, 2017.
  22. "NetBeans Community News". netbeans.org. Archived from the original on August 4, 2020. Retrieved August 2, 2017.

Further reading