habrahabr

OpenIDE: первая российская среда разработки с поддержкой Java 24

  • воскресенье, 27 апреля 2025 г. в 00:00:10
https://habr.com/ru/companies/spring_aio/articles/903856/

Наконец-то состоялся официальный релиз OpenIDE – независимой российской среды разработки, которую совместно создают «Группа Астра», Axiom JDK и Haulmont.

Проект стартовал как open source-инициатива в конце прошлого года и всего за полгода прошёл путь от идеи до стабильной версии. В числе ключевых фич — поддержка Java 24 уже "из коробки", собственный маркетплейс плагинов и "многоязычность".

В статье — ключевые достижения, проблемы, а также планы по развитию OpenIDE и её экосистемы.

 

Независимость как принцип

Несмотря на то, что сборка IDE на базе open source-версии IntelliJ IDEA может показаться простой задачей, реальность оказалась сложнее. Одним из заявленных принципов OpenIDE стала независимость от зарубежной инфраструктуры и проприетарных компонентов. Однако исходный код IntelliJ IDEA Community Edition содержит множество интеграций с внешними сервисами — от телеметрии до механизмов обновления, завязанных на зарубежные сервера. Чтобы соответствовать этому принципу, нам пришлось точечно удалять или заменять десятки компонентов, интегрированных в оригинальную версию IDE. Это потребовало серьезных усилий и времени — но цель была достигнута.

Интересный побочный эффект: пользователи стали отмечать, что OpenIDE работает быстрее и отзывчивее, чем оригинал. 

Работает быстрее, чем и IntelliJ IDEA, и GigaCode. UI намного отзывчивее. Как разработчики этого добились?

Я просто похлопаю. © 👏

Удаление лишних зависимостей и сервисов действительно позволило «облегчить» IDE, и это, по всей видимости, сказалось на производительности, хотя полноценных замеров мы пока что не производили.

Переезд на российский JDK

Одним из ключевых этапов стало внедрение собственного runtime для OpenIDE. Благодаря участию в консорциуме компании-разработчика Axiom JDK, проект получил полноценную поддержку на уровне JDK, что позволило обеспечить независимость даже на этом критически важном уровне. Это не просто формальность — речь идет о полной локализации ключевого компонента IDE, ставшей возможной благодаря  компании Axiom JDK.

По словам Сергея Лунегова, директора по продуктам Axiom JDK - когда мы подключились к работе над OpenIDE, быстро стало понятно: интеграция собственного runtime — это не просто «вставить JDK». Это целая инженерная эпопея.

Во-первых, сама сборка OpenIDE кроме огромного количества кода на java и kotlin - это зоопарк нативных компонентов: C, Rust, и всё это надо кросс-компилировать под разные архитектуры. Плюс обязательная подпись дистрибутивов для Windows и macOS. Во-вторых, билд-система — наследие 20-летней эволюции, заточенное под продукты JetBrains. Нам пришлось обойти этот стек и собрать своё решение, чтобы работало вне экосистемы JetBrains.

Для того, чтобы предоставить полноценный Runtime для OpenIDE, мы создали отдельную инфраструктуру, позволяющую собирать его из различных компонентов под целый набор платформ (Windows, macOS, Linux) и архитектур (Intel, ARM64). Runtime - это не просто OpenJDK, он включает в себя такие компоненты как Java Chromium Embedded Framework (JCEF), а также доработки в области рендеринга шрифтов, HiDPI, клавиатурного ввода для лучшей поддержки shortcuts и multinational keyboards.

Параллельно шла работа над ребрендингом OpenIDE, полной переработкой серверной части для сбора статистики (чтобы не зависеть от серверов JetBrains), — по сути, мы вписались в несколько больших проектов сразу.

Что дальше? В планах — доработать автообновление OpenIDE (включая поддержку EAP релизов), добавить готовые индексы для Java и библиотек (сейчас это часть функциональности IntelliJ IDEA Ultimate, недоступная в бесплатной версии), возможно, добавить механизм получения контейнеров (Axiom Runtime Container) и плагин для работы с сервером приложений Libercat.

Маркетплейс и инфраструктура

Современная IDE немыслима без маркетплейса расширений. Ставить в поставку всевозможные плагины для широкого пользователя — недостаточно гибкое решение: у пользователя должна быть минимальная поставка и возможность выбора из широкого набора плагинов.

Поэтому в OpenIDE был развернут собственный маркетплейс, в котором на текущий момент доступно более 350 плагинов с открытой лицензией.

К сожалению, некоторые популярные расширения, такие как плагин для Docker, недоступны из-за лицензионных ограничений, но консорциум работает над созданием собственных аналогов. Мы думаем на тему того, чтобы плагин докера был не единственным таким примером, поэтому следите за будущими публикациями :)

Также были локализованы все ключевые элементы инфраструктуры: телеметрия, обновления, интеграционные сервисы. Всё это теперь размещено и управляется в рамках юрисдикции РФ.

Поддержка языков программирования

OpenIDE основана на IntelliJ Platform, что позволяет использовать её как платформу для разработки на множестве языков. Уже сейчас поддерживаются:

  • Java, Kotlin (из коробки)

  • Python (через плагин из маркетплейса)

  • Scala, LSP-совместимые языки (через LSP4IJ)

Кроме поддержки языков, в OpenIDE доступны все привычные инструменты: система контроля версий Git, интеграция с Maven и Gradle, полноценный отладчик, рефакторинги и автодополнения. Консорциум регулярно обновляет базу IntelliJ IDEA, обеспечивая актуальность функциональности.

В будущем планируется улучшение UX при работе с языками через LSP и расширение числа поддерживаемых языков за счет разработки собственных плагинов.

Альтернатива IntelliJ IDEA Ultimate?

Хотя Community Edition — это отличная основа, многие разработчики привыкли к возможностям IntelliJ IDEA Ultimate: удобная работа с базами данных, поддержка Spring, HTTP-клиент и многоязычность. Что из этого уже есть в OpenIDE?

Многоязычность

OpenIDE уже поддерживает несколько языков из коробки и через плагины. Задача расширения списка — в приоритетах на ближайшее время, особенно с учетом растущего спроса на поддержку TypeScript, Go и других популярных языков.

Работа с базами данных

Вместо встроенного DataGrip в OpenIDE доступен плагин Database Navigator — open source-решение с поддержкой популярных СУБД. Будем честны сами с собой, на наш взгляд это не самое удобное решение для работы с базами данных из IDE, но всё же лучше, чем ничего.

Дополнительно, для Spring-проектов предусмотрена интеграция через Amplicode Explorer — панель, позволяющая визуализировать модель данных и взаимодействовать с ней благодаря подключению к DBeaver. Данная функциональность на данный момент находится в preview и в дальнейшем будет доступна пользователям Amplicode PRO.

HTTP Client

В OpenIDE доступен продвинутый HTTP-клиент, работающий на базе Kotlin Script (.kts). Он поддерживает переменные окружения, проверки (assertions), скриптовые сценарии и тесно интегрируется со Spring, предоставляя больше гибкости по сравнению с классическим .http-подходом JetBrains.

Поддержка Spring

Поддержка Spring реализована через Amplicode. Он обеспечивает автодополнение, инспекции, навигацию по бинам, а также визуальные панели Amplicode Explorer и Amplicode Designer. 

Для пользователей с подпиской Amplicode PRO дополнительно доступны генерация CRUD-контроллеров, настройка Spring Security, генерация DTO, интеграция с Docker и Terraform, инструментальная поддержка ConneKt, а также множество других профессиональных возможностей.

В общем, OpenIDE — это не просто форк IntelliJ IDEA CE. Это самостоятельная, быстро развивающаяся IDE, которая уже сейчас обеспечивает комфортную среду для Java-разработчиков, а в будущем способна заменить даже Ultimate-версию для многих сценариев разработки на самых популярных языках программирования.

Да, путь только начинается, и многое ещё предстоит реализовать. Но за прошедшие полгода сделано уже очень много.

Открытые исходники и завершение бета-тестирования

Ещё одной важной вехой стало завершение бета-тестирования OpenIDE, которое дало ценную обратную связь и позволило сделать множество улучшений до релиза стабильной версии.

В бета-программе приняли участие более 200 разработчиков, среди которых были как инженеры из крупных компаний, так и фрилансеры и преподаватели вузов. Мы благодарны каждому, кто протестировал OpenIDE в боевых условиях, оставил баг-репорты и предложил улучшения. Благодаря вовлечённому сообществу удалось устранить десятки багов и значительно улучшить стабильность IDE. Рады сообщить, что теперь чат бета-тестирования публично доступен всем желающим – присоединяйтесь!

Также хотим отметить, что исходный код OpenIDE официально открыт и доступен под лицензией AGPLv3. Это значит, что любой желающий может не только использовать IDE, но и принимать участие в её развитии, вносить изменения, предлагать патчи и развивать плагины.

