Языки программирования для облака
8 сентября 2016 | Опубликовано в статьюшечки | 3 Комментариев »
Облачные технологии повсюду, и они пришли, чтобы остаться. Если вы любите программирование, написание скриптов, а также хотите хорошо оплачиваемую профессию, то уже наверняка засматриваетесь на программирование на облачных платформах. В этом случае вы сможете не бояться ограничений, ведь облако может принять почти любой язык программирования, в зависимости от выбранного вами интерфейса.
В этой статье вы найдете список самых востребованных языков, подходящих под заданную тему. Если вы с ними еще не знакомы, самое время выучить их! На данный момент их популярность высока, однако с ростом больших данных, она будет только расти.
R — язык программирования, который часто используется для анализа данных и разработки программного обеспечения. Если вы неравнодушны к наукам, этот выбор для вас: R невероятно востребован в области научных исследований. Это происходит благодаря росту количества задач и должностей, связанных с работой с данными. Если сбор данных — ваша тема, лучшего языка программирования не найти. Помимо этого, на R написано множество бизнес-приложений, а программирование на этом языке считается одним из самых высокооплачиваемых.
Python:
Если вы любитель высоких целей и привыкли постоянно поднимать планку, Python может стать отличным выбором. Часть популярнейшего ПО для управления IaaS написано на этом языке, и этот навык очень востребован и применим в самых разных средах. Он достаточно прост в изучении, но при этом куда элегантнее похожих на него Php или Ruby. А также приносит очень неплохие деньги. Годовой доход программиста Python может исчисляться суммой из шести цифр.
Clojure:
Clojure — язык программирования на базе JVM, и по мнению тех, кто его использует, является зрелым, стабильным и простым в изучении. Это Лисп (язык обработки списков), со всеми вытекающими преимуществами. Также у вас будет меньше проблем, благодаря неизменным данным. Если вы допустите некую небрежность в создании кода, Clojure поможет вам «защититься» от себя же. И также как предыдущие языки, он идеален для обработки большого объема данных.
Существуют сотни языков программирования, которые можно использовать в облаке, начиная с Deadfish и заканчивая Scala. Но если вы выбираете какой новый язык изучить, ищите тот, у которого много приложений, который будет востребован еще долгое время, а также тот, что принесет больше денег. Из этих соображений, перечисленные четыре языка — SQL, R, Python и Clojure лучше всех!
Топ 10 языков облачного программирования 2019 года
Язык программирования – важный выбор, ведь существует множество различных языков программирования.
Когда люди думают о выборе компьютерного языка, они, вероятно, выбирают один из хорошо известных процедурных языков общего назначения, преподаваемых в школах, таких как C, Java или Python.
Но они в свою очередь являются лишь подсказками айсберга компьютерного языка – если он использует ключевые слова и структуру для передачи информации.
Вот 10 языков облачного программирования для рассмотрения.
В этой статье мы предоставим вам список из 10 лучших языков облачного программирования, которые следует учитывать, когда вы решаете изучать новый язык.
Эти облачные языки очень эффективны и функциональны, а также довольно просты в изучении.
Языки облачного программирования в основном используются для серверов и баз данных.
Список 10 лучших языков программирования в облаке
1. SQL Data
SQL [язык структурированных запросов] является фаворитом многих программистов.
SQL – это специализированный язык программирования, предназначенный для управления данными, хранящимися в системе управления реляционными базами данных (RDBMS), или для обработки потоков в системе управления реляционными данными (RDSMS).
Его легко выучить язык и одновременно очень полезно.
2. XML Data
XML [Extensible Markup Language] является популярным языком разметки данных.
Он очень похож или напоминает JavaScript.
Многие крупномасштабные распределенные системы сделаны с использованием XML.
XML-документы широко распространены в Интернете.
XML-документы есть везде.
Конфигурация Apache Hadoop находится в файлах XML.
3. R Math
Язык R в основном используется для создания статистики, графиков и отчетов.
Он имеет очень крутой интерактивный интерфейс и предлагает большую помощь пользователям.
Это очень удобный язык для анализа больших данных.
4. Clojure Math
Clojure – это не просто математический язык – это и универсальный, и функциональный язык.
Так уж случилось, что Clojure пользуется популярностью у аналитиков данных.
5. Haskell
Haskell – это функциональный язык, который идеально подходит для распределенных вычислений, а также удобный для пользователя язык облачного программирования.
Пока что освоение Haskell в облаке неоднозначно – возможно, Haskell воспринимается как трудный для изучения.
6. Erlang
Erlang был изобретен телекоммуникационными продуктами Ericson.
Он подходит для функций операторского класса и лучше всего подходит для облачных вычислений.
Многие облачные приложения работают на основе Eriang.
7. Pyhton
Python – это язык высокого уровня.
Его очень легко выучить язык и он очень интерактивен.
Go был создан в Google несколько лет назад, когда некоторые программисты Google были разочарованы такими языками, как Stroustrup C ++.
Goggle сделал этот язык очень удобным, с учебными пособиями и игровыми площадками для пользователей.
9. GFM
GFM [GitHub Flavored Markdown] – это язык форматирования простого текста, используемый для документирования репозиториев на GitHub.
GFM используется миллионами разработчиков, потому что миллионы разработчиков используют GitHub.
10. Regular Expression
The regex REGular EXpression] беспокоит новичков, потому что он практически символический – вместо ключевых слов используются одиночные символы.
Код регулярного выражения выглядит как будто кто-то заснул на клавиатуре.
Тем не менее, регулярные выражения являются основой мира Linux.
Одним из основных принципов старой ОС UNIX и ее преемника Linux является интенсивное использование текста.
Текст используется везде – для настройки, в командной строке и в протоколах.
Регулярные выражения помогают разработчикам управлять этим текстом.
Есть также много языков облачного программирования, это топ-10 из них.
Если вы знаете какие-либо другие языки облачного программирования, оставьте комментарий ниже.
Исследование: Java самый популярный язык в облаке — кто и почему его использует
Некоммерческая организация Cloud Foundry Foundation (CFF) в конце лета опубликовала рейтинг самых востребованных языков программирования для корпоративных облачных разработок. Согласно их исследованию, лидером стал Java.
Под катом расскажем почему и как его используют ИТ-компании и другие организации.
В исследовании CFF приняли участие более 600 ИТ-специалистов. И согласно опросу, Java является самым популярным языком для разработки корпоративных приложений — его выбрали 58% респондентов. При этом выбор в пользу этого языка программирования также сделали 57% специалистов, использующих в своей работе частные облака.
Java также занимает первое место по популярности среди других языков программирования согласно рейтингу TIOBE, который ранжирует ЯП по числу поисковых запросов на порталах Wikipedia, Google, YouTube и др. По данным за август 2018 года, рейтинг Java составляет 16,88%.
Кто и как использует Java в облаке
Одной из главных причин популярности этого языка программирования (в том числе в облаке) считается широкий выбор библиотек. Например, сотрудники компании OverOps в 2017 году выделили и проанализировали около 260 тыс. уникальных Java-библиотек на GitHub. Отметим, что наиболее популярными из них оказались: JUnit (для написания тестов), Mockito (мок-библиотека) и slf4j (представляет мощный фасад для различных систем протоколирования на Java). Они же лидируют в рейтинге, представленном на сайте DZone.
Большое количество библиотек делает ЯП гибким, что позволяет реализовывать новые функции. Эта особенность языка помогла Spotify построить набор модулей для разработки микросервисов Apollo. Он управляет жизненным циклом сервисов и долгое время использовался стриминговой платформой.
Ещё одно преимущество Java — адаптивность. Благодаря виртуальной машине Java (JVM), написанный на этом ЯП код можно запускать на Windows, Linux и MacOS. Это дает реализовать принцип «написано однажды, работает везде», который особенно ценится при разработке облачных приложений. Директор по разработке ПО Twitter Роберт Бенсон (Robert Benson) называет это одной из причин, почему компания перешла на JVM.
«Переносимость» Java отметили и в Netflix. Дело в том, что инфраструктура компании работает на Linux, а кодирование видео выполняется на машинах Windows. В Netflix отмечают, что большое количество инструментов с открытым исходным кодом на Java упрощает мониторинг и обновление данных в «разномастных» средах.
Ещё одна причина, по которой компании выбирают Java, — масштабируемость. Эдвард Ву (Edward Wu), ИТ-директор компании-разработчика игр Niantic Labs, говорит, что возможности Java очень помогли им при разработке Pokémon Go (игру скачали более 500 млн раз). Справиться с наплывом трафика им помогла облачная платформа Java с контейнерами и фреймворком Kubernetes. Благодаря ей они смогли эффективно синхронизировать состояние миллионов сущностей виртуального мира между устройствами игроков.
Где ещё используют Java
Помимо облачных сервисов, Java используют и в разработке других решений. Например, на нем пишут приложения для интернета вещей: приложения для работы с разного рода датчиками, камерами видеонаблюдения и др.
Java популярен и в робототехнике. Программист Дэн Ройер (Dan Royer) создатель Makelangelo — арт-робота с открытым исходным кодом, который рисует постеры (код есть на GitHub) — рассказывает, что использует Java практически во всех своих разработках.
/ фото NASA PD
ЯП популярен и в космической отрасли. Например, его используют в НАСА. Как отмечает инженер Шон Хенли (Sean Henley), Java позволяет оперативно и без высоких затрат реализовывать кроссплатформенные решения. В частности, на Java написаны инструменты для визуализации данных с телескопа имени Джеймса Уэбба.
Набор API World Wind НАСА также создан на Java. Он помогает строить интерактивные 3D-карты земного шара. Данные для этого система берет из спутниковых снимков Landsat и SRTM.
Java нельзя назвать новой технологией. Со времени его создания прошло уже более 20 лет. На рынке появились молодые ЯП, готовые составить ему конкуренцию. Однако язык по-прежнему широко используется. Он постоянно обновляется, обзавёлся огромным комьюнити, и ожидается, что популярность Java будет только расти.
О чем еще мы пишем в нашем блоге об IaaS:
Обзор облачных IDE
Применение облачных IDE в корне меняет устоявшийся за годы процесс разработки программного обеспечения. Разработчику больше не нужна (в идеале) куча программ, между которыми требуется налаживать связь, которые необходимо обновлять и с которыми приходится выполнять другие рутинные действия. Но увы, мир облачной разработки еще нельзя назвать идеальным. Здесь есть свое черное и белое.
Так ли безупречны облачные IDE
Для начала поговорим о светлой стороне. Что принципиально нового нам несут облачные технологии и IDE в частности? В первую очередь — смену устоявшихся паттернов. Для работы необходим только браузер и ничего больше. Ни версия ОС, ни отсутствие специализированных библиотек в системе не способны помешать работе. Браузер в этом мире играет роль главного проводника. Сейчас он мощная среда разработки, а через пять минут превращается в крохотный редактор регулярных выражений.
Отношение к аппаратным ресурсам меняется аналогичным образом. Гонка производительности может быть ненадолго прервана, так как главным потребителем ресурсов становится опять-таки лишь браузер. Снабжать ресурсами мощную среду разработки и все связанные с ней компоненты будет кто-то другой. Получается, наиболее вескими аргументами «за» в отношении миграции в облако будут:
Минусы облачных IDE
Положительных сторон облачного кодинга немало, но и минусов, увы, хватает. Самый главный из них — безопасность. Да, когда исходный код проектов доступен в любой точке мира — это круто, но все мы помним печальную историю с популярным ныне облачным сервисом Dropbox.
Из-за ошибки разработчиков злоумышленники могли получить беспрепятственный доступ к любому из аккаунтов пользователей. Представляешь, какие проблемы могут возникнуть, если такая ситуация случится с IDE, в которой располагаются рабочие проекты? Мало того что исходники могут попасть в чужие руки, так еще и в мгновение ока ты можешь потерять доступ к результатам своего труда.
Несомненно, разработчики подобных продуктов следят за тенденциями в области защиты и отражения новых хакерских атак, но всем известна простая истина (читателям нашего журнала особенно): чем больше программа, тем больше в ней ошибок. От ошибок не застрахованы даже облака. Не совсем гладко обстоят дела с устойчивостью решений к сбоям и внезапным падениям. Производители сервисов дразнят покупателей хорошим аптаймом, но на деле он не всегда так хорош. Gmail, Dropbox, Google Docs — в истории каждого популярного облачного решения были замечены внезапные падения. Недоступность ресурсов хоть и составляла не больше двух часов, но что, если именно в эти два часа тебе нужно срочно получить доступ к файлам проекта? Я сомневаюсь, что работодателя/клиента, которому срочно требуется исправить ошибку в программе, устроит ответ: «извините, но наше облако сейчас недоступно и мы никак не можем решить вашу проблему».
Один из самых распространенных мифов облачных технологий — дешевизна. По своему опыту могу сказать, что облачное решение порой обходится дороже, чем покупка полноценного программного продукта. Аренда дешева, пока не требуется от нее отказываться и озадачиваться миграцией на альтернативное решение. Рассказывая о преимуществах облачных IDE, я сделал особый акцент на возможность работы из любого места, главное, чтобы был интернет и установлен современный браузер. Это реально крутая возможность, но давай рассмотрим обратную сторону медали. Если ты привык работать в разъездах, то для тебя не станет открытием проблема с доступом к Сети в небольших городах.
Стоит отправиться в командировку в такой город, как сразу начинаешь понимать, почему облачные технологии еще долго не смогут вытеснить полноценные приложения. Зачастую качество доступа к Сети оставляет желать лучшего.
Другой немаловажный минус абсолютно всех облачных продуктов — отсутствие возможности безболезненной миграции на альтернативные решения. Рано или поздно облачный продукт может прекратить свое существование и тебя с твоими проектами попросят покинуть виртуальное пространство. Вот тут и начнется самое интересное. Как безболезненно мигрировать на альтернативное решение?
Clound9
Условия использования: Free (один приватный репозиторий) / Share
Стоимость платной подписки: 12 долларов в месяц
Поддерживаемые языки программирования: JavaScript, PHP, Python, Ruby, HTML, CSS
Система контроля версий: Git
С9.io — если не лучшая, то уж точно одна из лучших облачных IDE, нацеленная в первую очередь на Node.JS-разработчиков. В начале развития проекта многих девелоперов настораживало отсутствие поддержки актуальных версий Node.JS, но сейчас, когда базовый API Node.JS устаканился, доступная по умолчанию версия рабочего окружения более-менее догнала реальность (v0.8.9). С9 поражает своей продуманностью, чувствуется, что она создана разработчиками для разработчиков, благодаря чему сделать Get Started невероятно легко. Интеграция существующих или создание новых проектов (как и настройка рабочего окружения) в C9 абсолютно прозрачна. Можно создать новый проект на любой доступной технологии (Node.JS, Django, Rails) или загрузить файлы с локальной машины пачкой — и буквально через пару кликов рабочее окружение будет готово. Есть возможность подключаться к своим файлам по FTP, SSH, а благодаря тому, что C9 предлагает полноценную командную строку, можно внутри директории проекта в облаке полноценно использовать Git так, как если бы это происходило на локальной машине.
Вообще, работа в C9 действительно напоминает работу в полноценной десктопной IDE и даже отличается в лучшую сторону. Подавляющее большинство инструментов разработчика Node.JS (например, npm) ведут себя абсолютно предсказуемо. Так, ты можешь рассчитывать на корректную работу мейнстримового middleware Connect/Express, шаблонизаторов EJS, Jade, поддержку драйверов доступа к базам данных (node-mongo-native, Mongoose ORM, connect-redis), систем авторизации (passport) и даже тех модулей, сборка которых локально сопряжена с некоторыми не всегда корректно обрабатываемыми зависимостями (например, iconv). Поддерживается «умное» автодополнение экспортируемых из модулей функций и переменных. Для исполнения приложений выделяется поддомен вида http://
..c9.io. Сам запуск кода можно производить как в обычном режиме, так и в режиме отладки.
C9 постоянно развивается, каждый день появляются новые коммиты и вводятся новые функции, фиксятся баги (на момент написания статьи исправлялись ошибки процессинга PayPal). Также к услугам разработчика менеджер расширений, позволяющий в один клик установить популярные дополнения рабочей среды и значительно расширить и без того не бедный функционал этой замечательной IDE.
Единственная проблема C9 — несколько подтормаживающий интерфейс. Из-за обилия AJAX’а и в целом навороченности интерфейса многие операции совершаются со скрипом. Редко, но элементы управления даже зависают в процессе работы, но, как уже было сказано выше, работа над улучшением C9 ведется постоянно.
ShiftEdit
Условия использования: Free/Share
Стоимость платной подписки: 5,99 доллара в месяц или 59,99 доллара в год, есть скидки
Поддерживаемые языки программирования: JavaScript, PHP, Python, C++/C#, HTML, CSS, Go, Perl, Java, Scala — всего 28 технологий
Система контроля версий: нет
Первое, что бросается в глаза при знакомстве с этой IDE, — некая отсталость в интерфейсе и несоответствие текущим трендам в дизайне веб-приложений. Это скорее облачный редактор с подсветкой синтаксиса, чем полноценная IDE. При запуске тебе сразу предлагается выбрать тип документа, с которым ты хочешь работать (к чести ShiftEdit нужно сказать, что доступно 28 диалектов, включая JSON, SVG, LESS). Любителей популярных систем контроля версий сразу ждет разочарование — эта IDE их не поддерживает, а судя по ответу разработчиков, кроме частичной интеграции с SVN больше ничего поддерживать они и не планируют. ShiftEdit позволяет подключаться к своим файлам через FTP, SFTP, WebDAV, Dropbox, Google Drive или Amazon S3. Запускать, как и хранить код, предлагается на своих серверах.
В целом система работает более-менее шустро, однако некоторые функции реализованы на очень низком уровне. Например, автодополнение, о котором разработчики гордо заявляют на промостранице, неприятно удивляет своей топорностью, иногда предлагая выбрать из сотен ключевых слов в ситуации, в которой явно должно быть не более 5–10 вариантов.
Из положительных моментов стоит отметить нормальную проверку и подсветку синтаксиса (вообще, здесь сложно что-то испортить), поддержку тем, WYSIWYG-редактор, «живое» редактирование, ну и всякие полезные мелочи, вроде подсветки текущей строки, обрезания лишних пробелов, автозакрытия скобок и прочего функционала, присущего любому нормальному текстовому редактору.
Кроме снятия ограничения на количество проектов, бизнес-редакция ShiftEdit не предлагает основной массе пользователей ничего такого, за что можно было бы отдать деньги — так, почти за 60 долларов в год ты получаешь историю ревизий кода и улучшенную интеграцию с Dreamveawer.
Codeanywhere
Условия использования: Free/Share
Стоимость платной подписки: 5 долларов в месяц или 50 долларов в год
Поддерживаемые языки программирования: JavaScript, CSS, HTML, XML, PHP
Система контроля версий: Git
Разработчики Codeanywhere уверены, что настоящим программистам для полного счастья не хватает возможности программировать в любом месте и в любое время. Наличие компьютера под рукой значения не имеет. Главное, чтобы при себе был современный гаджет вроде смартфона или планшета и доступ к инету. Все остальное предоставит Codeanywhere.
Целевая аудитория проекта CAW (Codeanywhere) — веб-разработчики, специализирующиеся на создании новых приложений при помощи JavaScript, PHP, HTML и CSS.
Помимо типичного набора для IDE облачного формата вроде легковесного редактора с автодополнением кода и подсветкой синтаксиса, разработчики CAW предлагают полноценную площадку для разработки и тестирования приложений. Доступ к интерпретатору PHP, наличие СУБД MySQL, взаимодействие с системой контроля версий Git, возможность загрузки файлов из облачного хранилища Dropbox, встроенный FTP-клиент — все это ключевые опции CAW. Помимо стандартной браузерной версии, на скамейке запасных у CAW есть нативные клиенты для популярных мобильных платформ (Android, iOS, BlackBerry). Собственно говоря, благодаря им лозунг «Программируй в любом месте, в любое время» оправдывает себя на все сто.
Icenium
Условия использования: Share
Стоимость платной подписки: от 16 до 19 долларов в месяц
Поддерживаемые языки программирования: JavaScript, CSS, HTML
Система контроля версий: Git
Одна из главных проблем, с которой сталкивается каждый разработчик мобильных приложений, — необходимость установки разных IDE и SDK. Что хорошо для разработки под Android, то никуда не годится под iOS.
Разработчики из компании Icenium попытались найти оригинальное решение этой проблемы. В результате появилась новая IDE и технология, адаптирующая инструменты веб-разработчиков (JavaScript, CSS, HTML5) для создания мобильных приложений. С ее помощью весь цикл создания приложения (от прототипа до публикации в App Store / Google Play) выполняется прямо в браузере.
Среда разработки снабжена всем необходимым инструментарием для продуктивной работы. Быстрый доступ к необходимым SDK/фреймворкам (jQuery, Kendo UI Mobile). Достаточно функциональный редактор кода (подсветка синтаксиса, автодополнение, синтаксический контроль). Работа с Git (поддерживаются GitHub, Bitbucket). Наличие встроенных «эмуляторов» Android/iOS и ряд других плюшек, упрощающих процесс разработки.
Интерфейс IDE хорошо оптимизирован. Задержки при вызове той или иной функции минимальны, поэтому создается ощущение, что работаешь с десктопным приложением. Разработчикам Icenium удалось сделать элегантное решение нестандартной задачи. Причем оно интересно не просто как облачная среда разработки, а как полноценная платформа, покрывающая весь цикл создания мобильного приложения (от прототипа до публикации в App Store).
Erbix
Условия использования: Share/Free
Стоимость платной подписки: 14,95–69,95 доллара в месяц
Поддерживаемые языки программирования: JavaScript
Система контроля версий: Git
Внешний вид Erbix кажется слегка устаревшим и не соответствующим современным критериям минимализма и простоты. Тем не менее эта IDE пользуется достаточной популярностью у JavaScript-разработчиков. Помимо тривиальных функций для ПО такого типа, у Erbix имеется возможность публикации созданных приложений в собственный AppStore, а также присутствует поддержка СУБД PostgreSQL. Последняя возможность наиболее интересна: благодаря ей вполне реально создать полноценный блог или другое полезное приложение, которому необходимо где-то хранить промежуточные данные.
Слегка устаревший интерфейс компенсируется стабильностью работы и такими полезными функциями, как взаимодействие с СУБД, поддержка модулей CommonJS и RingoJS.
CodeRun Studio
Условия использования: Free
Поддерживаемые языки программирования: JavaScript, C#, PHP
Система контроля версий: нет
Для C#-проектов поддерживается пошаговая отладка. Работает весьма сносно и для отладки небольшого количества кода встроенного отладчика более чем достаточно. С большими проектами при отладке могут возникнуть проблемы. По непонятным причинам интерфейс намертво замирает, после чего спасает только полная перезагрузка приложения.
Текстовый редактор выполнен в типичном для подобных проектов стиле. Есть автодополнение кода, подсветка синтаксиса, подсказки по функциям, синтаксический контроль, интерфейс с табами.
На этом достоинства IDE заканчиваются, и эстафету подхватывает команда ложек дегтя. Одна из главных проблем проекта — тормоза. Тормозит интерфейс (особенно при сборке решения); периодически отваливается коннект к тестовому серверу; напрочь отсутствует хоть какая-нибудь интеграция с внешними сервисами вроде Git; разработчики очень редко обновляют компиляторы/интерпретаторы.
Проект интересный, но его развитие идет черепашьими шагами. Ошибки и тормоза не позволяют поставить этот проект в одну линию с более сильными игроками рынка. Проект хорош, но только в образовательных целях и мелких проектов.
Akshell
Условия использования: Free
Поддерживаемые языки программирования: JavaScript
Система контроля версий: Git
Бытует мнение, что специализированный инструмент всегда лучше, чем универсальный. Глядя на Akshell, понимаешь, что в этой теории определенно что-то есть. Своему рождению данный инструмент обязан любителям языка программирования JavaScript. Разработчик проекта постарался спроектировать хороший инструмент, способный преодолевать трудности, которые подстерегают собратьев по цеху.
Интерфейс Akshell выполнен в лучших традициях минимализма: ничего лишнего, только самое необходимое. Из кодерских инструментов, присущих всем IDE, Akshell готов предложить: редактор с подсветкой синтаксиса и проверкой ошибок в синтаксисе, менеджер проектов и встроенную консоль для взаимодействия с системой контроля версий Git.
Для знакомства с возможностями Akshell рекомендуется посмотреть демонстрационные приложения, разработанные при помощи этой среды. Их можно найти в официальном репозитории проекта на GitHab’е.
Резюмируя сказанное, мы получаем неплохую реализацию еще одного облачного JavaScript-редактора. Минимализм и скорость работы воодушевляют, но у проекта периодически наблюдаются серьезные проблемы с хостингом. Возможно, это временно. Однако при моем тестировании проблемы имели место быть.
Compilr
Условия использования: Free/Share
Стоимость платной подписки: от 20 до 40 долларов в месяц
Поддерживаемые языки программирования: C, C#, Fortran, PHP, Ruby, Python, VB, Objective C и другие
Система контроля версий: нет
Любителям чистого и неперегруженного интерфейса однозначно придется по душе среда разработки Compilr. Создатели проекта не балуют богатым набором возможностей, а просто предоставляют в распоряжение пользователя в меру функциональный редактор кода и услуги интерпретатора/компилятора. Интерфейс приложения не похож на классические IDE. Здесь нет кишащих кнопками панелей инструментов. Главное меню с кучей возможностей также отсутствует. Вспомогательных инструментов вроде системы контроля версий или отладчика здесь тоже нет. А что тогда есть? Только редактор с подсветкой синтаксиса (функций вроде автодополнения, подсказок нет) и компилятор/сборщик.
Полноценной IDE этот проект назвать нельзя. Функционал настолько прост и беден, что годится разве для совсем небольших проектов. Главная изюминка Compilr — поддержка большего количества языков программирования и компиляторов. Наиболее интересным вариантом использования Compilr мне представляется во время изучения новых языков программирования или когда нужно написать код на малоиспользуемом языке, не устанавливая у себя на компе лишнее программное обеспечение.
Codenvy
Условия использования: Free/Share
Стоимость платной подписки: от 9 до 99 долларов в месяц
Поддерживаемые языки программирования: Java, PHP, JavaScript, Python, Ruby, HTML, CSS
Система контроля версий: Git
Интерфейс Codenvy выполнен в классическом для IDE стиле: куча полезных мастеров, упрощающих рутинные действия; главное меню, напичканное всевозможным функционалом; интерфейс в виде табов; менеджер проектов; интеграция с такими необходимыми вещами, как Git. Сам интерфейс проработан достаточно хорошо. После настольных IDE особого дискомфорта не испытываешь. Все на своих местах. Техническая сторона реализации интерфейса заслуживает особого уважения. Задержки минимальны, и среда ведет себя достаточно отзывчиво.
В Codenvy множество самых разнообразных инструментов. Из наиболее интересных стоит выделить: поддержку Git-хостингов; поддержку большего количества PaaS (AWS Elastic beanstalk, OpenShift, CloudBees, CloudFoundy, AppFog, Google App Engine, Heroku); инструменты рефакторинга; поддержку парного программирования; наличие встроенного отладчика и так далее.
Классический интерфейс в стиле настольных решений, сбалансированный набор инструментов, шустрая работа, интеграция с популярными PaaS-сервисами выделяют Codenvy среди подобных проектов. Огорчает лишь, что данная среда в первую очередь ориентирована на Java-разработчиков. Наиболее интересные функции вроде отладчика и рефакторинга доступны только для Java-проектов.
Возвращаемся на землю
Все рассмотренные в статье решения обладают интересным функционалом и заставляют взглянуть на привычные вещи под другим углом. Уже сейчас мы имеем возможность разрабатывать простые приложения для различных платформ, не устанавливая на своем рабочем месте тяжеловесных приложений. Однако говорить о профессиональном использовании облачных сред разработки все же рано. Минусов у подобных решений хватает, а плюсы не в состоянии перекрыть наработанные годами достоинства настольных решений. Вот и получается, что пока облака лишь инструмент, а не серебряная пуля, которую многие в них пытаются разглядеть.
Не вошли в обзор
[url=https://koding.com/]koding.com — новая реинкарнация проекта славно почившего Kodingen. Среда в первую очередь ориентирована на веб-разработчиков. Поддерживаются языки JavaScript, CSS, HTML, PHP. На момент написания статьи сервис работал в beta-режиме, регистрация была возможна только по инвайтам.
www.eclipse.org — облачная опенсорсная IDE от разработчиков легендарного Eclipse. Поставляется в двух варианта: в виде сервиса и исходных кодов. Если в первом случае Orion не отличается от своих собратьев, то благодаря открытости сорцов пользователь получает возможность развернуть проект в собственной сети (например, на работе) и обеспечить коллег современной средой разработки.
phonegap.com — альтернатива для Icenium. Среда сфокусирована на разработку мобильных приложений под iOS и Android. В основе лежат те же идейные принципы, что и у Icenium, в качестве технологий используется инструментарий веб-разработчиков.
SourceKit — облачная IDE, выполненная в виде плагина для браузера Google Chrome. Все пользовательские данные (скрипты и так далее) SourceKit хранит в пользовательском аккаунте Dropbox. Редактор обеспечит подсветкой синтаксиса для следующих языков программирования: C/C++, C#, PHP, Python, JavaScript.
pythonfiddle.com — простенькая облачная IDE для любителей языка программирования Python. Возможностей минимум, но для тестирования алгоритмов будет в самый раз. goo.gl — Collaborative IDE, когда-то был многообещающий проект, но на данный момент застыл в развитии. По указанному линку ты не найдешь функциональную IDE, зато сможешь загрузить исходники и развернуть среду разработки в своем облаке.
sourceLair — еще одна облачная IDE, выполненная в виде плагина для Google Chrome с громадной поддержкой языков программирования: C, C++, PHP, CSS, JavaScript, Java и других. Связью с внешним миром также не обделена. Умеет взаимодействовать с популярными Git-хостингами Bitbucket, GitHub.
Полезные инструменты для разработчиков
codepen.io — хороший редактор для фронтенд-девелоперов. Главная киллер-фича — возможность одновременного редактирования CSS/HTML/JS-кода. Весь код и результат его выполнения представлен на одном экране. Внесение изменений тут же отражается на результате.
cssdesk.com — CSS-редактор. Поддерживает режим «что ввожу, то и вижу».
jsdo.it — сообщество фронтенд-разработчиков. Сервис позволяет писать и тестировать свой код, а также работать с проектами других участников проекта.
refiddle.com — песочница для тестирования и отладки регулярных выражений.
JS- и CSS-песочницы
Заходя на форумы программистов типа Stack Overflow, можешь быть уверен — в 8 из 10 топиков по JavaScript, HTML или CSS ты встретишь отсылки к этим сервисам. Это — песочницы для тестирования маленьких кусочков CSS- или JS-кода. Конечно, ты всегда можешь создать полноценную страницу для тестирования какого-либо CSS-свойства или поведения функции, но, согласись, удобно написать пару строк кода и видеть результат. Да и живые примеры ньюфагам кидать удобнее :).
jsFiddle — один из самых популярных сервисов, король песочниц :). Имеет очень удобный layout, поддерживает кучу популярных фреймворков и библиотек типа Angular, jQuery, Knockout, Bootstrap. Можно выбрать способ подключения: библиотека может быть описана в head, body, загружена по событию onLoad или onDomRead. Позволяет тестировать AJAX-запросы и имеет отличную документацию.
JS Bin — тоже отличный сервис. Поддерживает все популярные фреймворки, ориентирован на отладку JS-кода. Приятная особенность — рефреш не убивает твои изменения. Единственный минус для меня — отсутствие столь четкого, как в предыдущем сервисе, layout (например, нет отельной области для CSS). В остальном — все на высоте.
Dabllet — милая песочница с симпатичным интерфейсом, подходит только для отладки CSS и HTML, поддержка JavaScript в самой зачаточной стадии. Не рекомендовал бы его для ежедневной работы.
CSSDesk — простой и узкоспециализированный сервис для тестирования HTML и CSS c солидной историей. На протяжении всего времени существования тулза остается верной своей философии и честно позволяет тестировать CSS и HTML. Имеет понятный и приятный интерфейс.
Tinkerbin — хорошая альтернатива jsFiddle. Похожий layout, возможность расширить область HTML, CSS или JS за счет вкладок. Имеет живой автоапдейт. Поддерживает LESS, SASS, CoffeScript. В целом работает — за большим советую идти на jsFiddle :).
Статья является совместной работой Игоря Антонова и Илья Курченко.