Введение
Интегрированная среда разработки для разработки программного обеспечения
NetBeans — это интегрированная среда разработки (IDE) для Java. NetBeans позволяет разрабатывать приложения из набора модульных программных компонентов, называемых модулями. NetBeans работает в операционных системах Windows, macOS, Linux и Solaris. Помимо разработки на Java, она поддерживает расширения для других языков, таких как PHP, C, C++, HTML5 и JavaScript. Приложения, созданные на основе NetBeans, включая саму IDE NetBeans, могут быть расширены сторонними разработчиками.
История
NetBeans началась в 1996 году как Xelfi (игра слов на основе Delphi), студенческий проект Java IDE под руководством Инженерно-технологического факультета Карлова университета в Праге. В 1997 году Роман Станек основал компанию вокруг проекта и выпускал коммерческие версии NetBeans IDE, пока в 1999 году она не была приобретена Sun Microsystems. Sun сделала исходный код NetBeans IDE открытым в июне следующего года. С тех пор сообщество NetBeans продолжает расти. В 2010 году Sun (а вместе с ней и NetBeans) была приобретена корпорацией Oracle. Под управлением Oracle NetBeans должна была найти синергию с JDeveloper, бесплатной IDE, которая исторически являлась продуктом компании; к 2012 году обе IDE были переработаны на основе общей кодовой базы – платформы NetBeans. В сентябре 2016 года Oracle предложила передать проект NetBeans в Apache Software Foundation, заявив, что это "откроет модель управления NetBeans, предоставив участникам сообщества больше влияния на направление проекта и его дальнейший успех с выходом Java 9 и NetBeans 9 и последующих версий". Этот шаг был поддержан создателем Java Джеймсом Гослингом. В октябре 2016 года проект был принят в инкубатор Apache.
NetBeans IDE
NetBeans IDE – это интегрированная среда разработки с открытым исходным кодом. NetBeans IDE поддерживает разработку всех типов Java-приложений (Java SE (включая JavaFX), Java ME, веб-приложений, EJB и мобильных приложений) из коробки. Среди других возможностей – система проектов на основе Ant, поддержка Maven, рефакторинг, система контроля версий (с поддержкой CVS, Subversion, Git, Mercurial и Clearcase). Модульность: все функции IDE реализованы в виде модулей. Каждый модуль предоставляет четко определенную функциональность, такую как поддержка языка Java, редактирование или поддержка систем контроля версий CVS и SVN. NetBeans содержит все необходимые модули для разработки на Java в одном дистрибутиве, позволяя пользователю сразу же приступить к работе. Модули также позволяют расширять функциональность NetBeans. Новые возможности, такие как поддержка других языков программирования, могут быть добавлены путем установки дополнительных модулей. Например, Sun Studio, Sun Java Studio Enterprise и Sun Java Studio Creator от Sun Microsystems основаны на NetBeans IDE. Лицензия: IDE распространяется под лицензией Apache 2.0. Ранее, с июля 2006 по 2007 год, NetBeans IDE лицензировалась по лицензии Sun Common Development and Distribution License (CDDL), которая основана на Mozilla Public License (MPL). В октябре 2007 года Sun объявила о переходе на двойное лицензирование по лицензиям CDDL и GPL версии 2 с исключением GPL для GNU Classpath. Oracle передала платформу NetBeans и IDE в Apache Foundation, где они прошли стадию инкубации и в апреле 2019 года стали проектом высшего уровня.
Прочие продукты
В октябре 2016 года в интервью Габриэле Мотрок вице-президент Oracle Билл Патаки заявил, что Oracle располагает несколькими продуктами, которые используют NetBeans.
Профилировщик NetBeans
NetBeans Profiler – это инструмент для мониторинга Java-приложений: он помогает разработчикам выявлять утечки памяти и оптимизировать производительность. Ранее он загружался отдельно, но начиная с версии 6.0 интегрирован в основную IDE. Профилировщик основан на исследовательской работе Sun Laboratories под названием JFluid. Это исследование позволило обнаружить конкретные методы, которые можно использовать для снижения накладных расходов при профилировании Java-приложений. Один из этих методов – динамическая инструментация байт-кода, которая особенно эффективна при профилировании крупных Java-приложений. Используя динамическую инструментацию байт-кода и дополнительные алгоритмы, NetBeans Profiler способен получать информацию о работе приложений во время выполнения, которые слишком велики или сложны для других профилировщиков. NetBeans также поддерживает точки профилирования, позволяющие профилировать конкретные участки кода и измерять время их выполнения.
Инструмент проектирования графического пользовательского интерфейса
Ранее известный как проект Matisse, инструмент проектирования графического интерфейса позволяет разработчикам создавать прототипы и разрабатывать графические интерфейсы Swing путем перетаскивания и размещения компонентов GUI. В конструкторе графического интерфейса имеется встроенная поддержка JSR 295 (технология Beans Binding), однако поддержка JSR 296 (Swing Application Framework) была удалена в версии 7.1.
Редактор JavaScript NetBeans
Редактор JavaScript в NetBeans предоставляет расширенную поддержку JavaScript, Ajax и CSS. Возможности редактора JavaScript включают выделение синтаксиса, рефакторинг, автодополнение для встроенных объектов и функций, генерацию шаблонов классов JavaScript, генерацию обратных вызовов Ajax на основе шаблона и автоматическую проверку совместимости с браузерами. Возможности CSS-редактора включают автодополнение названий стилей, быструю навигацию через панель навигации, отображение объявления CSS-правил в виде списка и структуры файла в виде дерева, сортировку структуры по имени, типу или порядку объявления (в режиме списка и дерева), создание объявлений правил (только в режиме дерева), рефакторинг части имени правила (только в режиме дерева). NetBeans 7.4 и более поздних версий использует новый JavaScript-движок Nashorn, разработанный Oracle.
Сборник загрузок NetBeans IDE
Пользователи могут выбрать загрузку пакетов NetBeans IDE, настроенных для конкретных задач разработки. Пользователи также могут загрузить и установить все остальные функции позднее непосредственно из NetBeans IDE.