Как сделать среду разработки

Обновлено: 05.07.2024

Для создания элементов ПО, а также отдельных приложений мало обладать знаниями основ определённого языка. Современному программисту потребуется установленная на его персональном компьютере среда программирования. Именно с её помощью работа над будущими программами будет комфортной и приобретёт высокие показатели производительности. Интегрированная среда программирования в классическом виде должна иметь в своём арсенале обычный текстовый редактор, средства для автоматизации сборки и отладчик, а также интерпретатор или компилятор, возможно наличие их обоих в комплекте утилиты.

Использование текстового редактора в качестве редактора исходного кода позволяет, пользуясь правилами работы с определенным видом текстовых утилит, осуществлять набор и редактирование исходного кода создаваемых программ. Современная среда программирования встроенный редактор наделяет способностью осуществлять проверку синтаксиса в зависимости от используемого языка.

В качестве частного случая можно рассматривать среду визуальной разработки. Особенностью этого вида среды программирования является наличие в её функционале возможности визуально редактировать интерфейс программы. Реализуется эта способность использованием блоков наиболее часто используемого кода в виде графических объектов. Графическая среда разработки нашла широкое применение при создании прикладных программ и разработки пользовательского графического интерфейса (GUI).

Преимущества данного вида среды программирования заключаются в быстроте разработки, лёгкости освоения, стандартности типа внешнего вида программ. Среди недостатков можно выделить привязанность к определённой среде разработки, переход в другую среду осуществляется с определёнными сложностями. Также среда программирования этого типа испытывает затруднения при использовании компонентов, уходящих от установленных стандартов, и имеет недокументированные особенности компонентов.

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

Разработка новых языков программирования позволяет вносить в них некоторые изменения. Так, среда программирования Delphi, за основу которой взят Pascal, является по своему функционалу и возможностям новым языком программирования.

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

Ведь от правильности спроектированного программного обеспечения во многом зависит его полноценное функционирование с учётом развития и внедрения самых новых технологий. Огромное значение в решении этой задачи имеет возможность переноса разработки нового программного обеспечения в смежную среду разработки.

Но даже наличие ультрасовременных сред программирования, значительно упрощающих работу не только профессионального программиста, но и человека. делающего первые шаги на пути создания приложений, программ и прочего ПО, не позволяет забыть об элементах разработки, изобретённых ещё в прошлом веке. Несмотря на их архаичность и в какой-то степени неповоротливость, они востребованы и по сей день. Их активно используют современные программисты.

Сооснователи дизайн-студии Kickpush Сэм Эпплби и Алекс Деруэтт рассказали, как применить опыт проектирования традиционных приложений к дизайну интерфейсов для виртуальной реальности.

Впервые взявшись за разработку пользовательского интерфейса для виртуальной реальности, легко зайти в тупик. Мы сами через это прошли. Однако чтобы добиться успеха, не обязательно быть экспертом в VR, вместо этого нужно просто перенести накопленные вами знания и навыки в новую область.

С точки зрения дизайнера каждое VR-приложение состоит из двух основных компонентов: среды и интерфейса.

Виртуальная среда — это тот мир, куда вы попадаете, надев VR-гарнитуру: планета, на которую вы высаживаетесь, или пейзаж, открывающийся вам, пока вы едете на американских горках.

Интерфейс — это набор элементов, с которыми пользователь взаимодействует, чтобы ориентироваться в среде и управлять своим опытом. В зависимости от сложности этих двух компонентов все VR-приложения можно расположить в двумерной системе координат.

В левом верхнем углу находятся симуляторы, такие как вышеупомянутый опыт катания на американских горках. У них очень развитая среда, но совершенно отсутствует интерфейс. Вас просто запирают в кабинке на всё время поездки.

В противоположном квадранте находятся приложения с развитым интерфейсом, но с минимальной или напрочь отсутствующей средой. В качестве примера можно привести домашний виртуальный экран Samsung Gear.

Проектирование VR-среды, включающей в себя помещения или ландшафты, требует опыта работы с инструментами 3D-моделирования и из-за этого недоступно многим дизайнерам. А вот пользовательский интерфейс для виртуальной реальности разработать гораздо проще, и это отличная область для реализации навыков и фантазии.

Свой первый VR-интерфейс мы создали для приложения Economist. Мы работали в сотрудничестве со студией Visualise. Наша команда разработала дизайн, а Visualise отвечала за контент и разработку приложения. Сегодня приложение Economist для Gear VR можно загрузить на сайте Oculus.

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

