С момента публикации обзора облачных IDE прошло около двух лет. Хватило ли разработчикам этого времени, чтобы перевести онлайн IDE из категории интересных игрушек в разряд реально используемых в разработке инструментов и сервисов? Однозначный ответ дать сложно. Переворот не совершен, но наступление облачных IDE стало ещё более напористым. Развитие облачной индустрии подстрекает команды новаторов к нестандартным ходам. Кстати, одно из самых распространенных заблуждений — cloud IDE — это обычный редактор в браузере, напичканный всякими довесами и рюшечками. Как раз такие проекты и не имеют шансов стать полноценной заменой оффлайн средам разработки. А вот идея иметь все средства разработки, а также сервисы для запуска, тестирования и развертывания приложений в облаке, весьма и весьма прельщает. А если это ещё и выгодно с точки зрения финансов и времени? Тогда, возможно, стоит задуматься. Ниже представлены небольшие обзоры самых интересных, на мой взгляд, облачных IDE: Cloud9 и Codenvy.
Cloud9
Cloud9 является ярким представителем облачной IDE. Американо-голландская команда регулярно обновляет свой сервис, добавляя новые возможности редактора, поддерживаемые языки и PaaS. Cloud9 отличается от Codenvy, и не только дизайном. Впрочем, дизайн Cloud9 заслуживает отдельных эпитетов — сделано необычно. Если в Codenvy расположение меню можно назвать классическим, то впервые попав в Cloud9 нужно немного освоится. Плюс это или минус — решать вам.
Регистрация и создание проектов
Чтобы зарегистрироваться в Cloud9 достаточно ввести желаемое имя пользователя (это будем имя вашего домена), email (туда придет линк для подтверждения регистрации) и выбрать пароль. Быстрый доступ к виртуальному рабочему месту — основная фишка любого облачного IDE, и Cloud9 не является исключением. Регистрация заняла около двух минут. Если у вас есть учетные записи на GitHub или Bitbucket, то регистрация становится ещё проще.
По умолчанию в Cloud9 доступен один демо-проект с 5 простенькими приложениями на HTML, Node.js, PHP, Python и Ruby. Само собой, вы можете создавать новые проекты, загружать файлы с локальных дисков, или же прибегнуть к помощи Git или Mercurial для работы с удаленными репозиториями.
Поддерживаемые языки и PaaS-ы
Как уже было сказано, Cloud9 поддерживает HTML, Node.js, PHP, Python и Ruby. А вот список PaaS-ов явно хромает. Зарегистрировавшись с бесплатным аккаунтом, среди поддерживаемых PaaS-ов удалось увидеть только Heroku, Windows Azure Cloud Services и Windows Azure Websites. На сайте также заявлена поддержка CloudFoundry, однако этот PaaS оказался доступен только из командной строки. Была замечена поддержка OpenShift, но оказалось, что этот PaaS не используется как полноценная платформа для развертывания приложений, а всего лишь как один из удаленных репозиториев.
Редактор
Cloud9 поддерживает основные фишки, такие как автозаполнение кода, подсветка синтаксиса, навигация по коду, свертывание кусков кода, форматирование и т.д. Интерфейс редактора также настраивается (окна, вкладки). Присутствует возможность настраивать горячие клавиши.
Запуск и отладка приложений
Cloud9 не были бы облачной IDЕ, если бы пользователи не могли запускать и “дебажить” приложения в облаке. Стоит всего лишь кликнуть на иконку с бегущим человеком, и приложение запускается на локальном сервере Cloud9. Тоже самое касается и запуска в режиме отладки. Таким образом разработчики могут “доводить до ума” приложения до развертывания их на PaaS-ах.
Система контроля версий
Cloud9 поддерживает Git и Mercurial. Обе системы контроля версий доступны только в консольном режиме, однако, вряд ли это можно считать недостатком. Поддерживается работа с удаленными репозиториями, а значит — вы без труда сможете бекапить код на GitHub и тянуть проекты в Cloud9.
Приглашения в проекты/совместное программирование
Cloud9 предлагает следующие возможности приглашения и “расшарки” проектов:
* инвайт с помощью email
* поделиться в Twitter
* поделиться в Facebook
Из приятностей — полноценный режим совместного редактирования проектов. Более того, соавторы могут общаться в чате прямо в своих доменах. По умолчанию, гости могут работать только в read-only режиме, однако владелец домена может предоставить и расширенные права, конечно, если посчитает это нужным.
Стоимость
За $12/месяц Cloud9 предлагает 6 приватных воркспейсов, полный доступ в консоль и терминал, подключение к собственной виртуальной машине, неограниченное количество ftp и публичных воркспейсов, и неограниченное количество приглашенных пользователей.
Общее впечатление
Cloud9 оставила весьма неплохие впечатления, и вне всяких сомнений, проект будет развиваться. Удобная работа с файлами, нужные и важные функции редактора, полноценный режим совместного редактирования… Вместе с тем, ни на секунду не покидало ощущение того, что Cloud9 — идеальна для работы с файлами, но не проектами в целом. Впрочем, возможно, это всего лишь ощущение, не имеющее ничего общего с реальностью )
Codenvy
За прошедшие 2 года команда сменила не только имя (ранее проект носил имя Exo IDE). Стартовав, как компонент продукта компании eXo Platform, Codenvy отправились в самостоятельное плавание. Про амбиции Codenvy (envy — завидовать. англ.) говорить не стоит. Темпы развития продукта говорят сами за себя — ребята намерены бороться за львиную долю рынка, который, к слову, находится в фазе становления. Как говорится, кто первый — того и тапки.
Кстати, собирая информацию о Codenvy, удалось обнаружить ресурс codenvy.ru — простенький некоммерческий блог информационно-просветительской направленности. Контента не много в силу возраста блога, но обновляется с завидной регулярностью. Так что, интерес русскоязычного сообщества присутствует, и, стоит надеятся, он будет только расти.
Разработчики из Codenvy снабдили свое IDE детище дюжиной новых фишек, охватывающих всевозможные аспекты разработки: от новых PaaS-ов и рефакторинга кода, до мульти-пользовательского режима и приглашений в проекты. Остановимся на основных:
Регистрация и создание проектов
Если у вас есть учетная запись Google, то регистрация нового домена займет не более 2-3 минут. Имя домена будет взято с ID гуглпочты. В случае, если вы не желаете использовать учетную запись Google, доступна и “ручная” регистрация с выбором желаемого имени домена. Никаких загрузок, плагинов, конфигураций. Это все на чистой Linux, Windows или Mac OS, под Chrome, Firefox или Safari (IE не поддерживается).
Создание проектов происходит под руководством специального визарда. У вас не будет шансов выбрать не поддерживаемый PaaS или ввести недопустимое имя проекта. Codenvy по умолчанию предлагает использовать свои темплейты, однако, импорт собственных приложений никто не отменял. Клонирование репозиториев с GitHub или BitBucket через графический интерфейс интуитивно понятно и не занимает много времени. Также присутствует загрузка локальных файлов и архивов с проектами.
Поддерживаемые языки и PaaS-ы
На данный момент Codenvy поддерживает Java, Java Script, PHP, Python, Ruby, HTML и CSS. Прилождения, написанные на этих языках, могут развертываться на AWS Elastic Beanstalk, AppFog, Cloud Foundry, CloudBees, Google App Engine, Heroku и OpenShift. Такой набор технологий и PaaS-ов не означает что любое приложение можно развернуть на любом PaaS-е. Так, например, PHP приложение можно “задеплоить” только на OpenShift или AppFog. Стоит ли говорить, что список доступных языков программирования и PaaS-ов постоянно увеличивается. Кстати, пользователи сами голосуют за те фишки, которые они хотели бы увидеть.
Пример создания и деплоя простого спрингового проекта в CloudFoundry
Редактор
Codenvy изначально заточены под Java. Но, это не значит, что другие языки обделены функционалом редактора. Все же, Java программисты найдут для себя большее количество фишек — автозаполнение кода, синтаксическая подсветка, редактор ошибок с подсказками по их устранению, схема кода и рефакторинг кода (на сегодняшний день поддерживается переименование классов, полей и переменных; смотрите видео).
Тулбар и горячие клавиши легко поддаются кастомизации, поэтому, всего за несколько минут возможно настроить домен Codenvy под себя, например, поместив на главную панель самые часто используемые команды.
Билды, запуск и дебаг приложений
Перед развертыванием приложения на выбранном PaaS пользователи имеют возможность собрать и опубликовать проект, запустить его на локальном сервере Codenvy или же запустить приложение в режиме отладки. И это все в облаке! В качестве сборщика проектов используется Maven. Для Java приложений доступен JRebel плагин, способный обновлять приложение прямо в рантайме.
Система контроля версий
Codenvy использует Git в качестве системы контроля версий. Git-операции доступны как из GUI, так и из Shell. Само собой, предусмотрена работа с удаленными репозиториями. Планируется ли поддержка SVN или Mercurial — вопрос открытый. Возможно, такая поддержка появится в будущем. Впрочем, и нейтив Git — вполне юзабельный вариант.
Приглашения в проекты/совместное программирование
Codenvy уже работает над полноценным collaboration режимом, который в чем-то будет напоминать совместное редактирование документов в Google Docs. Пользователи, работающие в данный момент над файлом будут обозначаться разноцветными курсорами, а их правки также будут иметь цветовые отличия. Бета-проект уже находится в стадии тестирования, и его появление ожидается в ближайшем будущем.
Из того, что уже доступно — приглашение пользователей в ваше виртуальное рабочее место (импорт контактов Google или же адресное приглашение), а также приглашение GitHub соавторов.
Стоимость
На данный момент пользоваться Codenvy можно абсолютно бесплатно. В ближайшем будущем планируется переход на модель GitHub: публичные проекты — бесплатно, приватные — за деньги. Тарифные пакеты стартуют от 9$/месяц, однака пока что не вступили в силу.
Итоги
Не будем спорить и размышлять о целесообразности развития облачных IDE. Критиков и сторонников “покодить в облаке” хватает. С другой стороны, прятать голову в песок как минимум глупо — рынок онлайн IDE развивается, и развивается динамично. А тот факт, что на рынке появляется конкуренция, свидетельствует о том, что обычные IDE будут и дальше прогрессировать. По оценкам экспертов, к 2015 году облачная индустрия принесет компаниям доходы в размере $1.1 триллиона и создаст 14 миллионов рабочих мест по всему миру. Уж точно, какую-то часть этого рынка и будут занимать cloud IDE проекты. Ну, и ко всему прочему, сейчас в мире создается все больше и больше приложений, в то время как количество людей, задействованных в разработке ПО, не успевает за ростом количества приложений и веб-сервисов. Это значит, что программистам просто необходимо становиться более продуктивными. Именно на это и нацелены online IDE проекты. Цель любого облачного IDE проекта — облегчить жизнь девелопера или команды разработчиков.
В качестве итогов, приведу сводную таблицу-сравнение Cloud9 и Codenvy. Регистрируйтесь, пробуйте и высказывайтесь!
Автор: ivantsoft