Comments 98
Хотя лично я не понимаю, как можно пользоваться IDE в браузере. Все, которые я пробовал, не отличались особой отзывчиаостью интерфейса. Меня очень раздражает, когда интерфейс не успевает раагировать на мои действия.
Например, я сейчас использую PhpStorm. Когда я ставлю открывающую фигурную скобку, IDE сама подставляет закрывающаю. Остается только нажать enter, что бу переместиться на новую строку и продолжить писать тело метода. Но иногда она не успевает поставить закрывающую скобку до того, как я перенесу строку. Приходится возвращать курсор назад и заного ставить перенос строки. Мелочь, а неприятно.
Когда мне пришлось покодить в вот такой онлайновой IDE, я быль взбешен. Таких косяков было очень много и они сильно раздражали. К сожалению, искать альтренативы времени не было. Пришлось есть кактус.
Хотя, дело было давно. Может эти проблемы решили, или я натыкался на некачественные продукты.
Если вы сможете сделать IDE с таким же отзывчивым интерфейсом, как моя привычная, я не раздумывая перейду на ваш продукт.
На мой взгляд, отзывчивость — основная причина по которой люди сидят на Np++ и Sublime.
Хотя лично я не понимаю, как можно пользоваться IDE в браузере.
Вы знаете, вполне так можно, особенно если работаешь в рамках какой-нибудь хорошо знакомой CMS или типа того. Меня вот, к примеру, к переходу к работе в браузере толкнуло то, что я часто занимаюсь доработками на чужих сайтах, и порой на развертывание рабочего пространства уходит больше времени, чем непосредственно на саму работу (ну кому-то помочь с чем-то или еще что мелкое). Вот раньше у клиента пока FTP получишь (часто пока объяснишь ему что это такое и где найти), потом в IDE на компе у себя доступы пропишешь. А вот сейчас я просто у клиента получаю доступ в админку (MODX Revolution), ставлю туда свой пакетик и все, работаю в самой админке. Экономится куча времени. Чессказать, уже года полтора не юзал ни одной десктопной IDE (до этого сидел на eclipse и phpStorm).
Если вы реализуете свой проект, я с удовольствием его попробую, я также готов помочь вам в бета тестировании, и думаю, такое желание есть не только у меня. Если же он приживется в моей рабочей среде и ускорит процесс разработки, то отдать за него деньги будет не жалко, главное, чтобы инструмент был хороший.
Но остался осадок красивого и быстрого IDE. В итоге на досуге пишу сейчас свой редактор на Adobe AIR (AS3). И будет он оффлайн, и будет он с теми фичами которые мне нужны, и будет он быстрым.
ИМХО онлайн редакторы нужны только для случаев, когда надо что то быстро подправить, а нормальных инструментов под рукой нет.
ИМХО онлайн редакторы нужны только для случаев, когда надо что то быстро подправить, а нормальных инструментов под рукой нет.
С этим не соглашусь, облачные IDE могут использоваться и для ежедневной продуктивной работы, все зависит от того, как ты это реализуешь. Да и онлайн версию можно всегда упаковать в offline, сейчас технологии это позволяют, но пока такое не планируется.
Желаю Вам удачи с разработкой!
Замечание для тех, кто еще не использовал EAP'ы: EAP — это early access preview, полностью бесплатная, полнофункциональная, со сроком жизни 30 дней. Потом ее надо заменить на следующий EAP, купить релиз или смириться с ее превращением в тыкву (это — законные способы эксплуатации, нелегальные мы тут перечислять не будем). EAP — это еще «нестабильная» версия, и это означает, что некоторые функции в ней могут работать неидеально, хотя в целом она достаточно близка к релизу по функциональности и качеству.
Думаю из этого понятны отрицательные стороны такой версии.
WebStorm — хорошая offline среда разработки, но она ориентирована на frondend.(если нужен и backend, то нужно купить другой продукт, phpstorm например). Как Вы видели из текста статьи, я указал эту среду в пример качества реализации редактора исходного кода. Но она требует много оперативной памяти, обязательной установки Sun JDK или J2EE SDK, при длительной работе без перезагрузки начинает тормозить, нужна предварительная настройка, относительно высокая цена, ориентирована только на конкретный язык и что бы дополнить его возможностями phpstorm — надо докупать продукт сверху, перегруженный интерфейс, мало инновационных решений и так далее.
С помощью online-IDE, можно все вычисления распределить между серверами системы, что позволить запустит её даже на микро компьютерах и выполнять анализ кода и другие вещи гораздо быстрее. Облачные IDE позволят писать сайты в LIVE — режиме не только на ПК и в Google Chrome, но и на мобильных устройствах в любых браузерах. Firebug для планшета. Живое программирование даже на php/ruby/python. Социальные взаимодействия, такие как парное программирование. Быстрое разворачивание сервера с конкретным окружением. Можно работать в пробке на планшете. Удобный интерфейс с введенными в неё новыми идеями. Работа со всеми функциями из коробки с минимальной настройкой. И ещё множество преимуществ…
По исследованиям 2013 года было замечено, что популярность offline-IDE падает, а популярность online возрастает.
Также мне конечно не хотелось бы разводить гегемонию, каждому свое. Если Вам удобно будет работать в WebStorm EAP, чем в online-IDE, то этот вариант для Вас будет лучшим.
Умный автокомплит будет очень накладно вам сделать online, к тому же это только половина дела, для по настоящему умного нужно делать статический анализ, а тут браузер уж скорее повешается чем Java приложение. Интерфейс ни разу не перегруженный, много горячих клавиш можно спрятать всё кроме заголовка окна и вкладок — куда уж проще.
Java это да, неудобно, но раз разрабочики на ней написали — это не самое большое зло, объективно.
С помощью online-IDE, можно все вычисления распределить между серверами системы, что позволить запустит её даже на микро компьютерах и выполнять анализ кода и другие вещи гораздо быстрее.
В теории да, на практике вообще не понятно для чего разносить, если будет столько вычислений что нужно будет разносить для каждого пользователя — ваши сервера поумирают от нагрузки. Да и вообще серьезность работы на микрокомпьютере весьма сомнительна. Я считаю, разработчик может себе позволить иметь нормальную машинку с Core i5 и 8 ГБ памяти, чтобы при необходимости запустить 3 браузера, IDE, виртуальную машину, веб-сервер, ещё пару приложений и не получить сообщение о нехватке памяти.
На мобильном писать — идиотизм редчайший, ну серьезно. Я ещё понимаю по ssh зайти в критической ситуации перезапустить сервис, но программировать О_о? Live писать можно в PhpStorm/WebStorm, с помощью Firefox Dev Tools можете дебажить из Firefox всё: Chrome на Android, Firefox, браузер на iOS, при этом получаете нормальные инструменты, с мышкой и Firebug 3, который расширяет встроенные средства разработки Firefox. Разворачивание сервера — напишите лучше плагин для PhpStorm, чтобы поднимал Docker контейнеры с нужным окружением (простые PHP скрипты можно и так из коробки запускать, есть встроенный веб-сервер). PhpStorm тоже без настройки можно использовать, почему нет? Другое дело что потом хочется некоторые вещи сделать удобнее, но никто не заставляет, работает из коробки отлично.
Статистика она такая статистика. На сколько падает? 0.1%? Вполне может быть, но погоды это не меняет.
На самом деле если бы вы сделали online IDE которая имела бы статический анализ, автодополнение команд, работала с Git, умела работать offline и при этом её можно было бы пользоваться (субъективный критерий — тормоза, глюки) — я бы пользовался, но вероятность этого слишком мизерная. О разработке на мобильных устройствах рекомендую забыть, это редчайший идиотизм, если нет рабочего инструмента (хороший ноутбук/декстоп) — отдохните лучше, послушайте музыку.
По поводу интерфейса, его надо настраивать, В нем не хватает новшеств, упрощающих работу (о них я расскажу в сл. статьях).
Все описанные функции реализуемы. Да, это сложно, нужно провести много работ, но нельзя же из-за этого стоять на месте.
Описанный live-режим хоть и неплохой, но ограничен реализуемыми технологиями в конкретных браузерах. В online-IDE эти ограничения снимаются.
А потребность в использовании мобильных устройств и микрокомпьютеров есть и не маленькая, я лично общался по этому поводу с людьми.
Насчет статистики, я постараюсь её показать в будущих статьях либо на данном ресурсе, либо на другом.
И Спасибо Вам за развернутую точку зрения и описания тех технологий, которыми Вы пользуетесь в данных средах разработки.
Вот да, не совсем понятно о каких новшествах вы говорите, мне кроме места для ввода текста и нескольких панелей (файлы, VCS, поиск, TODO, вкладки, терминал изредка) вообще ничего не нужно. По-моему тут весьма кстати практически отсутствие интерфейса.
Они реализуемые, чисто технически, но огромный вопрос в том, можно ли будет этим вообще пользоваться.
Всегда пожалуйста. Я бы правда использовал если бы оно было, но настроен весьма скептически.
Код будет открыт?
И ещё, почти все хорошие offline IDE написанный на Java и они тормознуты.
Цена 4-10 часов работы (в зависимости от зарплаты) раз в год — я считаю не так уж и много (да, иногда без предупреждения они ещё скидки делают), это же ваш рабочий инструмент, как картошку сажать без лопаты.
Можете попробовать отключить статический анализ кода (правый нижний угол иконка, выбрать Syntax), возможно у вас просто процессор не тянет, и Java уже тут не играет большой роли, JS точно быстрее не будет.
Я пробовал. MS Win, MS VS + MS SQL (не продакшен, базы бюез нагрузки и почти пустые на обычном HDD) загружаются в 2-3 экземплярах (8RAM) и вполне шустро работают на моих личных небольших проектах.
Насчет работы с большим проектом, к сожалению ничего сказать не могу, но после SSD для меня даже самый шустрый HDD — совсем печален по скорсти работы и, что самое главное — по отзывчивости системы
На каком нить 10" планшете вполне можно. Тот же JS. которому кроме легкого блокнота и броузера больше ничего не надо, вполне хватает.
Хотя на чем писать (устройство, не ЯП) — личное предпочтение каждого.
А ещё для более менее серьезной разработки легкого блокнота совершенно недостаточно.
Если этот планшет легким движением превращается в полноценный ноутбук (bt/usb клавиатура+мышь, а то и внешний экран) и его производительности вполне хватает для выполнения задач разработки — это хорошо.
А если для работу нужен такой монстр, как MS VS, то да, 10" — хватит только для отображения дополнительных панелей, для кода места уже не будет.
Блкноты бывают разные — Comodo, Notepad++, и для какого нить bash, perl или питона их вполне достаточно. Вот в C#/Java блокнота уже да, действительно не хватает.
На смартфоне тоже можно, если это слайдер с клавиатурой, и мощность процессора и RAM позволяют делать это без тормозов. И ниже верно заметили, что для веб-программирования часто достаточно блокнота с автокомплитом и файлового менеджера :)
Если же ещё имеется история версий, диффы и прочие плюшки — то вообще уже просто супер. А монстры типа Visual Studio для скриптовых языков, имхо — явный оверкилл.
Ну я бы не согласился с этим. Есть смартфоны с Qwerty клавиатурой (у самого такой), к планшетам вообще можно подключить внешнюю клавиатуру (да и на самом планшете можно набирать, в принципе, если диагональ экрана позволяет). По производительности — не обязательно иметь мощный компьютер. Я всю жизнь писал код в ISP Manager (то есть по сути тоже в сильно урезанной онлайн IDE). Так что я был бы не против попробовать более функциональное и мощное решение.
Забыл написать про то как я вижу продукт:
1. Маленький вес приложения.
2. Быстрая работа самого редактора — сделал действие — все должно моментально обновиться.
3. Если же нужно больше времени на какую то фичу, процесс выполняется параллельно — не должно ничего тормозить, зависать.
4. Полностью настраиваемая подсветка синтаксиса.
5. Редактор должен уверенно работать с огромными файлами — несколько тысяч строк.
6. Настраиваемый скин редактора — что бы можно было настроить цвета под себя.
7. Панель проектов не должна содержать проекты, а просто указывать на заданные директории.
8. Должна быть панель со структурой кода, которую тоже можно настроить под свои нужны, например отображать структуру или только список функций. Как ни странно с этим плохо у многих легких редакторов.
9. Должна быть панель ошибок в коде.
10. Быстрый поиск — выделил текст, нажал F3 и скачешь по совпадениям в текущем файле. Без дополнительной волокиты с панелью поиска.
11. Умный автокомплит, не просто по словам, т.е. должен быть анализ «окружения», функций, локальных переменных, классов.
12. Генерация кода, в различных местах жмешь одну комбинацию клавиш и предлагаются варианты для генерации.
13. Сниппеты(заготовки). По крайней мере все циклы, условия. Нажал комбинацию клавиш — выбор выражения которое надо создать.
14. Рефакторинг. Например, переименовать переменную или функцию.
15. Форматирование кода. Нажал комбинацию и код в удобном читабельном виде.
16. Сжатие js кода. По возможности, что бы было прямо в редакторе без плагинов и прочего.
Остальное все стандартное.
Всё. EAP версии бесплатны — давайте обратную связь разработчикам, они вам дадут попробовать следующую версию с новыми фичами ещё до выхода.
Тормознутость… эээ… вы понимаете сколько всего делает WebStorm? У вас видимо слабый компьютер, но в этом случае 2, 3 и 11 просто невозможны на вашем компьютере, всё это требует ресурсов.
На счёт фич — не пользуйтесь кучей фич, спрячьте панели, отключите ненужные плагины, ресурсы они потреблять не будут, места занимать тоже.
По поводу 9 панель ошибок достаточно удобна в плане осознания сколько их, и видно текстовое описание ошибки. Конечно можно сделать выделение места ошибки прямо в коде. А панель естественно можно будет скрыть.
Тормознутость. Да начав делать свой редактор, теперь я понимаю сколько всего должен делать редактор. Есть отличный пример работающий на моем ноуте — FlashDevelop, не смотря на то что написан он на .NET он очень шустрый и ближе к тому, что я хочу для js.
Вообщем я решил сделать эксперимент — сделать свой редактор, и если он будет тормоз как и эти гиганты то я буду скромно помалкивать. Иначе выложу в опенсорс. Стараюсь не использовать сторонние библиотеки — только самые проверенные. Почти все алгоритмы пишутся с нуля, в целях изучения проблем и понятия как их можно оптимизировать.
По поводу тормознутости — всё зависит от того, сколько всего умеет IDE. Выключить статический анализ — будет летать, но и функциональность существенно понизится, будет продвинутый текстовый редактор.
Меня зовут Евгений, я веб-программист (5 лет) и проектировщик интерфейсов (7 лет).
И это (по всей статье):
Умный autocomplit
А так дело полезное, у меня например ChromeBook с ChromeOS, и мне его хватает, не хватает только полноценной онлайн IDE (правда для java)
П.С. после статьи потехоньку уже набирается команда.
Есть там соответствующие клиенты например для PHP Xdebug или других отладчиков для других языков?
Т.к. без этой возможности таким online IDE будет трудно тягаться с т.н. «локальными» IDE.
Ситуация когда приходится расчитывать только на мобильный или халявный отельный интернет(а это тот еще мрак и ужас) не так редка.
Мне по прежнему непонятно что я получу взамен внесения еще одного слабого элемента в свою рабочий процесс.
Даже для formatting — нужен парсинг, что бы понять как раставлять блоки кода.
Rename — требует resolving, что бы правильно переименовывать нужные method calls.
P.S. Не отговариваю, но надеюсь у вас получится быстрее.
— вы пытаетесь охватить всё и сразу (напр. работа с psd файлами. Зачем? В каком виде? Реализация функционала ps? Просто сохранение? Оба варианта спорны).
— чувство велосипеда
Возможно, по этой ссылке сможете найти много полезных примеров. В частности, в блоке с готовыми решениями.
Я буквально 2 месяца назад вникал подобный вопрос — было желание написать свое решение для парного редактирования кода.
В итоге, как и вы, я пришел к Ace на клиентской части (к слову, документация у него — свой маленький ад).
При верстке бывает необходимо пару минимальных функций фотошопа, на собственном опыте испытал.
Глюков, багов, зависаний — не видел ни разу.
Всё работает со скоростью молнии.
Один раз отключали дома проводной интернет, сидел весь день на интернете с телефона — разницы ваще не почувствовал.
Автокомплита конечно не хватает, но к этому быстро привыкаешь.
Плюсы для меня в том, что у меня есть два ноутбука, и один стационарный комп, и я могу сесть за любой и начать кодить с того места, на котором остановился в прошлый раз.
Купил себе виртуалку на 4 ядра 4 гига за 800 рублей в месяц, на ней собственно все мои проекты и живут, домен второго уровня, подключил всё это дело как ssh проект на c9. И всё устраивает.
Автору — проект такого уровня требует мощной команды и кучу денег. angel.co/cloud9-ide
К примеру, я — потенциальный покупатель. Можете ли вы сказать, чем ваш вариант лучше существующих готовых решений? Почему я должен выбрать именно этот продукт, а не иной? Есть ли какая-либо вау-фича, которая побудит пользователя другого продукта отказаться в пользу вашего?
Выше писали про отзывчивость интерфейса, например.
Если продукт отточен для работы в основных сценариях, это само по себе может стать той самой «вау-фичей». Конкуренты тормозят и работать с ними некомфортно, а у вас все шустро и оперативно.
А вот и нет. Для включения фтп надо просто поставить фтп сервер — ssh есть, рут доступ тоже и свой софт вполне можно ставить без каких-либо проблем. Причина того, что его нет из коробки — он не всем нужен. А если поискать, там вроде даже было свое приложение для установки фтп.
Вот так: learn.koding.com/guides/setting-up-ftp-on-koding/
apt-get install mc
Не?
Я открыл среду разработки, добавил сразу ftp и работаю с файлами сайта, без каких либо дополнительных манипуляций. Программа (IDE в нашем случаи) не только для обычных пользователей должно быть удобной и простой, но и для программистов.
Что если пойти немного в другом направлении и сделать что-то типа менеджера проектов для разработчиков?
Встроенный редактор кода оставить только для мелких правок и сконцентрироваться в первую очередь на организации работы с несколькими проектами, различными их версиями, серверами, документацией, контроле версий, такс-менеджере, совместном доступе, а процесс написания кода оставить другим средам и синхронизироваться с помощью плагина.
Если что-то подобное уже есть буду благодарен за ссылку.
Кроме того, на скриншотах интерфейс на русском — планируется ли локализация на других языках?
Автору — удачи, я думаю лучше сфокусироваться на производительности, у хорошего продукта есть все шансы продвинуться на рынок при правильном позиционировании.
Сам уже какое-то время пишу файловый менеджер, в котором раньше использовался CodeMirror,
а сейчас — Ace, для редактирования кода.
К облачным IDE отношусь положительно, слежу за Koding, Cloud9 и ShiftEdit уже несколько лет.
Использую Cloud Commander для всех разработок.
Хотелось бы узнать под какой лицензией будет выходить mr. Gefest?
Будет ли какая-нибудь его часть выложена в Open Source?
По-поводу auto-complete, в Ace есть его базовая версия, для JavaScript, например. Включается по Ctrl + Space.
Так же, для подобных вещей, а так же для переименования и прочего могут быть использованы парсеры Esprima или Acorn.
Cloud Commander — тоже иногда пользовался, что-то вроде него я подразумевал под функцией «расширенный файловый менеджер».
О Open Source я задумывался, вероятность того, что какая-то часть проекта будет выложена — есть.
Ace я взял за основу редактора и сейчас его переделываю, там к сожалению Auto-complete плохой и есть несколько серьезных багов.
По поводу лицензии ещё точно не решил, об этом сообщу ближе к конце beta-версии.
Если вы присылали свою почту через сайту, то значит я Вас добавил, если нет, то пришлите через него или через личное сообщение.
За Esprima и Acorn спасибо!
Если хотите поучаствовать в проекте, то пожалуйста, напишите личное сообщение!
И что творится с словосочетанием drag & drop в статье?
Что еще удобно в такой виртуальной машине, и что не было упомянуто в статье — это возможность дать URL своей виртуальной машины другому человеку, чтобы он посмотрел на твою работу. То есть, по сути, можно быстро показать кому-то свои наработки с помощью этого сервиса, без загрузки оных на какой-то реальный рабочий сервер.
без проблем продолжать разрабатывать какой-нибудь проект на ноутбуке своего брата, не устанавливая на его комп кучу софта и ничего не настраивая. Просто открываю браузер, загружаю с гита последнюю версию проекта и продолжаю над ним работу
Все верно, это его преимущество. Только версия под последнюю iOS у меня сильно глючила, c web-версией дела обстоят лучше. В ней, как и в других есть самый популярный недостаток — неумный autocomplete.
А вот как удобно разрабатывать что-либо на планшете — это для меня вообще непонятно)
Облачные IDE для веб-программистов