Удаленный доступ к IDE при помощи Projector |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2021-03-25 13:57 Как вы наверняка знаете, Swing — это фреймворк, позволяющий разрабатывать графические интерфейсы для приложений на платформе Java. IDE JetBrains используют Swing для отрисовки интерфейсов. Также Swing применяется и в других IDE на базе IntelliJ, например, в Android Studio. IDE JetBrains и приложения на Swing — десктопные приложения, и, в целом, это плюс. Однако бывают случаи, которые требуют иного подхода (например, тонкий клиент). И именно здесь нам пригодится Projector. Projector — это технология, с помощью которой вы запускаете IDE на базе IntelliJ либо Swing-приложения на сервере. Далее вы можете подключаться к ним откуда угодно, используя браузеры или нативные приложения. Сценарии использования Есть множество ситуаций, требующих запуска IDE на сервере. Некоторые из них типичны для больших компаний, располагающих огромной инфраструктурой. Вот краткий список ситуаций, в которых вам может помочь Projector:
Стоит отметить, что Projector не поддерживает совместную разработку. Если вам нужен инструмент для совместной разработки, попробуйте Code With Me. Также мы работаем над новым решением для удаленной разработки, которое объединит функциональность Code With Me и Projector. Это поможет в решении проблемы задержек сети. Open Source В исходном коде Projector используются лицензии, принятые в сообществах разработчиков Open Source и Free Software. Это важно для компаний, которые хотели бы использовать данную технологию для создания собственных решений. Мы пользуемся тремя наиболее популярными видами лицензий:
Вы также можете принять участие в создании новой функциональности и устранении ошибок, создавая собственные пул-реквесты GitHub. Ниже вы найдете ссылки на проекты в GitHub. Архитектура Projector — это клиент-серверное ПО. Вы запускаете IDE на сервере, а затем подключаетесь к ней по сети. Соединение между клиентом и сервером очень легковесное и высокоскоростное. Projector похож на системы удаленного доступа к рабочему столу, такие как VNC. Отличие в том, что Projector отображает лишь окна IDE и обеспечивает максимальную скорость отрисовки для Java-приложений. Projector предлагает несколько вариантов настройки клиента и сервера. Клиентские приложения Чтобы подключиться к IDE, вы можете использовать либо браузер, либо нативное приложение. В нативном приложении больше функциональности (например, вы можете использовать горячие клавиши, недоступные при работе из браузера). Для работы с мобильного устройства необходимо использовать браузер, однако в будущем мы планируем запустить нативные клиенты также и для мобильных платформ. Веб-клиент Работа из браузера напоминает использование интерактивного веб-сайта. При этом можно переключить браузер в полноэкранный режим, и работать в нем как в полноценном десктопном приложении. Настройки веб-клиента изменяются через параметры URL. К примеру, на мобильных устройствах можно добавить в URL параметр "mobile" — это включит панель-оверлей с дополнительными кнопками (в частности, здесь есть кнопка, позволяющая открыть виртуальную клавиатуру). Веб-клиент реализован при помощи HTML5 Canvas API — он работает в любом браузере, совместимом с этим API. Веб-клиент протестирован в Chrome/Chromium, Firefox и Safari. Устанавливать веб-клиент не нужно (он уже включен в веб-сервер Projector) — вам просто нужно ввести соответствующий адрес в браузерную строку. Весь код доступен на GitHub. Нативное приложение Вы можете использовать нативное приложение для macOS, Windows и Linux. Скачать бинарные файлы можно здесь. Исходный код опубликован на GitHub. Приложение включает интеграцию с Dock/Taskbar и множество других ожидаемых возможностей. Также оно поддерживает сочетания клавиш, такие как, например, Ctrl+W/Cmd+W (в отличие от браузерного клиента, который их, как правило, не поддерживает). Сервер Установочный скрипт (Python) Использование скрипта установки обеспечивает максимальную гибкость. Он позволяет выбрать желаемую IDE, а также ее версию, параметры безопасности и др. В данный момент он доступен только для GNU/Linux. Образы Docker Запустить Projector в облачной среде проще всего через Docker. Данный пример скрипта позволяет генерировать образы Docker, в которые запакованы различные IDE от JetBrains и компоненты Projector. Таким образом вы сможете запускать IDE везде, где доступен Docker. IDE будет выполняться в изолированной среде, независимо от других приложений на сервере и без физического экрана. Вам даже не нужно устанавливать X11. Образ уже содержит в себе все необходимое. Мы не используем DockerHub и публикуем предварительно собранные образы через собственный Docker Registry. Ниже вы видите пример строки, позволяющий получить IntelliJ IDEA Community Edition:
Плагин для IDE В качестве альтернативы вы можете просто установить в IDE плагин Projector, избегая необходимости развертывания отдельного сервера. В таком случае в роли сервера выступит ваше собственное устройство. Как обычно, исходный код доступен на GitHub. Однако плагин менее изолирован, поэтому для него важна используемая операционная система и ее настройки. Например, он не сможет отображать глобальное меню, характерное для macOS. Попробуйте сами Projector — это скорее технология. Вы можете использовать Projector для настройки собственной инфраструктуры, чтобы точнее удовлетворить потребности вашего бизнеса. Ansible? Конечно. Kubernetes? Нет проблем. При наличии соответствующих технических навыков вы сможете собрать все что угодно. Код Projector — открытый. Вы можете изменить в нем все что угодно и даже стать контрибьюторами. Более подробную информацию и сам код вы найдете на GitHub. Projector — очень молодая технология. Однако на наш взгляд, она может стать одним из лучших решений для удаленного доступа к IDE. Мы очень ждем ваших отзывов. Вы всегда можете связаться с нами через YouTrack или Twitter. Источник: habr.com Комментарии: |
|