Pull to refresh

Программирование в облаке: Небольшой обзор Онлайн-IDE

Reading time 6 min
Views 52K
Original author: Mike Wooten
Похоже, что всё сегодня переходит в «облака», которые являются туманным термин для определения программных приложений и хранилищ данных, размещенных на удаленных серверах где-то далеко по всему Интернету. Так что, если всё наше ПО переходит на облака, то почему бы не перейти инструментам, используемым для создания этого ПО? Ну, а некоторые инструменты, есть там прямо сейчас. Черт, даже GitHub недавно добавил базовые возможности редактирования. В этой статье мы рассмотрим некоторые многообещающие Онлайн-IDE.

Pastebin'ы: Младшие братья Онлайн-IDE


Первая категория онлайн-IDE, которые мы будем рассматривать, я на самом деле не могу назвать полноценными IDE. Эти легковесные IDE-подобные веб-инструменты больше похожи pastebin'ы на стероидах. Pastebin'ы предоставляют основные возможности редактирования текста и такие функции, как подсветка синтаксиса, но не поддержку контроля версий или деплоймента. Вместо этого, pastebin'ы позволяют сохранять и расшаривать фрагменты кода между другими пользователями. Следующие веб-инструменты выходит за рамки типичных pastebin'ов в том, что они также позволяют выполнять код. Эта категория недо-IDE отлично подходит для чего-то простенького, но не для полноценной разработки. Главной фишкой этих веб-инструментов является возможность быстро и легко выполнять и совместно использовать фрагменты кода. Мы рассмотрим три из них: JS Fiddle, Python Fiddle и ideone.

JS Fiddle


image

JS Fiddle не является полнофункциональной IDE, но отличное средство для для быстрого опробования каких-либо идей с HTML, JavaScript, CSS. Веб-сайт содержит отдельные окна для HTML, JavaScript, CSS и конечного результата. Редакторы поддерживают подсветку синтаксиса. JS Fiddle позволяет при проверке JavaScript-фрагментов выбрать из нескольких версий каждой из крупных библиотек JavaScript, таких как JQuery, Mootools, Prototype, YUI, Dojo. Он даже позволяет сделать ссылку на URL, где удаленно размещены ваши JavaScript и CSS-файлы. Ваш «фрагменты» (fiddles) также могут быть сохранены и совместно использоваться с другими пользователями. И ещё интегрирован JSLint.

Python Fiddle


image

Python Fiddle похож на JS Fiddle за исключением того, что ориентирован на Python, а не комбинацию HTML/CSS/JavaScript. Python Fiddle обеспечивает песочницу для тестирования фрагментов кода на Python, а также обеспечивает поддержку многих популярных Python-библиотек. Как и JS Fiddle, Python Fiddle поддерживает подсветку синтаксиса, и ваши фрагменты можно сохранять и расшаривать для других пользователей.

ideone


image

ideone на сегодняшний день является самым амбициозным из известных мне pastebin'ов. Так же, как JS Fiddle и Python Fiddle, ideone обеспечивает подсветку синтаксиса и возможность сохранять и обмениваться фрагментами кода. Однако, в отличие от двух других, ideone поддерживает более чем 20 различных языков, включая C, C++, C#, Java, JavaScript, Go, Groovy, Objective-C, Perl, Python и Ruby. ideone стремится быть универсальным средством для тестирования ваших фрагментов кода.

«А теперь попросим подняться тех, кто станет настоящими облачными IDE»


Что отличает реальные облачные IDE от своих младших братьев так это, что они включают в себя поддержку для импорта проектов, работу с системами контроля версий (в первую очередь Git), а в некоторых случаях поддержку деплоймента. Из полнофункциональных онлайновых IDE мы будем исследовать Eclipse Орион, Cloud 9 IDE, и eXo Cloud IDE.

Eclipse Orion


image

Eclipse Orion представляет собой онлайновую IDE и является частью Eclipse Foundation. IDE в первую очередь ориентированно на веб-языки программирования, такие как HTML, JavaScript, CSS, но включает начальную поддержку Java. Orion отличается от других онлайновых сред разработки тем, что это не обязательно представляет из себя хостящееся решение, а на самом деле предназначен для развертывания в частных условиях на собственных серверах пользователей. Вы можете скачать Orion и разместить у себя, например, ваша компания может запустить у себя внутри корпоративной сети Orion для всех разработчиков компании или даже для какого-то конкретного проекта.

С самого начала Orion позволяет инициализировать новые проекты путем клонирования из Git (единственная поддерживаемая система контроля версий), загрузкой ZIP файл вашего проекта, либо путем создания нового сайта HTML5 с использованием initializr.

Для тестирования я клонировал репозиторий в Git. По непонятным причинам мне пришлось использовать HTTP для Git вместо SSH, так как я нигде не смог найти, в каком месте указывается SSH-ключ. Orion предоставляет графический интерфейс для работы с Git, но он может быть немного запутанным. Хотя я понимаю, что использование Git'овской команды «status» перед выполнением коммита — это хорошая практика, но Orion скрывает интерфейс коммита под опцией окна репозитория «Показать Статус», что очень путает.

Редактор довольно хорош. Он поддерживает номера строк и подсветку синтаксиса. Поддержка структуры кода (outlining) и контекстной помощи разбросана. В настоящее время структура кода поддерживается только для JavaScript и HTML, а контекстная помощь доступна только для CSS. Поддерживаются основные команды редактирования, такие как Alt+Up/Down, чтобы перемещать строки, Ctrl+D для удаления строки, а Ctrl+L для перехода к номеру строки.