Едва надев гарнитуру Samsung Gear VR, мы тут же отметили сходство её базовой динамики с традиционными мобильными приложениями: интерфейс помогает пользователям передвигаться по страницам. Из-за этого сходства отлаженные рабочие процессы мобильных приложений вполне можно использовать при разработке VR-интерфейсов. Пройдёмся по ним по порядку.

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

На этом этапе все функции и связи определены. Теперь мы можем, опираясь на прототип и сверяясь с фирменным руководством, сделать красивый интерфейс.

А теперь подумаем, как можно применить этот рабочий процесс для разработки VR-интерфейса.

Чем проще проблема, тем труднее за неё взяться. Когда смотришь на 360-градусную область, трудно даже сообразить, с чего начать. Как выяснилось, UX- и UI-дизайнерам легче сосредоточиться на конкретном участке общего пространства.

На картинке снизу видно, как выглядит 360-градусная среда, если её развернуть. Такое представление называется равнопромежуточной проекцией. В виртуальной 3D-среде эти проекции располагаются вокруг сферы, моделируя реальный мир.

Полный размер проекции составляет 360 градусов в ширину и 180 градусов в высоту. Мы можем использовать это, чтобы определить пиксельный шаг: 3600 × 1800.

Работа на таком огромном поле кажется настоящим вызовом. Но, так как мы заранее прояснили особенности VR-приложений, мы можем сконцентрироваться на отдельном сегменте этого холста.

Опираясь на исследование Майка Элгара об удобных зонах просмотра, мы можем отделить тот участок, где интерфейс будет иметь смысл. Область нашего интереса представляет собой одну девятую 360-градусной среды. Она размещается в центре этого равнопромежуточного изображения и занимает 1200 × 600 пикселей.

Чтобы получить реальное представление об искажении пропорций, нужно протестировать интерфейс с помощью VR-гарнитуры.

Перед тем, как начать свой анализ, перечислим инструменты, которые нам понадобятся:

    .​ Мы будем использовать Sketch для разработки наших интерфейсов и пользовательских сценариев. Если у вас его нет, можете загрузить пробную версию. Нам нравится работать с этой программой, но если вы предпочитаете Photoshop или что-то другое, ничего страшного. . Это программа для 360-градусного просмотра контента. Компания GoPro поставляет её бесплатно. Мы используем её для просмотра и тестирования наших разработок в контексте. . Загрузив Oculus Rift в GoPro VR Player, мы можем тестировать дизайн в контексте.

Этот раздел представляет собой краткое руководство по разработке VR-интерфейса. Вместе мы за пять минут можем собрать простенький интерфейс.

Загрузите набор ассетов с отдельными элементами UI и фоновым изображением. Можете использовать собственные ассеты.

Начнём с самого начала. Создадим область с 360-градусным обзором. Откройте в Sketch новый документ и создайте монтажную область 3600 × 1800 пикселей.

Импортируйте файл под именем background.jpg и поместите его в середину этой области. Если вы используете свой собственный равнопромежуточный фон, убедитесь, что его пропорции — 2:1, а затем измените размер на 3600 × 1800 пикселей.

Повторите ваши действия, чтобы получить ряд из трёх плиток. После этого возьмите kickpush-logo.jpg из пакета ассетов и поместите его между плитками.

Если у вас установлен Oculus Rift, GoPro VR Player должен его обнаружить, и тогда вы сможете сделать превью изображения с помощью вашего VR-устройства. Возможно, придётся повозиться с настройками экрана в macOS, это зависит от вашей конфигурации.

Разрешение в VR-гарнитуре довольно плохое. Впрочем, это не совсем правда: оно такое же, как на вашем телефоне. Если вы поднесёте его на расстояние пяти сантиметров от ваших глаз, экран будет выглядеть размытым. Чтобы получить чёткое VR-изображение, для каждого глаза нужен экран размером 8К, то есть 15360 × 7680 пикселей. Пока мы от этого далеки.

Из-за слабого разрешения экрана все изначально чёткие UI-элементы будут казаться зернистыми. Это затрудняет чтение текста и делает прямые линии ступенчатыми. Поэтому постарайтесь избегать использования больших текстовых блоков и UI-элементов, содержащих мелкие детали.

Помните процесс создания нашего мобильного приложения, который мы адаптировали для VR-интерфейсов? С помощью наших UI-областей мы организовали все потоки в понятную схему, помогающую разработчикам понять общую архитектуру нашего приложения.

Создать красивый пользовательский интерфейс UI гораздо легче, чем анимировать его. Попробуем сделать это с помощью двумерной перспективы, наших дизайнов в Sketch, а также Adobe After Effects и Principle. Хотя это ещё не трёхмерный результат, его можно использовать в качестве руководства для команды разработчиков. Да и клиентам будет легче понять наше видение на ранних этапах процесса.

Некоторые VR-интерфейсы настолько тяжело ложатся на виртуальную среду, что пользователям будет неудобно управлять приложением даже с помощью самого продвинутого традиционного интерфейса. В этом случае вы можете предпочесть, чтобы пользователи взаимодействовали с оборудованием напрямую.

Всё это здорово, но только на первый взгляд. Для полного эффекта вам понадобится очень качественная VR-гарнитура с карманными контроллерами. К тому же разработка такого приложения потребует гораздо больших усилий, чем использование набора хорошо подобранных опций, организованных по принципу традиционного интерфейса.

В действительности для большинства компаний эта захватывающая перспектива не является коммерчески оправданной. Пока вы не обладаете практически неограниченными ресурсами, как Valve или Google, создание подобного интерфейса будет для вас слишком дорогим, рискованным и затратным по времени.

Это отлично подходит, если вы хотите показать, что ваша компания находится в авангарде медиатехнологий, но абсолютно не работает, когда вы используете виртуальную среду для вывода вашего продукта на рынок. Всё дело в доступности.

Обычно новый формат продвигается ранними адептами — творческими людьми, новаторами нашего мира. С течением времени, по мере обучения и инвестиций этот формат становится доступным для более широкого круга потенциальных пользователей. Когда VR-гарнитуры станут более распространёнными, компании начнут изыскивать возможности интегрировать VR в свои технологии вовлечения покупателей.

Мы считаем, что VR-приложения с их интуитивными интерфейсами очень близки к тому, что уже давно стало привычным в телефонах, планшетах, компьютерах и других устройствах. Поэтому довольно скоро VR станет доступным и вполне окупающим себя вложением для большинства компаний.

Вадим Руденко

Современному человеку нередко приходится сталкиваться с различными малопонятными терминами из мира компьютеров, даже если он никогда не занимался и не планирует заниматься программированием.

Пусть даже вы хотите сосредоточиться исключительно на вопросах бизнеса, взвалив всю нагрузку по созданию приложений для вашей компании на разработчиков, некоторое понимание совершаемых ими действий будет совсем не лишним. Ранее мы уже рассматривали такие понятия, как API и Webhook. На этот раз хотелось бы раскрыть тему SDK и IDE.

Что такое IDE?

IDE – это не специализированные текстовый редактор!

Требуется также наличие хотя бы компилятора и отладчика. Первый необходим для того, чтобы перевести текст программы, созданный с использованием команд, написанных на английском (обычно) языке, в машинные коды, понятные компьютеру. Отладчик же используется для нахождения и устранения ошибок, неизбежно возникающих при написании кода.

PyCharm используется для написания кода на Python

Самые первые IDE имели простой (даже скажем больше, примитивный) текстовый интерфейс. Затем появились и решения с графическим интерфейсом. Некоторые современные среды разработки отличаются высокой сложностью, и подчас просто чтобы разобраться в них, даже опытному разработчику необходимо сначала прочитать соответствующую документацию.

Какие сегодня существуют IDE

Современные IDE могут быть бесплатными или платными. Существуют также и условно бесплатные решения. В последнем случае среду разработки можно просто скачать в Сети и тут же начать использовать. Но при этом она будет иметь ряд ограничений. Например, в бесплатном варианте популярная среда разработки IntelliJ IDEA позволит работать только с Java, в то время как оформление подписки откроет доступ к ещё целому ряду языков программирования.

Xcode предназначается исключительно для macOS

Тут уместно будет привести несколько примеров популярных IDE (в алфавитном порядке):

Естественно, что это только некоторые примеры. По факту же количество IDE в мире значительно больше.

Какой IDE самый лучший?

Сам по себе вопрос некорректный. На сегодняшний день в мире существует немало самых разнообразных IDE, предназначенных для решения самых разных задач. И выбор зависит от разных факторов, из которых самым главным является список стоящих перед программистом задач.

Например, если планируется создавать программные продукты для экосистемы Apple, то вполне логичным выглядит решение воспользоваться таким решением, как XCode. Разработчики под Windows нередко используют Visual Studio. А среди пишущих на языке программирования Python популярность завоевала среда разработки PyCharm. Список примеров можно продолжать.

Visual Studio предназначается для платформ Windows/Linux/macOS

Влияет также и то, насколько опытным является разработчик. Так, новичка вполне может удовлетворить среда разработки Code::Blocks – с открытым кодом, для разных платформ, простая и нетребовательная к ресурсам, предназначенная для тех, кто пишет на C, C++ или Fortran (да, этот динозавр всё ещё используется, причём довольно активно). Однако целый ряд ограничений делает невозможным применение данного решения в сложных проектах, профессионалам оно точно не подойдёт.

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

Что такое SDK и чем он отличается от API

Как показывает практика, понять термин SDK новичку бывает несколько сложнее, нежели описанный выше IDE. Нередко также возникают сложности с пониманием различий между SDK и API. И действительно, эти термины часто используются вместе. Но синонимами они при этом не являются!

Простая расшифровка термина – Software Development Kit, набор средств разработки – мало что объясняет. Попробуем объяснить всё максимально простым языком (для начала рекомендуем ознакомиться с нашим материалом про API, если вы ещё не сделали этого ранее).

Итак, SDK – это набор средств, при помощи которого разработчики могут создавать программное обеспечение под самые разные платформы. Данный набор может включать в себя самые разнообразные инструменты (утилиты, библиотеки, драйверы, документацию, фрагменты готового кода и многое другое), позволяющие писать и внедрять приложения. При этом SDK включает в себя и API (а иногда и сразу несколько), который используется для взаимодействия с платформой, под которую и пишется софт.

Простыми словами про SDK

Представьте себе дом, к которому подведена электрическая проводка, для которой существует подробная спецификация (описание). Вот данная спецификация и является API. А SDK – это набор инструментов и комплектующих, позволяющий вам создавать самые разнообразные приборы, которые вы потом сможете подключать к этой электрической сети. То есть описание сети (платформы, для которой мы пишем приложения) важно, но одним только этим описанием для создания приборов не обойтись.

Microsoft Azure SDK

Конечно же, оба этих примера очень поверхностны, их задача – лишь передать суть. По факту же, для глубокого понимания таких понятий, как SDK и API необходимо обладать специальными знаниями и опытом. Иначе говоря, быть разработчиком.

Откуда берётся SDK

Набор средств разработки предоставляется создателем платформы, заинтересованным в том, чтобы под неё создавались приложения. Обычно его можно просто скачать из интернета, нередко бывает и так, что SDK распространяется совершенно бесплатно. Это делается для того, чтобы заинтересовать сторонних разработчиков в использовании платформы, убедить их создавать приложения для неё.

Но SDK могут быть предназначены исключительно для внутреннего применения и недоступны для сторонних разработчиков. В таком случае программист получает доступ ко всему необходимому лишь после трудоустройства в контору, создавшую платформу.

Часто SDK имеют лицензию, с которой нужно считаться при написании приложений. Например, проприетарные наборы не подходят для создания программ с открытым кодом.

Порой первая буква в аббревиатуре SDK меняется для того, чтобы сделать название более близким к тому, для чего именно создавался данный набор. Например, DDK или Driver Development Kit – набор средств, предназначенный специально для написания драйверов устройств. Впоследствии компания Microsoft пошла ещё дальше, заменив термин DDK на WDK – Windows Driver Kit. Или другой пример – JDK или Java Development Kit. В данном случае речь идёт о наборе средств разработки для языка Java.

Apix-Drive — универсальный инструмент, который быстро упорядочит любой рабочий процесс, освободив вас от рутины и возможных денежных потерь. Опробуйте ApiX-Drive в действии и убедитесь, насколько он полезен лично для вас. А пока настраиваете связи между системами, подумайте, куда инвестируете свободное время, ведь теперь его у вас будет гораздо больше.

Обложка: Подборка бесплатных кроссплатформенных сред для веб-разработки

Существует множество способов писать код для веб-приложений: от текстовых редакторов до облачных сред разработки. Трудно сразу решить, какая среда лучше подходит для поставленных задач. Чтобы сэкономить вам время, выбрали наиболее популярные:

В конце каждого раздела размещена сводная таблица, в которой можно наглядно увидеть сравнение функций редакторов для веб-разработки. В статье рассмотрены исключительно бесплатные кроссплатформенные решения, поэтому популярные проприетарные редакторы вроде Sublime Text не вошли в подборку.

Текстовые редакторы для веб-разработки

Komodo Edit

Komodo Edit — сокращённая версия Komodo IDE. Включает в себя базовые функции для создания веб-приложений. Кроме того, подключаются расширения для добавления поддержки языков или полезных функций вроде компиляции LESS и SASS файлов.

Komodo Edit не выделяется среди других редакторов как лучший, но подходит для повседневной работы, особенно при работе с XML.

  • мультиязычность,
  • автозавершение кода,
  • всплывающие подсказки,
  • множественное выделение текста,
  • менеджер проектов,
  • скины и наборы значков,
  • отслеживание изменений,
  • быстрая навигация по частям редактора (commando),
  • интеграция с Kopy.io.

Bluefish

Bluefish — полнофункциональный редактор кода со следующими примечательными особенностями:

  • проверка орфографии с учётом особенностей языка программирования,
  • автозавершение кода,
  • сниппеты,
  • управление проектами,
  • автосохранение.

Это гибкий инструмент для веб-разработчиков, но дизайнерам, которым нужен веб-ориентированный или WYSIWYG-редактор, не подходит.

Vim — расширенная версия Vi, текстового редактора в UNIX. Он не был создан специально для редактирования кода, но это исправляют многочисленные расширения. Для изучения этого редактора создали online-игру — Vim Adventures, а у нас уже подготовлена шпаргалка по основным командам Vim.

  • бесконечная история отмены,
  • обширное количество плагинов,
  • поддержка сотен языков программирования и форматов файлов,
  • мощный поиск и замена,
  • интеграция со сторонними инструментами.

GNU Emacs

Как текстовый редактор Vi, GNU Emacs присутствует в стандартной комплектации большинства систем Linux. Emacs сложнее, но содержит больше возможностей:

  • режимы редактирования с учетом содержимого, в том числе подсветка синтаксиса,
  • документация с руководством для новичков,
  • полная поддержка Unicode,
  • гибкая настройка с помощью Emacs Lisp или графического интерфейса,
  • дополнительные возможности вроде планировщика проектов, почтового и новостного клиента, отладчика и календаря,
  • система загрузки и установки расширений.

Adobe Brackets

Brackets — молодой текстовый редактор для веб-разработчиков, сфокусированный на визуальных инструментах и поддержке препроцессоров, с открытым исходным кодом. С его помощью легко проектировать страницу в браузере. Подходит для веб-дизайнеров и фронтенд-разработчиков.

  • при редактировании HTML-кода CSS-стили элементов отображаются во всплывающем окне для редактирования на лету,
  • просмотр HTML-кода в браузере реализован в реальном времени,
  • импорт изображений из PSD файлов возможен без Adobe Photoshop,
  • встроенные инструменты упрощают работу с LESS и SASS файлами.

Visual Studio Code

Visual Studio Code не просто выполняет автодополнение, а делает это с умом: с помощью технологии IntelliSense дописывает названия объявленнных переменных, функций и модулей, а также делает ссылку на соответствующий раздел документации. Возможна отладка кода напрямую из редактора, запуск приложения для отладки и присоединение к запущенным приложениям.

Atom от Github

Atom — текстовый редактор с множеством настроек, но даже со стандартной конфигурацией помогает работать продуктивно.

В Atom встроен менеджер пакетов, при помощи которого можно найти, установить и даже создать собственные пакеты. Предустановлены четыре пользовательских интерфейса и восемь синтаксических тем в темных и светлых тонах. Также доступны темы, созданные сообществом.

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

Сравнение текстовых редакторов

Настольные интегрированные среды разработки (IDE)

Eclipse

Eclipse — это комплексная среда для людей, которые много программируют на различных платформах и языках. Возможность подключения различных плагинов позволяет упростить разработку сложных веб-приложений. Поддерживает работу с Java, JavaScript, PHP и другими языками, а также создание мобильных приложений.

NetBeans

IDE NetBeans — среда с открытым исходным кодом, мировым сообществом пользователей и разработчиков. С её помощью можно быстро и легко разрабатывать настольные, мобильные и веб-приложения на Java, JavaScript, HTML5, PHP, C/C++ и других языках.

Netbeans предоставляет из коробки анализатор и редактор кода на Java, а также ряд новых инструментов для HTML5 и JavaScript, в том числе для Node.js, KnockoutJS и AngularJS.

NetBeans делает отступы, дополняет слова и скобки, делает синтаксическое и семантическое выделение исходного кода. С ним легко рефакторить код. Также NetBeans оснащён сниппетами, советами и генераторами кода.

Geany

Geany — компактная и легкая среда, которая поддерживает HTML, XML, PHP и другие языки программирования. Основные возможности:

  • подсветка синтаксиса,
  • фолдинг (свёртывание кода),
  • автозавершение кода,
  • сниппеты,
  • всплывающие подсказки,
  • мультиязычность,
  • таблица символов,
  • навигация по коду,
  • готовая система для компиляции и выполнения кода,
  • управление проектами,
  • интерфейс, построенный на плагинах.

Light Table

Light Table — реактивная среда для работы с исходным кодом, которая основана на простой идее: для программирования нужна полноценная рабочая среда, а не просто редактор и обозреватель проектов. Для этого требуется гибкая настройка интерфейса: перемещение элементов и вынесение нужной информации на передний план. Эти функции доступны в Light Table из коробки.

Сравнение IDE

Облачные IDE

Cloud9

Встроенный режим Vim — приятный штрих, как и поддержка популярных систем контроля версий вроде Git, Mercurial и SVN. Благодаря наличию CSSLint и JSBeautify это одна из красивейших сред разработки.

Система платная, но есть бесплатный тарифный план.

Codeanywhere

Ещё один инструмент для создания приложений, который часто возглавляет списки лучших — Codeanywhere. Эта дружественная облачная IDE поддерживает подсветку кода HTML, CSS, JavaScript, PHP, MySQL и других языков. Благодаря наличию приложений для iOS, Android и BlackBerry, с помощью Codeanywhere программисты работают где угодно.

Кроме того, Codeanywhere поддерживает Dropbox и SFTP, которые помогают легко создавать резервные копии файлов проекта и обмениваться ими с коллегами. Это не самая полнофункциональная среда, но свою работу выполняет на отлично.

Система платная, но есть бесплатный тарифный план.

Eclipse Che

Eclipse Che — облачное рабочее пространство разработчика и встроенная IDE. Che предоставляет удалённую платформу с открытым исходным кодом для многопользовательского создания приложений.

  • рабочие пространства, включающие среды выполнения и IDE,
  • сервер рабочих мест с RESTful веб-сервисами,
  • облачная IDE,
  • плагины для языков, платформы и инструменты,
  • SDK для создания плагинов и сборок.

Eclipse Che имеет две сборки — однопользовательскую и многопользовательскую. В первой нет компонентов, которые предоставляют мультиарендность и разграничение прав доступа. В этом случае сервер остаётся без защиты, но для локальной разработки — это хороший выбор.

Многопользовательская предоставляет мультиарендность. Учётные записи пользователей и рабочие места изолированы, а для регистрации, управления и аутентификации используется механизм KeyCloak. Permissions API регламентируют доступ к объектам вроде пространств, стеков и организаций. Сведения о пользователях хранятся в базе данных, поддерживающей миграцию (PostgreSQL).

Neutron Drive

Создание универсальной облачной среды IDE с нуля — серьёзная задача, поэтому разработчики предпочитают создавать проекты на базе готовых решений с открытым исходным кодом. Neutron IDE основан на редакторе Ace code editor и объединяет функции SFTP-клиентов и браузерных редакторов, позволяя программистам редактировать на лету файлы на своих серверах из любой точки мира.

Благодаря поддержке настраиваемых горячих клавиш Vi и Emacs, а также визуальных тем TextMate, интерфейс этой облачной среды гибкий и адаптируется под пользователя.

Orion

Популярная среда Eclipse Java IDE — надёжная опора в мире разработки уже много лет. Orion — следующий шаг, в котором опыт Eclipse перенесли в облако. Пока больше применяется для front-end, поэтому среда ограничена по большей части HTML и JavaScript, но работа идёт, и функции добавляются. Помимо поддержки Firebug, огромный плюс — интуитивно понятный интерфейс в стиле Eclipse.

Читайте также: