Небольшой обзор Онлайн-IDE / Habr

Похоже, что всё сегодня переходит в «облака», которые являются туманным термин для определения программных приложений и хранилищ данных, размещенных на удаленных серверах где-то далеко по всему Интернету. Так что, если всё наше ПО переходит на облака, то почему бы не перейти инструментам, используемым для создания этого ПО? Ну, а некоторые инструменты, есть там прямо сейчас. Черт, даже GitHub недавно добавил базовые возможности редактирования. В этой статье мы рассмотрим некоторые многообещающие Онлайн-IDE.

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

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

JS Fiddle


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


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

ideone


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


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


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

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. Я думаю, что поддержка этих функций будет появляться и улучшаться. Я вижу, что через несколько лет в конечном счете появятся команды разработчиков, создающие и развертывающие весь их код прямо из веб-браузера.

habr.com

Online-средства для разработчика

Введение

Данный небольшой обзор не претендует на полноту, но надеюсь он сможет заинтересовать вас и показать, какие инструменты есть.
В современном мире многие сервисы живут в «вебе» и даже приложения «старички» потихоньку туда переезжают.

И это не удивительно, ведь у этого есть неоспоримое преимущество — доступность из любой точки мира (где есть интернет), с любого компьютера или даже портативного компьютера.

Процесс разработки тоже не обошло это стороной и про это хочется написать пару слов. Возможно, кому-то это будет интересно, а кому-то и полезно.

Считаю, что данные инструменты могут помочь при обучении. Они позволяют быстро проверить что-нибудь не запуская IDE локально, что порой полезно.

Онлайн компиляторы

Самым распространённым и лёгким в обзоре является категория «онлайн компиляторов». В них можно опробовать какое-нибудь простое решение на Java.

Одним из самых приятных решений является tutorialspoint java compiler.

Вот пример того, как это выглядит:
Достоинствами является возможность запускать код быстро и просто. Так же имеет приятный вид. Из недостатков — только базовый набор классов, которые есть в JDK и ничего кроме.

В этой же категории хотелось бы отметить другой онлайн компилятор: jdoodle. Выглядит он куда хуже, но в нём есть возможность подключать сторонние библиотеки.

Какой-нибудь веб-сервер Undertow, увы, работать не будет. Но вот Apache Commons опробовать можно:

Онлайн база данных

Следующая категория, которая тоже может быть полезна — онлайн базы данных.

Иногда может потребоваться база данных с доступом по веб, без разворачивания сервера локально и без какой-нибудь сложной навороченной системы.
Опять же, это может быть полезно для обучения.

Для этих целей здорово подходит «PostgreSQL as a Service»:

Позволяет выполнять запросы, создавать таблицы. Кроме того, она доступна и извне. Тоесть её можно использовать и в тестовых проектах в своей IDE локально.

Онлайн IDE

Онлайн компиляторы, про которые мы прочитали выше, это хорошо. Но что если хочется большего?

Например, хочется Maven проект на Java, чтобы он поднимал Spring приложение. На самом деле и такое можно.

Для этого идеальным вариантом является codenvy.io.

Codenvy позволяет создавать workspace:
При создании workspace у нас есть выбор стэка, который будет в этом workspace.
Далее мы можем создать maven проект:
Интересно, что в этом списке есть категория «Samples», в которой есть примеры приложений.
Например, web-java-spring:
А вот так выглядит проект. Почти что как ваша IDE, не правда ли?

Другим аналогом является codeanywhere.com.

C первого взгляда он может показаться немного неудобным, но потом привыкаешь и он кажется уже более дружелюбным.

Однако, он позволяет делать интересные вещи. Например, имея ссылку на GIT репозиторий его можно импортировать:
Так будет выглядеть импортированный проект:
Важно!! Чтобы заставить работать, необходимо выбрать «Blank» стэк на Ubuntu.

Дальше следует через контекстное меню открыть терминал и выполнить команды:

1) Выполнить установку JDK8
sudo apt-get update
sudo apt-get install software-properties-common python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer

2) Установить Gradle
sudo chmod -R 777 ~/workspace
./gradlew
./gradlew test

Как видно на скриншоте, открыв терминал мы можем при помощи gradlew установить gradle и запускать проект через gradle tasks.

Однако, умного автодополнения как у codenvy.io. Поэтому мучитьс с импортом вы будете сами ) Но для запуска проектов с гита вполне подойдёт.

Заключение

Вот и весь небольшой обзор некоторых средств. В каждой категории есть ещё варианты, которые Вам могут показаться лучше. Но мне кажется, приведённые выше варианты как минимум являются одними из самых полезных. Надеюсь, Вы сможете найти им применение)

Да, хотел бы ещё привести немного информации по теме.

У Codenvy есть отличный youtube канал: CodenvyIDE.

А в интернете есть много-много-много обзоров подобных инструментов. Так что выбрать есть из чего.

#Viacheslav

javarush.ru

Онлайн-инструменты для кодеров / Habr

Онлайн-сервисы становятся все популярнее, постепенно усложняя функционал и улучшая интерфейсы. В этой подборке представлены онлайн-инструменты для кодеров.

Cloud9

«Это Google Docs, только для кода» — так говорят о проекте. Облачный сервис вырос из Mozilla Bespin. Основные фишки: SSH, drag-and-drop и возможность разработки оффлайн.

Koding (публичная бета)

Koding.com — среда разработки с предустановленным веб-сервером и элементами социальной сети. Этот сервис уже представляли на хабре, топик даже вызвал хабраэффект и нашествие троллей. Сервис до сих пор находится в стадии публичной беты.

CodePen

Инструмент для фронт-энд разработки, позволяющий легко оперировать с CSS/HTML/JS-конструкциями, позволяет подключать js-библиотеки: jQuery, MooTools и т.д. Авторы — Alex Vazquez, Tim Sabat и небезызвестный Chris Coyier.

JSFiddle

Один из самых популярных инструментов для работы с JavaScript/HTML/CSS/SCSS. Прост, удобен, умеет подключать дополнительные библиотеки.

Dabblet

Аналог предыдущего сервиса с достаточно приятным интерфейсом.

Pastebin.me

Сервис для настоящих любителей минимализма — никаких лишних элементов в интерфейсе, только самое нужное, только хардкор.

CSSDesk

CSS-песочница с приятным и удобным интерфейсом.

jsdo.it

Кодинг-сообщество для фронт-энд разработчиков. Подходит для экспериментов с HTML5, WebGL, JavaScript и многим другим — функционал впечатляет.

Tinker

Простая JS/HTML/CSS-песочница.

Tinkerbin

Еще одна простая аналогичная песочница.

SQL Fiddle

Инструмент для работы с SQL-базами от разработчиков с Аляски.

ReFiddle

Сервис для работы с регулярными выражениями на Ruby, JavaScript и .NET.

CSSDeck

Сайт для демонстрации различных CSS-эффектов, можно посмотреть рейтинг самых популярных, там много интересного.

JS Bin

HTML/CSS/JS плюс консоль.

Thimble

Разработка от Mozilla, код и его результат отображается на одной странице в режиме реального времени.

Liveweave

Очень простой в использовании — никакого логина, шаринга, только окна с кодом и результатом.

Google Code Playground

Сервис для работы с Google API.

Compilr

Полноценная среда разработки, интерфейс реализован с использованием всеми любимого фреймворка — Twitter Bootstrap.

Знаете еще подобные сервисы? Пишите в комментарии — добавлю.

habr.com

Облачные IDE для веб-программистов / mr. Gefest corporate blog / Habr

Здравствуйте, уважаемые коллеги и друзья! Меня зовут Евгений, в начале данной статьи я расскажу Вам о 4-ех облачных IDE для веб-разработчиков, а потом о новой online среде разработки, цель которой объединить возможности самых мощных IDE (например: webstorm), простой дизайн Sublime Text и новые решения.

Часть 1. Мир online-IDE

В сфере облачных сред разработки уже существует множество игроков, большинство из них либо уже прогорели, либо имеют слишком урезанные возможности по сравнению с offline IDE. Несмотря на такую ситуацию, есть 4 продукта, которые обладают неплохим функционалом:

  • Koding
  • Cloud 9
  • ShiftEdit
  • Codeanywhere

Koding

Первое впечатление от Koding — приятное. Красивый интерфейс, мягкие тона. Возможность развернуть виртуальную машину с поддержкой php, ruby, python, node.js и perl, которую можно настроить посредством ssh терминала.

Через некоторое время я столкнулся с проблемами. Вначале я не мог скрыть панели, которые занимали пол экрана, потом убрать терминал. Не получалось и добавить свой ftp-сервер, потому что там нет такой функции, что очень удивляет!

Сам редактор исходного кода основан на Ace-editor. Работает гладко, но в нем нет всех тех возможностей, что есть в offline-IDE (например умного auto-complete).

Koding обладает множеством социальных функций. В ней можно вступать в сообщества и делиться сообщениями в общей ленте, а также участвовать в парном программировании. На данный момент продукт всё ещё находится в стадии открытой beta-версии.

Koding является условно-бесплатной и включает в себя следующие тарифы:

Вывод: интересная и красивая IDE c социальными функциями, без возможности добавления своего ftp, с механизмом развертывания виртуального сервера, удобного способа управления проектами, не совсем понятным интерфейсом и малофункциональным редактором исходного кода.Ссылка

Cloud 9

При первом запуске, Cloud9 предлагает выбрать или добавить проект. Его можно создать на основе виртуального сервера, ftp или ssh.

После этого открывается окно приветствия, на котором определяется тип отображения интерфейса (full ide, minimal editor, sublime text), цветовая тема и другие настройки. Слева расположен удобный файловый менеджер, поддерживающий drag & drob. Дизайн интерфейса выглядит стандартно, но эстетично.

Рабочую область можно разделить на несколько частей. Для исходного кода используется редактор «Ace-editor». Он разрабатывается командой Cloud9. Стоит заметить, что «Ace-editor» в их IDE, обладает меньшим числом багов, чем тот, что лежит в открытом доступе.

Cloud9 имеет такие полезные функции, как поиск по файлами, Go to Symbol/command/line, редактор изображений и историю файловых изменений. Также стоить учесть, что её исходный код находится в открытом доступе и любой желающий без коммерческой цели может его запустить на своем сервере (Ссылка).

При разработке сайтов в данной IDE, их результат можно посмотреть в отдельном блоке интерфейса. Этот «preview» обладает одной необычной возможностью, которая заключается в том, что сайт можно виртуально проверить в разных браузерах и на разных устройствах. Данная технология предоставлена компанией «Sauce labs».

В Cloud9 имеется окно настроек, в котором можно изменить комбинации клавиш, выбрать тему подцветки редактора, подобрать размер табуляций и так далее. Недавно появилась светлая тема интерфейса в плоском стиле.

При работе в ней я часто сталкивался с проблемами торможения интерфейса и зависания системы, а иногда и вовсе недоступности среды разработки, что плохо влияет на скорость создания сайтов.

Cloud9 является условно-бесплатной и имеет следующие тарифы:

Вывод: Cloud9 обладает большим набором функций, нестабильностью и зависаниями, возможностью управления проектами, создания виртуального сервера, добавления ftp доступа, тестирования сайтов в разных браузерах, на разных устройствах, просмотрщиком изображений и красивым редактором с небольшим набором функций.Ссылка

ShiftEdit

При первом знакомстве с ShiftEdit сразу бросается в глаза устаревший дизайн интерфейса, из эпохи Windows XP. Рассматриваемая среда разработки поддерживает ftp, sftp, google drive, dropbox, webdev, ssh и amazon s3. Файловый менеджер обладает не только стандартными возможностями, но и ещё механизмом drad & drop.

Редактор исходного кода использует бесплатную версию «Ace-editor» с присущими ей багами и небогатыми возможностями по сравнению с offline IDE. ShiftEdit обладает панелью навигации по коду и live режимом, который, к сожалению, мне так и не удалось нормально запустить как год назад, так и сейчас.

В данной среде разработки есть множество разных настроек: действие при открытии изображений, размер табуляций и шрифта у редактора кода, безопасность и так далее. Для просмотра изображений используется Pixir.

ShiftEdit условно-бесплатной и имеет следующие тарифы:

Вывод: данная среда разработки проста, имеет тяжелый и медленный интерфейс, поддержку ftp, sftp, google drive, dropbox, webdev, ssh и amazon s3, непонятный live-режим, неплохой файловый менеджер, а также она использует хороший, по меркам online-IDE, редактор «Ace-editor». Ссылка

Codeanywhere

Codeanywhere отличается от своих конкурентов тем, что имеет приложения под Android и iOS. К сожалению, они не очень хорошо адаптированы к мобильным платформам, как и их web-версия.

IDE является условно-бесплатной и имеет пять тарифов.

Она обладает стандартным, но стильным интерфейсом, где все на своих местах. В ней можно развернуть Development box для html5, node.js, php, ruby, c++ и python. Она поддерживает sftp, ftp, ssh, drobbox и google drive, а её редактор исходного кода работает на «CodeMirror». Как и большинство web-редакторов, она не имеет умного auto-complete, функций рефакторинга и остальных важных и удобных возможностей offline собратьев.

В системе можно выбрать кодировку, всевозможные опции редактора, определить, каким языком программирования отображать конкретный формат файла, указать тему подцветки из трех вариантов или создать собственную через интерфейс, изменить комбинации клавиш и так далее.

Вывод: данный продукт в отличии от своих конкурентов использует «CodeMirror» для редактора исходного кода, имеет функцию развертывания виртуального сервера, поддерживает sftp, ftp, ssh, drobbox и google drive, обладает drag & drop файловым менеджером и эстетичным интерфейсом. Ссылка

Заключение первой части: рынок online-IDE развивается медленно, её продукты стараются использовать все больше преимуществ online перед offline, забывая о важных возможностях desktop IDE, таких как: умный auto-complete и рефакторинг кода. Три из четырех продуктов обладают темным дизайном, поэтому можно предположить, что это тренд в дизайне online-IDE. Большинство из рассмотренных сред разработки поддерживают возможность создания виртуального сервера, drag & drop файлового менеджера, имеют условно-бесплатную бизнес-модель и используют редактор «Ace-editor». Практически все online-IDE не адаптированы под мобильные платформы, хотя это должно быть одним из их преимуществ. Среди существующих игроков больше всего выделяется Cloud9, с его неплохим редактором кода и функцией тестирования сайтов на любом устройстве.

В следующих статьях планирую рассмотреть по конкретным метрикам и критериям облачные среды разработки и desktop IDE, которые основаны на web технологиях.

Часть 2. Другая online-IDE.

Меня зовут Евгений, я веб-программист (5 лет) и проектировщик интерфейсов (7 лет). В 15 лет увлекся темой сред разработки, языков программирования и методов трансляции. В 17 лет создал полноценную IDE с интерпретатором под язык Object Pascal, а в дальнейшем провел множество экспериментов с компиляторами, языками программирования и java byte code.

Все началось с желания ускорить процесс своей работы, поэтому в течение двух лет я изучал новые технологии, придумывал способы упрощения кодинга, экспериментировал с интерфейсом и только потом стал писать исходный код online-IDE.

Решение сделать среду разработки в браузере было принято по пяти причинам:

  1. Хорошее знание веб-технологий.
  2. Простота реализации необычного интерфейса.
  3. Возможность открыть IDE на любом устройстве и в любом браузере без установки.
  4. Доступность эффективных инструментов на любой мобильной платформе (например firebug не только на ПК, но и на планшете).
  5. Механизм межсерверных вычислений, позволяющий реализовать множество интересных идей.

Каждый день в свободное от работы время я занимался его разработкой и при достижении версии 0.2 alpha я стал делать в нем сайты. Так я смог найти множество багов и проверить на практике необычный интерфейс. Какие-то решения убрал, какие-то добавил, но со временем стало уже понятно, что проект стал выходить за рамки «just for fun», про него стали спрашивать программисты, и я решил обратиться к IT-сообществу с вопросами, для чтобы продукт стал удовлетворять не только мои потребности, но и других веб-разработчиков.

Перед тем, как их задать, я хочу рассказать об его цели и текущих результатах его разработки.

Цель: создать облачную IDE для веб-программистов, которая бы упрощала и ускоряла их работу, за счет объединения возможностей самых мощных IDE (например: webstorm), простого дизайна Sublime Text и новых решений (слово «инновации» уже раздражает).

Планируемые возможности:

  • Умный auto-complete.
  • Функции рефакторинга.
  • Live-режим (даже с php файлами).
  • DOM-инспектор с консолью, который можно использовать в любом браузере, в том числе и на мобильных устройствах.
  • Файловый контроль версий.
  • Поддержка sftp, dropbox, github и google drive.
  • Расширенный файловый менеджер.
  • Возможность работы с локальными файлами.
  • Специальный интерфейс под мобильные устройства.
  • API для разработки плагинов.
  • Поддержка многофайловых snippet’ов (например, Вы решили вставить слайдер на главную страницу сайта, и с использованием многофайлового snippet’а можно добавить не только код-заглушку, но и загрузить на сайт в автоматическом режиме файлы слайдера и вставить ссылки на них в соответствующие места исходника).
  • Репозиторий плагинов и snippet’ов.
  • Современные технологии упрощенного программирования (emmet, easy motion и т.д.).
  • Удобное управление проектами.
  • Работа с psd файлами.
  • Парное программирование.
  • Разворачивание сервера для тестирования своего кода.
  • Поддержка популярных языков программирования и веб-технологий.
  • Функции генерации кода.
  • Простой, стильный и необычный интерфейс, упрощающий работу.
  • Несколько полезных социальных функций, таких как объединение в группы.
  • Простой графический редактор и просмотрщик изображений.
  • Реализация интересных технологий, основанных на межсерверных вычислениях (например: анализ исходного кода на лету).

Сейчас уже готова архитектура, основные функции работы с ftp и исходным кодом, а также простой и удобный механизм управления проектами. В системе реализовано множество необычных интерфейсных решений, которые немного упрощают работу. В проектах запоминаются открытые файлы, ссылки в live-режиме, открытые ftp-сервера и все раскрытые в них папки. За основу редактора исходного кода взят Ace-editor, на данный момент я его дорабатываю, чтобы достичь функций умного auto-complete’a. В mr. Gefest имеется начальная версия live-режима.

Более подробно о среде разработки и необычных интерфейсных решениях я расскажу в следующих статьях, потому что на данный момент мне надо определить,какой минимальный функционал необходим Вам, как разработчикам сайтов, чтобы Вы смогли им эффективно пользоваться.

Для 1.0 alpha версии я планирую доработать интерфейс и реализовать следующие функции:

  • Умный auto-complete для js, html, css, php.
  • Стандартный и удобный файловый менеджер с контролем версий и с поддержкой sftp, github.
  • Функцию быстрого перехода по ключевым элементам исходного кода (тэги, функции, классы, переменные и т.д., как в Subime Text).
  • Полную поддержку Live-режима.
  • Расширенный двухколонный файловый менеджер (в стиле total commander).

Поэтому, пожалуйста, напишите список функций online-IDE, которые для Вас важны. Вначале самые значимые. Например:

  1. Умный auto-complete для js, html, css, php.
  2. Стандартный и удобный файловый менеджер с контролем версий и с поддержкой sftp, github.
  3. и т.д.

Я надеюсь, что Вы отнесетесь к этому вопросу серьезно, потому что Ваши ответы важны для меня и дальнейшего развития этого проекта.

P.S.: тех, кто хотел бы помочь в разработке или в дизайне online-IDE, прошу написать мне личное сообщение, я надеюсь, что Вы найдетесь, ведь вместе мы сможем сделать всё гораздо быстрее.
P.S. 2: если Вы хотите первыми воспользоваться закрытой 1.0 alpha версией online-IDE, то напишите мне свою почту в комментариях или в формате личного сообщения.
P.S. 3: со своей стороны, я хочу поблагодарить ХабрХабр за предоставление бесплатного корпоративного блога по тарифу «Стартап», спасибо Вам большое!
P.S. 4: тех, кто читает статью 30-31 числа, «С наступающим», а тех, кто >= 1 января — «С новым 2015 годом»!

habr.com

Онлайн IDE — дань облачной моде или неизбежность среды разработки? / Habr

Поговорим о клауд-мании. Похоже, что скоро, поднявшись с кровати утром и направившись туда, куда вы обычно направляетесь утром, обнаружите, что все удобства теперь в облаке. Оффлайн вещи нынче не в моде. А если серьезно, то последние несколько лет стали довольно продуктивными для облачной индустрии, Амазона и иже с ними. И если большинство вменяемых пользователей благополучно забыли о вордовских документах в сообщениях электронной почты, давно и навсегда перейдя на Google Docs, то ситуация с разработкой в облаке не выглядит такой уж однозначной.

Нет, конечно же, всем понятно и очевидно, что рано или поздно облачные IDE окружат нас и возьмут в плен. Но, что интересно – далеко не все программисты и прочие представители кодерской братии положительно отзываются о IDE в браузере. И дело тут не в фишках, возможностях и удобстве работы, а, скорее, в определенных внутренних страхах и неготовности забросить оффлайн среду разработки. Собственно, к чему это я?

Не так давно, болтая на отвлеченные темы с братом-программистом, совершенно неожиданно для себя услышал такую фразу «ИДЕ в браузере пока что не вписывается в мое мировоззрение». И знаете, если бы услышал такое заявление от вечного джуниора-падавана, то вряд ли бы удивился. Но, услышал я это от программиста с 15-летним опытом разработки под всевозможные платформы и на всевозможных языках, включая многими забытый Ассемблер. И туговатостью взглядов ближайший родственник, вроде бы, также не отличается, ибо в ИТ закрытость для всего нового смерти подобна. Заинтересовавшись причинами чуть ли не агрессии по отношению к онлайн IDE, задал ему пару вопросов, которые впоследствии обсудил с ещё парой-тройкой опытных программистов. Ниже представлена компиляция весьма любопытных ответов.

Ты не скрываешь свой скепсис по отношению к «клауд» средам разработки. В чем причина?

Программист – существо ленивое, и если что-то работает хорошо, то зачем его улучшать и «чинить»? Существует проверенный временем механизм. Какие причины должны заставить меня переходить на cloud IDE, тратить время на освоение новой среды и рисковать сроками сдачи проектов?

То есть, позиция из разряда «я не знаю, хорошо это или плохо, но я все равно не хочу попробовать»?

В каком-то смысле, да! Знаешь, программисты редко когда хотят выглядеть глупыми, а именно так многие из них и выглядят, впервые попадая в новую online IDE.

Да, уж, похоже, что ты действительно скептически настроен!

Хм, ну посуди сам. Кому нужна эта Интернет зависимость? Да, конечно, сейчас покрытие есть почти везде. Но, что если я хочу «покодить» в пути? Мобильный Интернет не предлагать! Ну, пусть даже и есть стабильный Интернет, то часто сервера IDE находятся в США, а мы то в Европе… и от latency, ну, никуда не денешься. Плюс ко всему онлайн ИДЕ часто написаны на джаве, а она неслабо грузит мой бук. Система становится менее отзывчивой. Понимаешь, о чем я?

Более чем! Выходит, что нет никаких условий, при которых бы ты задумался об использовании «IDE в браузере». Те же Cloud9 и Exo IDE предлагают вполне неплохой набор инструментария и возможностей. Может, рискнешь?

Риски тут не причем. Я хочу, чтобы все работало идеально, и компромиссы меня не устраивают. Покажи мне онлайн IDE, в которой я могу с легкостью переключаться с PHP, CSS и Java Script на Android and iOS разработку, и я буду в первых рядах фанатов IDE в облаке. А пока что такие среды мне очень напоминают Google Docs, где нужно ждать пару секунд после практически каждой операции.

Я устал от критики! Давай искать положительные стороны. Неужели, ты не видишь таковых?

Ну, ты не подумай, что я «старый хрыч», не желающий открывать для себя ничего нового. Преимущества есть. Я, например, использую в работе 4 машины. Офис, дом, лэптопы в дороге. Синхронизация и прочие «прелести» присутствуют. А когда «летит» машина на Ubuntu, то день, мягко говоря, идет под откос. Поэтому, конечно, возможность работать с проектами с любой машины и на любой «оси» — штука заманчивая. Как бы тебе корректней сказать…Я не то, что против онлайн ИДЕ, а, скорее, не вижу за ними реальной перспективы завтрашнего дня. То есть, рано или поздно, я думаю, вся наша программерская братия будет кодить в облаке.

Совсем другое дело! То есть, шансы есть?

А то! Cloud IDE – отличные варианты для разработки веб-приложений. Но, увы, пока что веб-приложения не могут удовлетворить весь спрос на рынке. Мы продолжаем писать приложения под конкретные платформы, а лучше всего – девайсы. Но, как я уже сказал, рано или поздно разработка веб-приложений, совместимых со всеми платформами, станет реальностью. Уже все к этому идет. Вот это и будут золотые времена online IDE.

**************

Этот разговор напомнил мне попытки тестя прокатиться на авто с коробкой автомат. «Не оно», — сразу сказал тесть. «Почему? Беспокоитесь об экономии бензина или не любите, когда нет контроля над двигателем?» — спросил я. «Не-а! Я привык дергать ручку».

Есть ли у online IDE будущее? Моё мнение – однозначно, есть! Почему online IDE — это удобно? Возможно эти два видео частично ответят на довольно непростой вопрос. С Новым Годом, ИТ-сообщество! Позволяйте новшествам нарушать покой вашей жизни, хабралюди!

habr.com