4.30

NetBeans - A Development Environment, Tooling Platform and Application Framework

NetBeans is an integrated development environment (IDE) mostly for Java and Web (PHP, Javascript, CSS, HTML). NetBeans allows applications to be developed from a set of modular software components called modules.

Category: software, open source, free, development, ide

Stable Version: NetBeans 15

Release Date:

Runs on: windows, mac, linux, openbsd, netbsd, freebsd, bsd

windows mac linux openbsd netbsd freebsd bsd

 Download NetBeans / Install Binaries: Links on the Official Website
Disclaimer: We do not store any binary or executable file formats on this website to provide direct file downloads. All download links of binaries or executables presented on this website, for any software application without exception, are provided only from the application's publisher Official Website and no other locations. This website is not responsible for the accuracy or safety of the software applications presented here. In particular this website section is just a catalog with popular opensource software applications mainly addressed to software developers to easy the access to the open source code.

  Get the Source Code of NetBeans / Software Source Code Download

Specifications:

  • Project Developer: Apache Software Foundation
  • License: Apache License 2.0
  • OpenSource, Free: Yes
  • Written in: Java
Building from Source: dependencies
  • Java Development Kit (JDK) compiler - OpenJDK 8/9/11
  • Apache Ant or Maven

Review

0 5 4.4
Apache NetBeans IDE is much more than a text editor. It highlights source code syntactically and semantically, lets you easily refactor code, with a range of handy and powerful tools. It provides editors, wizards, and templates to help you create applications in Java or Web projects (PHP, Javascript, HTML, CSS). It also supports many other languages (by ex: C and C++).
All the functions of this IDE are provided by modules. Each module provides a well-defined function, such as support for different languages editing, or support for the versioning systems like CVS or SVN or GIT. It contains by default all the modules needed for Java development in a single download, allowing the user to start working immediately ; for working with PHP needs a bit of extra setup and activate extra modules. Modules also allow this IDE to be extended. New features, such as support for other programming languages, can be added by installing additional modules.
When comparing it with other IDEs like Eclipse, NetBeans has its own definition of a project. The main difference between this IDE and other similar IDEs when working with Java is the way to manage the project, by example for using the build tools like maven.

Pros +
  • Smart Editing especially for Java or web projects featuring PHP, Javascript, HTML, CSS
  • Project Setup feature is a kickstart that is very useful for developers when working with projects
  • Java projects support:
    • Creating a Java Class Library Project
    • Creating a Java Application Project
    • Configuring the Compilation Classpath
    • Creating and Editing Java Source Code
    • Creating a Java Package and Class File
    • Compiling, Running and Distributing the Application
    • Setting the Main Class and Execution Arguments
    • Testing and Debugging the Application
    • Creating and Running JUnit Tests
    • Making the Javadoc Available in the IDE
    • Generating Javadoc for a Project
    • Profiler is a great tool for monitoring Java applications
    • Framework component reusability feature simplifies the development of the Java Swing-based desktop application and provides the application extension facility by using the plug-ins or the extension provided and developed by other parties
  • PHP and web projects support (Javascript, HTML, CSS):
    • Creating or setting up a PHP Project in this IDE for PHP
    • It does support mixed or standalone code files: PHP / HTML / CSS / Javascript
    • Using Database Servers with this IDE for PHP
    • Creating and Editing Code
    • Supports integration with MAMP (MacOS), XAMPP (Windows), LAMP (Linux)
    • Supports Testing and Debugging of PHP Projects using XDebug, PHPUnit and Selenium
    • It does support Ajax for PHP Web Applications
    • Have integrated support to work with MySQL or Oracle databases
  • for other languages like C or C++ it does support just basic features
  • have integration with app servers or web containers
  • native support for repositories: SVN and GIT
Cons -
  • for PHP and web projects it does an acceptable job but is not the best available option as an IDE
  • parsing Javascript files does not a very good job especially with ES6 specific code
  • it is slow, compared with other IDEs like Geany because of the technology behind but also because it does need to index all project files in order to provide jump to the declarations
  • it does need to create a project before being able to edit a source code file which is not the most convenient way
  • some modules of the this IDE are not open sourced entirely
  • instability - it will crash sometimes when used for long periods of time
  • memory usage - large projects or large files may consume a lot of memory when opened in the IDE

About

NetBeans is an open-source, freely available development environment used to develop desktop applications, web applications, and mobile applications. This IDE supports various languages and frameworks. It is a free alternative to other IDEs such as: Eclipse, CodeBlocks, IntelliJ Idea, XCode, Microsoft Visual Studio, Komodo Edit, Android Studio.

Features

  • Syntax highlighting, code completion, occurrence highlighting, error highlighting, CVS version control
  • Semantic analysis with highlighting of parameters and unused local variables
  • Features for Java projects:
    • Improved support for CDI, REST services and Java Persistence
    • New support for Bean Validation
    • Support for JSF component libraries, including bundled PrimeFaces library
    • Improved editing for Expression Language in JSF, including code completion, refactoring and hints
  • Features for PHP and web projects:
    • PHP code debugging with XDebug
    • PHP Unit testing with PHPUnit and Selenium
    • Symfony framework support (since version 6.8)
    • Zend Framework support (since version 6.9)
    • Yii Framework support (since version 7.3)
    • PHP 5.3+ namespace and closure support (since version 6.8)
  • Code Folding for Control Structures (since version 7.2 dev)
  • Code Coverage

Screenshot: Main Screen
NetBeans IDE - Main Screen




Changelog Highlights

2022-08-31 : version 15

notable changes

  • Validate external snippet attributes like file, class, region to check for improper attribute values
  • Prevent being created unexpected folders
  • Add 'Open in Terminal' action to project root node's context menu
  • Initial implementation of Project Dependency API
  • PHP 8.1: Support for the special property(value)
  • Update JS Stubs and impove JSDoc extraction and rendering
  • Regex checker UI improvements
  • Detect proxy issues and offer fixes
  • Adding symbol provider to obtain symbols for GoTo Symbol in workspace
  • Implement lambda expression completion support
  • Add javadoc for JDK 20 early access
  • Improvements to JDK download and registration UI
  • Using record construct on JDK-11 yields an error in the editor
  • Let ClassSource check for null elements in constructor
  • Improved YAML curly, bracket and quotes keystroke handling
  • Gradle project reports unresolved configurations
  • Updating macOS installer process signing
2022-06-09 : version 14

notable changes

  • JDK17-enabled compilation and improved support for new Java versions
  • improved integration with Payara application server (a fork of GlassFish)
  • improved support for the Gradle build system
  • improved PHP 8.1 support, the ability to collapse blocks with attributes when editing PHP code has been implemented
  • improved support for PHP Micronaut framework configuration
  • Improved CSS support
  • added support for the ECMAScript 13/2022 Javascript specification
  • improved handling of recursive structures in JavaScript
  • added the ability to autocomplete structures in SQL queries
  • added SQL completion for query annotations
  • the built-in Java compiler nb-javac (modified javac) has been updated to version 18
  • updated project platform/api.search to JDK8 source level
  • added a list of Java module flags
  • added a command to set database environment variables
  • adding the Open Service Console action
2022-03-04 : version 13

notable changes

  • bundled the nb-javac, startup experience simpler and smoother
  • UI: Light FlatLaf look and feel by default
  • partial upgrades for Maven, Gradle, and PHP
  • Java: fixed wrong nb-javac module name so that it can be installed
  • handle any script’s URI and provide script content when not readable from file
  • dynamically switching from all-file processing to single-file processing of multi file JavaSources
  • upgrade to Apache Maven 3.8.4
  • m2 URL components need to be URL decoded before being used to create the artifact
  • Maven pom.xml annotations: Configure graphics context for antialiasing
  • Gradle: Prevent suspicious NPE forn Gradle SubProjectsNode
  • fix Gradle project loading in template operations
  • use Gradle distribution service and public repo for their binaries
  • minimal support of java-platfom Gradle projects
  • Groovy: Posibility to run single Groovy Script
  • fix: Groovy CC doesn’t work on JDK 1.8
  • PHP: Fix an issue the stop command is not sent
  • Fix code completion for parent’s trait for PHP
  • adds PHP 8.1 Support: Pure intersection types, New in initializers, Never type, Final class constants part
2021-11-29 : version 12.6

notable changes

  • Java: auto completion for "record" is now prefix aware
  • add support for Pattern Matching for switch
  • when java.lang is not available, avoid throwing a FatalError
  • Java code completion should show effectivelly final variables for use from anonymous classes
  • fixing TreeUtilities.pathFor in the presence of the synthetic 'value=' in annotations
  • include URLs in Java code templates for easier customization
  • improve wait condition for the test: both Lookup and configurations must change
  • general Availability for javadoc 17
  • bumped Gradle Tooling to 7.3 with Java 17 support
  • Gradle projects should recognize Kotlin source directories
  • prevent NPE form GradleDistributionManager
  • new Project wizard for Gradle should use gradle init
  • support Maven Wrapper (mvnw) in projects
  • fix broken UTF-8 input in Maven project
  • Groovy: Use static type checking to attribute AST
  • PHP Template missing Namespace option
  • Support PSR-12 valid formatting rules for PHP
2021-11-29 : version 12.5

notable changes

  • Java: Temporarily allow setting of SecurityManager
  • prefer .class execution over .java if the class already exists
  • fixing compilation of static initializer for vanilla indexing in Java
  • report progress from Gradle’s CreateFromTemplateHandler Gradle LSP
  • Gradle Action Providers can disable an action
  • support for disabling actions in Maven
  • PHP: use the URL of the forked repository of the Skeleton Generator
  • add an option(system property) to disable the feature to fold PHP tags
  • fixing newly created cpplite project, avoiding starting the C/C++ LSP server when the configuration is not readable