Добавлен: 24.04.2023
Просмотров: 210
Скачиваний: 2
Из недостатков следует отметить следующие аспекты:
- Отсутствие поддержки скриптовых языков. Автоматическая компиляция для PHP, Python, Ruby отсутствует. Разработка расширений для этих языков делегирована на сообщество.
- Ограничение по ресурсам и времени раннера. Для бесплатных аккаунтов выставлено ограничение в 1 час, после чего Docker контейнер останавливается и удаляется. На данный момент машины не сохраняются, а воссоздаются заново отсутствует синхронизация файлов, то есть изменения, сделанные в runtime никак не отобразятся на дереве проекта.
2.1.1 Интегрированные среды разработки с веб-интерфейсом
Рассмотрим ещё одного представителя “облачных” интегрированных сред разработки, а именно сервис Cloud9.
AWS Cloud9 – это облачная интегрированная среда разработки (IDE), которая позволяет создавать, запускать и отлаживать код на любом компьютере, используя только браузер. IDE Cloud9 предоставляет программное обеспечение и инструменты, необходимые для динамических языков программирования, включая JavaScript, Python, PHP, Ruby, Go и C++. Теперь не нужно тратить время на установку программ и настройку компьютера для разработки. При запуске среды разработки Cloud9 на управляемом инстансе EC2 клиент получает в свое распоряжение интерфейс командной строки AWS с преднастроенной аутентификацией и полный доступ с привилегиями sudo. Кроме того, Cloud9 интегрирован с сервисом AWS CodeStar, что обеспечивает все инструменты для успешного развертывания приложений в AWS.
Полнофункциональный редактор
В состав AWS Cloud9 входит браузерный редактор для удобства создания, запуска и отладки проектов. По мере ввода в редакторе появляются подсказки и варианты автодополнения кода, что ускоряет работу и помогает избежать ошибок. При автодополнении кода учитываются не только идентификаторы в рабочих файлах, но и стандартные библиотеки. Кроме того, для удобства можно полностью перенастроить внешний вид редактора. Панели перемещаются в любом направлении простым перетаскиванием.
Преимущества Cloud9:
- Полноценная поддержка JavaScript, PHP, Python. Здесь следует отметить следующие аспекты, а именно: автодополнение кода, подсветка ошибок, режим отладки, навигация по коду, поиск файлов, функций. Для “скриптовых” языков существует возможность подключения к FTP и SSH серверам. Так, например, можно создать виртуальную машину на сервисах Digital Ocean или Amazon, и подключиться к ним из Cloud 9 “воркспейса”. Таким образом, пользователю предоставляется простой и удобный интерфейс взаимодействия между IDE и продуктовой средой.
2. Исходный код Cloud9 представлен на GitHub. В 2016 году компания-разработчик сервиса Cloud9 поглощена корпорацией Amazon, вскоре после этого среда разработки включена в состав публично-облачной платформы Amazon Web Services. AWS Cloud9 – это облачная интегрированная среда разработки (IDE), которая позволяет создавать, запускать и отлаживать код, используя только браузер. Она включает в себя редактор кода, отладчик и терминал. Cloud9 включает предустановленный набор основных инструментов для популярных языков программирования, включая JavaScript, Python, PHP и другие. Это избавляет от необходимости устанавливать программы или настраивать систему разработки перед запуском новых проектов. Поскольку IDE AWS Cloud9 – облачная среда, над проектами можно работать из дома, офиса или любого другого места: достаточно иметь подключенный к Интернету компьютер. Помимо этого Cloud9 предоставляет эффективный процесс разработки бессерверных приложений, позволяя без труда определять ресурсы, отлаживать код и переключаться между локальным и удаленным исполнением таких приложений. С помощью Cloud9 пользователи могут быстро подключать к среде разработки других членов своей команды, осуществлять парное программирование и в режиме реального времени отслеживать код, добавленный другими.
3. Редактор кода и встроенный отладчик Cloud9 помогают ускорить работу за счет таких удобных возможностей, как подсказки, автодополнение кода и пошаговая отладка. Терминал Cloud9 предоставляет браузерную оболочку, которая позволяет устанавливать дополнительное ПО, отправлять код в репозитории Git или вводить команды.
4. Совместное создание кода в режиме реального времени. AWS Cloud9 упрощает совместную работу над кодом. Несколькими щелчками мыши можно подключить коллег к общей среде разработки, чтобы работать над кодом вместе. Во время совместной работы все участники могут в режиме реального времени видеть код, создаваемый другими, и общаться в чате прямо в IDE.
5. Простота разработки бессерверных приложений. AWS Cloud9 облегчает создание, запуск и отладку бессерверных приложений. Эта среда разработки по умолчанию включает все SDK, библиотеки и подключаемые модули, необходимые для создания бессерверных приложений. В дополнение Cloud9 предоставляет среду для локального тестирования и отладки функций AWS Lambda. Это позволяет выполнять необходимые действия с кодом напрямую, ускоряя процесс и повышая качество кода.
6. Терминал прямого доступа. AWS Cloud9 имеет собственный терминал, который предоставляет доступ с привилегиями sudo к управляемому инстансу Amazon EC2, на котором размещена среда разработки, а также интерфейс командной строки AWS с предварительно настроенной аутентификацией. Это упрощает быстрый запуск различных команд и обеспечивает прямой доступ к сервисам AWS.
7. Быстрый запуск новых проектов. AWS Cloud9 упрощает запуск новых проектов. Среда разработки Cloud9 содержит встроенный инструментарий более чем для 40 языков программирования, включая Node.js, JavaScript, Python, PHP, Ruby, Go и C++. Это избавляет от необходимости выполнять установку и настраивать файлы, SDK и подключаемые модули для процессов разработки, позволяя приступить к созданию кода для популярных стеков приложений за считанные минуты. Так как среда Cloud9 является облачной, можно без труда поддерживать несколько параллельных сред разработки для изолирования ресурсов проекта.
Встроенные инструменты для разработки бессерверных приложений AWS Cloud9 позволяет легко создавать бессерверные приложения: в состав среды разработки входит все необходимое для написания и отладки кода таких приложений. Cloud9 включает в себя SDK, инструменты и библиотеки для разработки бессерверных приложений. Кроме того, Cloud9 поддерживает Serverless Application Model (SAM), что позволяет упростить определение ресурсов для бессерверных приложений с помощью шаблонов SAM. Cloud9 также предоставляет возможность локального редактирования и отладки функций AWS Lambda, избавляя от необходимости выгружать код в консоль Lambda для отладки.
Среды разработки AWS Cloud9 можно запускать на управляемом инстансе Amazon EC2 на основе Linux или на любом существующем собственном сервере под управлением Linux. При настройке Cloud9 достаточно выбрать вариант подключения SSH для соединения с сервером Linux, который может находиться где угодно – в облаке AWS, в облаке любого другого провайдера либо в локальной сети.
В состав AWS Cloud9 входит терминал, предоставляющий полный доступ к управляемому инстансу Amazon EC2 с привилегиями sudo. Это дает возможность выполнять различные команды, например отправлять изменения кода в репозитории Git, компилировать код или просматривать вывод командной строки со своих серверов. В терминале установлен интерфейс командной строки AWS с преднастроенной аутентификацией, что позволяет работать с сервисами AWS и управлять ими прямо из командной строки.
2.1.2 Инсталлируемые интегрированные среды разработки
Рассмотрим несколько “Desktop” в “классическом” понимании интегрированных сред разработки. Примером такой среды является Eclipse, которая относится к консолидированным технологиям, годом широкого распространения которой является 2007-й. Система изначально представляла собой полноценную интегрированную среду для разработки программного обеспечения на языке Java. В дальнейшем стали поддерживаться и другие языки. Первые версии были неудобны, поскольку целевой продукт вынуждено включал лишнюю функциональность. Начиная с третьей версии была переработана архитектура всей системы с целью максимального разделения модулей и взаимосвязи между ними [3]. При этом модули Eclipse, образованные из согласованных наборов классов, давали функциональность целых подсистем, таких как подсистемы помощи, обновления продукта, обучения, презентации, многоязыковой поддержки и множество других. Разрабатывая приложение, теперь можно постепенно наращивать функциональность, подключая уже готовые бесплатные компоненты. В терминологии Eclipse эти компоненты называются "подключаемыми модулями" или "плагинами" (Plugins). Такая технология становится типичной для развитых операционных сред. Платформа на основе этой технологии получила название RCP (Reach Client Platform), а приложения, соответственно, названы RCP-приложениями.
Графический интерфейс Eclipse построен с применением графической библиотеки SWT, которая опирается на графику используемой операционной системы. Предусмотрена возможность создания настраиваемых стилей, которые позволяют произвольно менять как внешний вид приложения, так и поведение составляющих его компонентов. Многооконный интерфейс MDI, реализованный в ОС Windows еще в версии 3.1, заменен на альтернативный интерфейс, основанный на закладках. Этот интерфейс похож на интерфейс MS Visual Studio, но имеет и отличия. Режимы работы могут объединяться в одну панель либо размещаться каждый в отдельной панели. Имеется встроенный механизм чередования панелей или механизм "быстрых" панелей, когда они не занимают место на экране, а вызываются кнопками по необходимости.
Интерфейс обладает богатыми и гибкими возможностями, некоторые из которых являются оригинальными и не встречаются в других операционных средах.
Данные, которые используются при разработке приложения, размещаются в одном каталоге – рабочей области. Графическая среда разработки (или просто рабочая среда) представляет собой инфраструктуру для управления ресурсами рабочей области и навигации по ресурсам. Рабочая среда включает одно или несколько окон, которые, в свою очередь, могут включать страницы. Каждая страница может иметь так называемые проекции, которые управляют взаиморасположением редакторов и панелей для решения определенных задач.
Такая, сложная на первый взгляд, организация интерфейса оказывается удобной именно благодаря использованию проекций. Проекцию можно рассматривать как набор визуальных компонент для выполнения конкретно поставленных задач. Например, проекция "Java" содержит необходимый набор для разработки java-приложений, а проекция "CVS" предназначена для оперирования удаленным репозиторием проектов при коллективной разработке. Каждая проекция имеет свой набор меню и панелей инструментов, состав которых можно настраивать и сохранять. Начальный макет проекции определяется разработчиком, но его можно изменять, открывая и закрывая панели и встраивая их в различные места окна рабочей среды.
Основные визуальные компоненты рабочей среды – панели и редакторы.
Панель применяется для навигации по структурам объектов, отображения их свойств и внутренней структуры. В окне рабочей среды обычно размещается только один экземпляр определенного типа панели. Панели могут иметь собственные меню и панели инструментов, положение и внешний вид которых определяются выбранной темой представления. Действия, представленные элементами меню и кнопками панели инструментов, относятся только к входящим в панель элементам.
Редакторы, чаще всего применяются для просмотра и редактирования ресурсов: файлов, таблиц базы данных и т.п. Любой ресурс в навигаторе ресурсов можно связать с необходимым для решения текущей задачи редактором. В отличие от панелей, изменения ресурсов в редакторах подчиняются правилу "открыть-сохранить-закрыть". В окне рабочей среды может быть размещено несколько экземпляров одного и того же типа редактора для различных ресурсов. Для редакторов может быть создан отдельный раздел меню и панелей быстрого запуска, которые автоматически добавляются в главное меню и панель быстрого запуска приложения при активации редактора.
Следующим представителем IDE является MS Visual Studio.
Microsoft Visual Studio - это интегрированная среда разработки (IDE) от Microsoft. Он используется для разработки компьютерных программ, а также веб-сайтов, веб-приложений, веб-сервисов и мобильных приложений. Visual Studio использует платформы разработки программного обеспечения Microsoft, такие как Windows API, Windows Forms, Windows Presentation Foundation, Windows Store и Microsoft Silverlight. Он может производить как собственный код, так и управляемый код.
Visual Studio поддерживает 36 различных языков программирования и позволяет редактору кода и отладчику поддерживать (в разной степени) практически любой язык программирования при условии, что существует специальная языковая служба. Встроенные языки включают C, C ++, C ++ / CLI, Visual Basic .NET, C #, F #, JavaScript, TypeScript, XML, XSLT, HTML и CSS. Поддержка других языков, таких как Python, Ruby, Node.js и M среди других, доступна через плагины. Java (и J #) поддерживались в прошлом[4].
Самая базовая версия Visual Studio, версия Community, доступна бесплатно. Слоган для Visual Studio Community Edition - «Бесплатная полнофункциональная IDE для студентов, разработчиков программного обеспечения с открытым исходным кодом и отдельных разработчиков».
В настоящее время поддерживается версия Visual Studio 2019.
Visual Studio не поддерживает встроенный язык программирования, решение или инструмент; вместо этого он позволяет подключать функциональность, закодированную как VSPackage. После установки функциональность доступна в качестве Сервиса. Среда IDE предоставляет три службы: SVsSolution, которая предоставляет возможность перечисления проектов и решений. SVsUIShell, который обеспечивает функциональность окон и пользовательского интерфейса (включая вкладки, панели инструментов и окна инструментов) и SVsShell, которая занимается регистрацией VSPackages. Кроме того, IDE также отвечает за координацию и обеспечение связи между службами. Все редакторы, дизайнеры, типы проектов и другие инструменты реализованы как VSPackages. Visual Studio использует COM для доступа к VSPackages. Visual Studio SDK также включает в себя структуру управляемых пакетов (MPF), которая представляет собой набор управляемых оболочек вокруг COM-интерфейсов, позволяющих писать пакеты на любом языке, совместимом с CLI. Однако MPF не обеспечивает всех функций, предоставляемых интерфейсами Visual Studio COM[5]. Затем эти службы можно использовать для создания других пакетов, которые добавляют функциональные возможности в среду IDE Visual Studio.