Организация Eclipse Foundation первый стабильный выпуск редактора кода , созданного с целью предоставления по настоящему открытой альтернативы проекту Visual Studio Code. Редактор изначально развивается с оглядкой на полноценное использование как в форме приложения для рабочего стола, так и для запуска в облаке с доступом через web-браузер. Код написан на языке TypeScript и под свободной лицензией EPLv2. Проект развивается при участии компаний IBM, Red Hat, Google, ARM, Ericsson, SAP и Arduino.
Основные особенности:
- Использование одной общей кодовой базы для сборки настольного и web-вариантов.
- Поддержка разработки на JavaScript, Java, Python и других языках, для которых имеются серверные обработчики на основе протокола (Language Server Protocol), которые берут на себя операции, связанные с разбором семантики языка. Применение LSP позволяет использовать более 60 существующих обработчиков, подготовленных для редакторов кода , и , в которых также применяется LSP.
- Разработку Theia курирует организация Eclipse Foundation, предоставляющая нейтральную площадку, независящую от решений отдельных компаний и действующую в интересах сообщества.
- Проект спроектирован максимально модульным, позволяет расширять или менять любую функциональность через .
- Имеется возможность создания IDE-подобных продуктов на базе Theia путём подключения необходимых дополнений через перечисление их в файле package.json.
- Поддержка протокола VS Code Extension, позволяющего подключать расширения, разработанные для Visual Studio Code.
- Интегрированный полноценный эмулятор терминала, который автоматически обновляет соединение в случае перезагрузки страницы в браузере, не теряя полной истории работы.
- Гибкая компоновка элементов интерфейса. Экранная оболочка основана фреймворке , допускающем произвольные перемещения блоков (можно скрывать панели, изменять размер блоков и менять их местами).
Редактор построен на основе архитектуры , подразумевающей запуск двух процессов, один из которых отвечает за отрисовку интерфейса, а второй за внутреннюю логику. Процессы взаимодействуют с использованием HTTP при помощи JSON-RPC через WebSockets или REST API. Бэкенд использует платформу Node.js и в при работе через Web запускается на внешнем сервере, а фронтэнд с интерфейсом загружается в браузере. В случае настольного приложения оба процесса запускаются локально, а для
создания самодостаточно приложения применяется платформа Electron.
Из ключевых отличий от Visual Studio Code называется: более модульная архитектура, предоставляющая больше возможностей для модификации; изначальная ориентация на запуск не только на локальной системе, но и в облаке; разработка на нейтральной площадке.
Стоит отметить, что полностью открытый вариант редактора Visual Studio Code также развивает проект , который включает только свободные компоненты, избавлен от привязки к бренду Microsoft и почищен от кода для сбора телеметрии.
Напомним, что редактор Visual Studio Code построен с использованием наработок проекта и платформы , основанной на кодовой базе Chromium и Node.js. Редактор предоставляет встроенный отладчик, инструменты для работы с Git, средства рефакторинга, навигации по коду, автодополнения типовых конструкций и контекстной подсказки. Visual Studio Code развивается компанией Microsoft как открытый проект, под лицензией MIT, но официально предоставляемые бинарные сборки не тождественны исходным текстам, так как включают компоненты для отслеживания действий в редакторе и отправки телеметрии. Сбор телеметрии объясняется проведением оптимизации интерфейса с учётом реального поведения разработчиков. Кроме того, бинарные сборки распространяются под отдельной несвободной лицензией.
Источник: opennet.ru