Мы приглашаем всех заинтересованных присоединиться к работе над OpenIDE — будь то багфикс, улучшение UI/UX, новые фичи или локализация. Контрибьютинг в OpenIDE — это способ повлиять на продукт, которым вы сами пользуетесь.

Взгляд в будущее: планы и амбиции

У OpenIDE большие планы — как на ближайшие месяцы, так и на более отдаленную перспективу. Разработка продолжается активными темпами, и мы готовы поделиться ключевыми векторами развития.

Новый директор продукта

У OpenIDE появился директор продукта — Фёдор Сазонов, хорошо известный в Java-сообществе по своим выступлениям на Java конференциях. Под его руководством фокус команды сместится в сторону активного роста пользовательской базы, расширения маркетплейса и усиления взаимодействия с ключевыми open source инициативами в России.

Партнёрство со Spring АйО

Одним из значимых шагов стало партнёрство с русскоязычным сообществом Spring АйО — крупнейшим русскоязычным сообществом Spring-разработчиков. Участники и эксперты сообщества уже сейчас помогают тестировать OpenIDE, а также предлагают улучшения в части поддержки Spring Framework.

​​Улучшение LSP-поддержки

Поддержка языков через Language Server Protocol — один из приоритетов. Несмотря на то, что технология уже доступна через плагин LSP4IJ, сейчас активно ведётся работа над улучшением пользовательского опыта: устранение багов, повышение стабильности, улучшение автодополнения и инспекций. Цель — сделать поддержку языков через LSP не временной мерой, а полноценной альтернативой нативным плагинам.

Docker и DevOps-инструменты

Как уже упоминалось, разработка собственного плагина для Docker находится в активной фазе. Это один из наиболее востребованных инструментов среди современных разработчиков, особенно в сочетании со Spring Boot, Kubernetes и Terraform. Мы рассчитываем на первые стабильные версии плагина уже в ближайшие месяцы.

Без ИИ уже никуда!

ИИ-ассистенты прочно вошли в арсенал современных разработчиков. Они помогают быстрее писать код, находить ошибки и объяснять незнакомые конструкции.

Мы в OpenIDE считаем это стратегическим направлением и активно исследуем способы интеграции ИИ в нашу среду разработки. Уже сейчас мы обсуждаем партнёрство с ведущими компаниями в области искусственного интеллекта, чтобы предложить пользователям более умные и адаптивные инструменты.

Вхождение в реестр отечественного ПО

Ещё одной стратегической целью на 2025 год является включение OpenIDE в Единый реестр российского ПО. Это откроет путь к более широкому использованию IDE в госсекторе, крупных корпорациях и образовательных учреждениях, а также создаст основу для её интеграции в программные стеки корпоративного уровня. Мы надеемся завершить этот процесс до конца текущего года.

Поддержка российских разработчиков

OpenIDE активно поддерживает российское open source-сообщество. Мы работаем над тем, чтобы у российских разработчиков была возможность публиковать свои плагины в официальном маркетплейсе OpenIDE. Уже сейчас мы видим интерес со стороны разработчиков плагинов и желание размещаться в маркетплейсе OpenIDE. Мы постараемся сделать всё возможное, чтобы этот процесс стал как можно более удобным и приятным в ближайшем будущем.

Если вы разрабатываете плагин под платформу IntelliJ и хотите, чтобы он был размещён в маркетплейсе OpenIDE, свяжитесь с нами через почту plugin-developers@openide.ru.

Заключение

OpenIDE — это не просто альтернатива существующим средам разработки. Это попытка собрать и развить все лучшее из open source, адаптировать под локальные реалии и построить независимую экосистему, доступную каждому.

За полгода команда проделала огромную работу: адаптация платформы IntelliJ IDEA под российскую инфраструктуру, интеграция с runtime от Axiom JDK , создание собственного маркетплейса, поддержка Spring и реализация HTTP-клиента, развитие сообщества и открытие исходников. Это серьезный фундамент, на котором можно строить по-настоящему зрелый инструмент.

OpenIDE уже сегодня готова к использованию в реальных проектах. И хотя впереди еще много задач, динамика и вовлеченность команды внушают уверенность: у проекта есть будущее. А значит — есть и шанс сформировать свою, независимую и сильную разработческую культуру, в центре которой будет стоять открытая, удобная и развивающаяся IDE.