Доступна интегрированная среда разработки Apache NetBeans 9.0

Организации Apache Software Foundation представила интегрированную среду разработки Apache NetBeans 9.0. Это первый релиз, подготовленный под эгидой Фонда Apache, после передачи кода NetBeans компанией Oracle. В настоящее время проект ещё находится в инкубаторе Apache, в котором проводится подготовка инфраструктуры, аудит лицензионной чистоты и проверка способности соблюдения принятых в сообществе Apache принципов разработки. В дальнейшем, как только проект покажет себя готовым для самостоятельного существования, не требующего дополнительного надзора, он будет переведён в число первичных проектов Apache.

Так как последняя порция кода NetBeans c модулями для поддержки дополнительных языков программирования была передана компанией Oracle лишь в прошлом месяце, первый релиз Apache NetBeans ограничен по функциональности и включает в себя только поддержку Java SE. В следующий релиз Apache NetBeans планируется добавить модули для поддержки дополнительных языков программирования, включая Java EE, PHP, JavaScript/HTML5, Groovy и C/C++.

Кроме перевода кода на лицензию Apache 2.0, ключевым изменением выпуска является обеспечение поддержки Java 9 и 10. В том числе интегрированы средства для разбиения Java-программ на модули с использованием парадигмы JPMS (Jigsaw), помимо ранее поддерживаемых модулей Classpath. Проект может быть преобразован в модуль просто через добавление файла module-info.java в состав пакета. При редактировании module-info.java предоставляется поддержка автодополнения ввода.

Кроме того, предложен принципиально новый тип проектов - "Java Modular Application", позволяющий разрабатываться в одном проекте несколько модулей JDK. Сборка подобных модулей производиться единовременно, а для управления зависимостями используются соответствующие секции файла module-info.java. Также добавлена возможность поставки в одном JAR-архиве нескольких версий файлов с классами.

Обеспечена интеграция интерактивной оболочки jshell (Java Shell), позволяющей запускать однострочники в процессе разработки и упрощающей проведение экспериментов с новыми возможностями и API. Java Shell автоматически настраивается для классов и библиотек проекта, и поддерживает полноценные средства автодополнения ввода в процессе редактирования. Созданные в Java Shell фрагменты кода сразу могут быть протестированы, импортированы в файлы с Java-кодом и включены в состав проекта. Компонент для запуска командной строки теперь оформлен в виде отдельного процесса-агента по аналогии с агентом отладки.

Добавлена поддержка типа "var", в том числе в средствах рефакторинга обеспечен вывод подсказок для перевода старых определений переменных на использование "var" и наоборот, а также возможность выявления ошибок, связанных с некорректными использованием "var" при определении массивов.

Расширены возможности интерфейса профилирования кода - добавлены действия для раскрытия и сворачивания узлов в дереве с результатами профилирования, которые упрощают выявление узких мест в коде;

Добавлена возможность произвольного изменения размера всплывающих диалогов, применяемых для настройки профилирования и фильтров.

Напомним, что решение о передаче NetBeans было принято в сентябре 2016 года, после чего фонду Apache была передана часть кода и права на все связанные с NetBeans исходные тексты, а также торговая марка "NetBeans", домен "netbeans.org" и некоторые элементы инфраструктуры. Так как NetBeans распространяется в исходных текстах под копилефт лицензиями GPLv2 и CDDL, то, как и в случае с OpenOffice.org, был инициирован процесс перелицензирования и перехода на пермиссивную лицензию Apache 2.0. В качестве причины передачи проекта называлось желание продолжить разработку на нейтральной площадке с независимой моделью управления для того чтобы упростить участие в развитии проекта представителей сообщества и других компаний (например, внутренние проекты на основе NetBeans развивают Boeing, Airbus, NASA и NATO). Активная пользовательская база NetBeans оценивается в 1.5 млн разработчиков.

07/30/2018 09:57:10
0

комментарии (0)