Дополнительную информацию вы можете получить в Eclipse'овском "Руководство по началу работы" для Orion.

Cloud9 IDE


image

Cloud9 IDE это ещё одна веб-IDE, специализирующаяся на веб-разработке, и единственная в нашем списке, которая является платным решением. Cloud9 IDE является бесплатной для публичных (видимых всем) проектов, но для частных проектов стоимость составляет $15 в месяц. IDE поддерживает HTML, JavaScript, CSS, а также включает в себя поддержку Ruby и PHP. Из онлайновых IDE, Cloud9 является единственной в этом списке, которая поддерживает Mercurial, а также Git. На самом деле, с самого начала встроена поддержка GitHub и BitBucket и вы можете создать свой аккаунт в Cloud9 ID, войдя в систему через один из этих сервисов. Когда я создавал свой аккаунт, это вообще было единственным способом (надеюсь, что это было исправлено, но я не хочу создавать новый аккаунт для проверки).

При условии, что вы войдите через GitHub или BitBucket, импорт проектов является элементарным. Вы даже не должны быть знакомы с консольной версий Git или Mercurial, хотя, полная поддержка контроля версий осуществляется через консоль в нижней части экрана. Инструмент предоставляет SSH-ключ, который вы можете зарегистрировать в GitHub, чтобы не видеть получать каждый раз запрос при попытке закоммитить код.

Редактор очень гибкий и поддерживает некоторые тонкости, знакомые нам по Eclipse (Alt+Up/Down для перемещения строк кода, Ctrl+D для удаления строки, Ctrl+L для перехода к строке). Подсветка синтаксиса великолепна, и есть поддержка «украшения» кода. Редактор при вводе уведомляет вас об ошибках в коде.

Ваши HTML-страницы могут быть протестированы прямо в интерфейсе. Если вам нужен деплоймент вне хоста, Cloud9 IDE поддерживает развертывание в Joyent и Heroku.

eXo Cloud IDE


image


eXo Cloud IDE является последней онлайновой IDE, которую мы будем рассматривать и, возможно, самой амбициозной. eXo Cloud IDE направлена на поддержку трех веб-языков, а также Ruby, Java и JSP, PHP. Она также обеспечивает множество вариантов развертывания: CloudBees, CloudFoundry, Heroku, и Red Hat OpenShift.

eXo Cloud IDE поддерживает Git для управления версиями, а также содержит отличное меню в верхней части экрана для всех Git-операций. В меню «Window» спрятана утилита «Ssh Key Manager», позволяющая настроить SSH-ключ для использования с удаленным хостингом Git (таких, как Github). Импорт проекта из Git был немного сложнее с eXo Cloud IDE в том, что сначала вы должны были создать папку, инициализировать репозиторий в папке, а затем выполнить клонирование. Большинство других сервисов позволят вам начать сразу с «клонирования» и берут на себя все остальное.

Редактор достаточно хорош. Он поддерживает подсветку синтаксиса и номера строк. Но он не имеет некоторых фишек редактирования текста, которые я уже видел в других (Alt+Up/Down отсутствует, но Ctrl+D для удаления строки и Ctrl+L для навигации по линии работают). Он поддерживает outline для навигации по вашему коду. Ещё одно чрезвычайно полезное свойство — eXo Cloud IDE поддерживает минимальная форму автодополнения кода (со стандартным Ctrl+Пробел). eXo Cloud IDE обеспечивает базовое автозавершение для кода на HTML, JavaScript, CSS, и Java, Ruby и PHP.

Сравнение


В следующей таблице приведено сравнение различных особенностей онлайновых IDE:

IDE Стоимость Языки Контроль версий Деплоймент
JS Fiddle Бесплатна HTML, JavaScript, CSS Нет Нет
Python Fiddle Бесплатна Python Нет Нет
Eclipse Orion Бесплатна HTML, JavaScript, CSS, Java Git Нет
eXo Cloud IDE Бесплатна HTML, JavaScript, CSS, Ruby, Java, PHP Git CloudBees, CloudFoundry, Heroku, OpenShift

Заключение


Пока я не вижу онлайн IDE, с помощью которых можно решать большую часть задач разработчиков, но думаю, что они могут являться полезным дополнением к инструментарию любого разработчика. Большая часть создана для веб-разработчиков, так как большинство инструментов направлены на разработку HTML, JavaScript, CSS. Инструменты типа pastebin полезны для быстрого тестирования новых концептов и не требуют много накладных расходов по сравнению с полноценными IDE.

Git — явный победитель, когда дело доходит до поддержки контроля версий в онлайновых IDE. GitHub, в частности, этому очень способствует (это отличный сервис, поэтому я могу понять, почему). Только одна IDE предлагает поддержку Mercurial, а любителям Subversion не повезло в будущем в онлайн-мире.

Лично мне не хватает функций нормального автодополнения кода и инструментов рефакторинга в нынешнем поколении онлайновых IDE. Я думаю, что поддержка этих функций будет появляться и улучшаться. Я вижу, что через несколько лет в конечном счете появятся команды разработчиков, создающие и развертывающие весь их код прямо из веб-браузера.
Tags:
Hubs:
+51
Comments 41
Comments Comments 41

Articles