Сравнение основных возможностей и классификация облачных инструментов разработки



Скачать 182.31 Kb.

Дата18.11.2016
Размер182.31 Kb.
Просмотров116
Скачиваний0

Д.А. Царёв, Ю.С. Артамонов
СРАВНЕНИЕ ОСНОВНЫХ ВОЗМОЖНОСТЕЙ И
КЛАССИФИКАЦИЯ ОБЛАЧНЫХ ИНСТРУМЕНТОВ РАЗРАБОТКИ
(Самарский государственный аэрокосмический университет имени академика С.П. Королёва (национальный исследовательский университет))
Современная разработка программного обеспечения требует гибких инструментов и тесного взаимодействия между разработчиками [1] для достижения наилучшего результата и увеличения шансов проекта на успех. Эти требования поспособствовали появлению облачных сред разработки (Cloud
IDE), основной упор в которых сделан на работе из браузера без необходимости установки средств разработки на машине пользователя [2]. Такие инструменты позволяют создавать ПО вне зависимости от технических характеристик машины разработчика, от неё требуется лишь наличие браузера и доступ к интернету.
Основные классы облачных средств разработки
К облачным инструментам разработки можно отнести облачные редакторы для прототипирования – “песочницы” (Sandbox) и полноценные рабочие места для разработки приложений – облачные IDE. Основное отличие редакторов для прототипирования от IDE заключается в том, что редактор для прототипирования в первую очередь нацелен на быструю апробацию примеров и простых набросков программных решений. Кроме того, IDE включают поддержку конкретных библиотек и дополнительных инструментов, таких как системы контроля версий [3].
Наиболее характерными представителями семейства облачных сред разработки являются CEclipse, Koding.com, Eclipse Che, которые относятся к классу Cloud IDE, а также Cpp.sh, JsFiddle и Orion, представляющие класс редакторов для прототипирования.
CEclipse позволяет разрабатывать приложения на Java в облаке, используя не только классическую функциональность Eclipse, такую как подсветка и анализ кода, выявление ошибок и автодополнение, но и дополнительные возможности по интеграции с системами управления задачами и онлайн тестирования [4].
Koding.com предоставляет разработчику выделенную виртуальную машину и веб-интерфейс для работы над приложения. Если необходимо из облака перейти в локальное рабочее окружение, то можно установить клиент
Koding и начать использовать привычную IDE, редактор или терминал.
Eclipse Che – облачная IDE, которую может развернуть у себя любой желающий. Поддерживает самые популярные языки программирования: Java,

C++, JS, Python, PHP и Ruby. Изолированное окружение для работы выделяется при помощи Docker контейнеризации [5].
Cpp.sh – легковесный редактор кода на C++. Компилирует и исполняет код на сервере при помощи компилятора GCC. Работать можно только с одним файлом, а сам редактор призван облегчить изучение языка C++. jsFiddle.net – проект, с помощью который позволяет быстро создать тестовую веб-страницу для проверки работы HTML, CSS и JavaScript. Сервис имеет функцию совместной работы над исходным кодом и позволяет поделиться своей “песочницей”.
Orion – редактор для веб-приложений на HTML, CSS и JavaScript.
Позволяет организовать совместную работу с ограничением на одновременное редактирование одного файла. Поддерживает систему контроля версий Git.
Помимо редакторов и облачных сред разработки можно выделить инструменты для апробации новых языков программирования, таких как Scala и Kotlin. Их облачные редакторы компилируют код в JavaScript и исполняют его в браузере пользователя, возможностей JavaScript хватает для того, чтобы продемонстрировать возможности языка и его основных концепций. А сам транспайлер Scala в JavaScript является отдельным проектом, призванным обеспечить интероперабельность Scala и JavaScript [6].
В таблице 1 представлена сравнительная характеристика основных облачных инструментов. Для разработки крупных проектов лучше всего подойдут те, что предоставляют функции облачной среды разработки, такие как: интеграция с системами контроля версий, использование систем сборки и изолированных окружений [7]. Изолированные окружения позволяют использовать для компиляции окружения с различными операционными системами, наборами библиотеки и компиляторов. Они могут упростить вовлечение новых разработчиков в проект, благодаря снижению затрат времени на развёртывание рабочего окружения [8]
Таблица 1 – Сравнение возможностей облачных инструментов разработки
Название
Тип
Поддержка
VCS
Язык
программ
ирования
Изолиро
ванное
окружен
ие
Возможности
редактора
Вывод
результатов
исполнения
Koding.com
IDE
Да
Мультияз ычность
Да
Подсветка, автодополнение
Графический интерфейс
Eclipse Che
IDE
Да
Мультияз ычность
Да
Подсветка, автодополнение, синтаксический анализ кода
Графический интерфейс
Cpp.sh
Редактор
Нет
C++
Нет
Подсветка синтаксиса
Консоль jsFiddle
Редактор
Нет
JS
Нет
Подсветка синтаксиса
Средства визуализации
Cloud9
IDE
Да
Мультияз ычность
Да
Подсветка, автодополнение
Средства визуализации
Codeanywher e
IDE
Да
Мультияз ычность
Да
Подсветка, автодополнение
Консоль
Python Fiddle
Редактор
Нет
Python
Нет
Подсветка синтаксиса, автодополнение
Консоль

Продолжение таблицы 1
Orionhub.org
IDE
Да
JS
Нет
Подсветка, автодополнение, синтаксический анализ кода
Средства визуализации
Nitrous.io
IDE
Да
Мультияз ычность
Да
Подсветка, автодополнение
Средства визуализации
Shiftedit.net
IDE
Да
JS, PHP
Нет
Подсветка, автодополнение
Средства визуализации
Scala JS
Fiddle
Редактор
Нет
Scala
Нет
Подсветка, автодополнение
Средства визуализации try.kotlinlang.
org
Редактор
Нет
Kotlin
Нет
Подсветка, автодополнение
Консоль
CEclipse
IDE
Нет
Java
Нет
Подсветка, автодополнение, синтаксический анализ кода
Консоль
Разработка облачного редактора для параллельных приложений с
возможностью запуска на кластере
Целью нашей работы является создание облачной IDE для разработки параллельных приложений с последующей возможностью запуска их на кластере «Сергей Королёв». Редактор будет интегрирован в проект Templet
Web [9].
Проект призван упростить разработку параллельных приложений при помощи шаблонов Templet, что позволит ускорить изучение параллельных алгоритмов студентами в рамках лабораторных практикумов.
Литература
1.
Goldman, M. Real-time collaborative coding in a web IDE [Текст] /
M. Goldman, G. Little, R.C. Miller // Proceedings of the 24
th annual symposium on
User interface software and technology. – ACM, 2011. – С.155-164.
2.
Gadhikar, L.M. et al. Browser based IDE to code in the cloud [Текст] /
L.M. Gadhikar et al. //New Paradigms in Internet Computing. – Springer Berlin
Heidelberg. – С.59-69.
3.
Aho, T. et al. Designing IDE as a Service [Текст] / T. Aho et al.
//Communications of Cloud Software. – 2011. – Т. 1. – №. 1.
4.
Wu, L. et al. CElipse: an online IDE for programing in the cloud [Текст] /
L. Wu et al. //Services, 2011 IEEE World Congress on. – IEEE, 2011 – С.45-52.
5.
Merkel, D. Docker: lightweight linux containers for consistent development and deployment [Текст] / D. Merkel //Linux Journal – 2014 – Т. 2014 –
№ 239 – С.2.
6.
Doerane, S. Scala. js: Type-directed interoperability with dynamically typed languages [Текст] / S. Doerane – 2013. – № EPFL-REPORT-190834.
7.
Mikkonen, T. Elements for a cloud-based development environment: online collaboration, revision control, and continuous integration [Текст] /
T. Mikkonen, A. Nieminen // Proceedings of the WISCA/ESCA 2012 Companion
Volume. – ACM, 2012 – С.14-20.
8.
Fahndrich, M. Lessons from a Web-based IDE and Runtime [Текст] / M.

Fahndrich // Proceedings of the ACM SIGPLAN 2014 Workshop on Partial
Evaulation and Program Manipulation. – ACM, 2014. – С.1-2.
9.
Артамонов, Ю.С. Применение облачного сервиса Templet Web при проведении лабораторных практикумов на суперкомпьютере «Сергей Королев»
[Текст] / Ю.С. Артамонов, С.В. Востокин // Х Международная научно- практическая конференция «Современные информационные технологии и ИТ- образование», МГУ, Москва, 2015. Т. 2. – С.409-414.


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2017
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал