Содержание статьи

Не для каждой задачи и не каждого проекта требуется полноценная IDE, поэтому для многих основным инструментом по-прежнему остается любимый текстовый редактор. И кажется, что выбор прост: мощный, расширяемый, но простой Sublime Text, живая классика в лице emacs и vim, а также моноплатформенные фавориты — Notepad++ для Windows, TextMate для OS X и Geany для Linux. Но ведь новые редакторы появляются чуть ли не каждый день — есть ли тебе смысл менять привычки? Давай посмотрим, что происходит.

 

Atom

atom.io

Еще в августе 2011 года один из основателей GitHub Крис «defunkt» Уонстрат поставил перед собой амбициозную цель: создать редактор, который был бы по-настоящему открытым и предлагал неограниченные возможности для хакинга, но при этом не превращался бы во второй Vim или Emacs (который, как известно, умеет почти все, но только если у тебя мозги как у Джеффа Дина). И вот спустя три года и более чем пятнадцать тысяч коммитов началось публичное бета-тестирование. В марте этого года Atom стал доступен для загрузки всем желающим. Чем же собирается перевернуть наш подход к кодингу знаменитая компания?

Первое, что бросается в глаза при запуске нового детища GitHub, — это невероятно похожий на Sublime Text интерфейс. Само по себе это не минус. Известный факт, что интерфейс Sublime был вдохновлен другим, некогда не менее популярным редактором кода для OS X TextMate. Нынешняя история с Atom и Sublime лишь подчеркивает удачные решения GUI последнего.

Вторая особенность Atom заключается в том, что это, по сути, веб-приложение в обертке Chromium. Нет, конечно, у редактора есть своя иконка в доке, нормальные системные меню и поддержка нативных хоткеев. Просто ядро Atom написано по большей части на CoffeeScript, работает оно на Node.js, а сам интерфейс редактора является HTML-страницей со вполне обычной разметкой. Убедиться в этом можно, если выбрать из меню View пункт Developer -> Toogle developer tools.

Из коробки Atom сильно напоминает Sublime
Из коробки Atom сильно напоминает Sublime

Третья интересная фишка Atom — его модульность. В лучших традициях экосистемы Node.js он написан с использованием максимального количества открытых модулей (больше пятидесяти). Это значит, что если тебе не нравится какой-то штатный функционал, то, по уверениям разработчиков, ты без труда сможешь подобрать ему замену из более чем 70 тысяч пакетов в npm registry или написать свой плагин. Учитывая, что JavaScript фактически уже давно стал самым популярным языком на GitHub, и у CoffeeScript лишь немного отстает от Perl, это вселяет уверенность в будущее Atom.

Пакетов еще мало, но написать свой действительно просто
Пакетов еще мало, но написать свой действительно просто

А что же с киллер-фичами? Вот тут все не так радужно. То ли дело в молодости проекта, то ли еще в чем-то, но Atom, кроме громкого имени создателей и больших надежд, из коробки не предоставляет ничего, что бы могло заставить часами играться с ним. То, что преподносится разработчиками как преимущества (например, автокомплит, вкладки, коллапс кода, снипеты), может вызвать лишь снисходительную улыбку на лицах адептов Sublime. Да, конечно, Atom уже имеет свой пакетный менеджер, но я не нашел в его репозиториях ничего такого, что было бы нельзя реализовать с помощью плагинов для Sublime.

 

Light Table

lighttable.com

Разработка Light Table началась в 2011 году, когда американский программист Крис Грейнджер решил, что процесс работы с кодом в современных текстовых редакторах недостаточно хорошо вписывается в современный workflow. Если кратко, задача Light Table — сделать процесс разработки по-настоящему интерактивным и наглядным, давая разработчику моментальный фидбек на любое действие, тем самым помогая быстрее ориентироваться в большом коде. Именно с такой идеей Крис подался на Kickstarter и достаточно быстро собрал на разработку проекта 316 720 долларов при заявленной цели в 200 тысяч. Чем же конкретно идеи Криса так приглянулись бейкерам?

Одной из самых крутых особенностей Light Table является возможность работать с документацией по ходу написания кода. Чтобы увидеть описание функции, достаточно просто навести на нее курсор. Редактор моментально найдет и выведет документацию по запрошенной функции или параметру (в случае с build-in методами) или покажет prepend-описание функции, оставленное прямо в коде. Чем-то это напоминает автокомплит, который используется в среде разработки Visual Studio от Microsoft, но значительно более глубокий и мощный.

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

Выбираем интерпретатор, и исполняем inline-код с его помощью
Выбираем интерпретатор, и исполняем inline-код с его помощью

Третья фишка Light Table — уникальная возможность организации кода в так называемые таблицы. Они представляют собой логически завершенные блоки кода, через которые можно наглядно представить взаимодействие отдельных функций программы. С помощью этой фичи очень удобно разделить файл на несколько независимых блоков-функций и работать с ними, соорудив некое подобие настоящего дашборда из кода. Также приятной особенностью является интеллектуальная подсветка блоков — в этом случае шансы запутаться в и без того наглядном workflow стремятся к нулю.

Код может быть представлен в виде таблиц
Код может быть представлен в виде таблиц

Несмотря на довольно непривычную философию, Light Table — это, несомненно, редактор нового поколения. Его фишка не в том, что он написан на модных технологиях, а в изменении самого подхода к процессу разработки сложного ПО. Наверное, при работе с простенькими JS-скриптами реальная мощь Light Table не почувствуется, но для проектов чуть посложнее он станет незаменимым инструментом. Нужно только привыкнуть. Но вот это как раз-таки будет непросто.

 

Lime

limetext.org

Весь Lime можно описать одной-единственной, но известной фразой Бобука — блеск и нищета опенсорса. Проект, начатый в прошлом году Фредриком «quarnster» Энбомом (Fredrik Ehnbom), решает одну-единственную, но понятную задачу: создать опенсорный конструктор по образу и подобию Sublime Text. Причина такого желания понятна — автор, горячий поклонник Sublime, был недоволен вялым развитием проекта и отсутствием банального исправления багов прошлых версий. Идея оказалась близка нескольким десятками единомышленников, и вскоре свет увидела первая версия Lime.

Первое, что отталкивает при знакомстве с этим редактором, — отсутствие хоть какого-нибудь подобия бинарных пакетов. В целом логика такого решения понятна: Lime — это и не цельное приложение, а набор из отдельного бэкенда на языке Go и пары фронтендов на выбор. Однако легче от этого не становится — попытка с наскока заставить Lime элементарно работать превращается в увлекательную возню с зависимостями Go, конфигами и прочими радостями жизни.

Lime уже сейчас имеет на выбор два фроентенда. Скоро будет и третий на Dart
Lime уже сейчас имеет на выбор два фроентенда. Скоро будет и третий на Dart

Что касается работы в этом редакторе, на данный момент она откровенно неудобна, и написать здесь о чем-то уникальном, по сути, нечего. Lime пока не может похвастаться даже теми функциями, которые в других текстовых редакторах воспринимаются как должное. Создается впечатление, что разработчики пока уделяют куда больше внимания архитектуре приложения и чистоте кода, чем функционалу. До некоторой степени ситуацию спасает частичная совместимость с API Sublime (ну и некоторых частей TextMate, соответственно), но, несмотря на это, с юзабилити у Lime остаются большие проблемы.

Несмотря на довольно подробный ман, со сборкой все равно бывают сложности
Несмотря на довольно подробный ман, со сборкой все равно бывают сложности

В целом на сегодняшний день Lime оставляет двоякое впечатление. Наверное, это здорово, когда твой рабочий инструмент полностью опенсорный и настолько гибкий. Но давай будем честны с собой: скольким из нас когда-либо придет в голову переписать фронтенд своего текстового редактора? Скольким из нас вообще придет в голову заниматься разработкой текстового редактора под себя из-за каких-то неудобств вместо того, чтобы использовать этот инструмент по прямому назначению — а именно писать в нем свои программы? Большинству разработчиков (особенно тем, кто не болен Столлманом головного мозга) за глаза хватит функционала Sublime Text и его системы плагинов для решения повседневных задач. Да и, если честно, за несколько лет ежедневной работы в Sublime я не встречал каких-то сверхкритичных багов, для которых бы не смог найти своего workaround’а. Так что на данном этапе по-настоящему Lime подойдет лишь упертым фанатам опенсорса с огромным количеством свободного времени и желанием сделать этот мир чуточку лучше.

 

Brackets от Adobe

brackets.io

Brackets — достаточно молодой (разработка ведется с 2011 года), но интересный проект от Adobe. Его цель незамысловата — создать минималистичную и комфортную среду разработки, которая бы требовала минимум усилий со стороны девелопера. На моей памяти было уже немалое количество проектов со схожими целями. Давай посмотрим, получилось ли у Adobe с помощью комьюнити сделать что-то интересное и на этом поприще.

На удивление, Brackets получился весьма неплохим. Все необходимое работает из коробки (после Lime даже это становится в некотором смысле плюсом). Проект действительно решает свою главную задачу — облегчает написание кода, хотя и делает это практически без каких-либо принципиально новых подходов. И кстати, в этом нет ничего плохого.

Brackets написан на HTML/JS (спасибо, что не Flash или Adobe AIR :)), тесно интегрирован с Node.js. Внешне из коробки производит весьма благоприятное впечатление (правда, не без налета некоторой игрушечности). Что меня подкупило с нажатия первой клавиши — так это потрясающий автокомплит для HTML/CSS/JS/jQuery. Он действительно умный и к тому же содержит множество приятных мелочей (например, встроенный color-picker или тулзу для гуишного подбора transition’ов в CSS).

Из коробки Brackets очень облегчает жизнь разработчика
Из коробки Brackets очень облегчает жизнь разработчика

Но главной киллер-фичей для меня стало inline-редактирование связанных участков кода. Это возможность посмотреть и отредактировать, скажем, набор CSS-свойства по его классу или ID-шнику прямо из HTML-файла верстки в отдельной области. Brackets в реальном времени анализирует структуру твоего проекта, строит дерево зависимостей и позволяет писать взаимозависимые участки кода, практически не покидая основного контекста файла. Признаюсь, именно такой функционал я пилил пару лет назад в своем простеньком текстовом редакторе (уверен, не я один). Так что подобная фишка не может не радовать.Из остальных особенностей можно выделить быстрый доступ к документации (правда, не настолько детализированный, как у Light Table), JSLint из коробки и симпатичный менеджер плагинов. Хотя, конечно, таким обилием пакетов, как у Sublime, Brackets пока похвастаться не сможет.

У Brackets действительно приятный менеджер пакетов
У Brackets действительно приятный менеджер пакетов

В целом, несмотря на поддержку в некоторой степени, например, Ruby или Python, Brackets ориентирован в первую очередь на фронтенд разработчиков. Он отлично справится с нуждами верстальщиков, в чем-то оставляя позади даже специализированные IDE. Ничего революционно нового, кроме inline-редактирования кода, ты в нем не найдешь. Однако то, что есть, сделано на совесть и с душой. Если ты преимущественно верстаешь или пишешь клиентский код на не слишком замороченном стеке, вполне возможно, Brackets придется тебе по душе.

 

Zed

zedapp.org

Zed — это довольно хипстерский текстовый редактор, который также пытается переосмыслить современный процесс разработки ПО. Если Light Table пытается изменить сам принцип разработки, то Zed в основном ограничивается экспериментами с интерфейсом. Разработка была начата в 2011 году, и на сегодняшний день на официальном сайте Zed доступен в виде бинарников под основные платформы, а также в качестве приложения для Chrome Web Store.

Первое, что бросается в глаза при знакомстве с Zed, — отсутствие привычных элементов интерфейса вроде дерева проекта или вкладок. Достаточно спорный шаг, весь зачастую при разработке значительно легче ориентироваться в структуре проекта именно по дереву. Но вот в отсутствии табов некое рациональное зерно есть: обычно при работе с большими проектами количество открытых вкладок разрастается экспоненциально, и уже через полчаса работы приходится постоянно ходить по ним, закрывая то, с чем ты не работаешь в данный момент. В Zed же навигация по проекту осуществляется или с помощью прыжка напрямую к нужному файлу в проекте по его названию (Ctr/Cmd + E) через небольшую консоль в верхней части приложения.

Второй запоминающейся особенностью Zed является упор на многоколоночный интерфейс. Редактор поддерживает несколько фиксированных вариантов сплита рабочего пространства — 50/50%, 25/75% и так далее. Стоит отметить, что вторая (или даже третья) колонка предназначена не только для одновременного редактирования нескольких файлов, но также и для моментального предпросмотра кода на языках, требующих пропроцессинга (таких как Markdown или CoffeeScript).

При работе с Zed очень чувствуется его ориентированность на удаленное редактирование. Так, из коробки он имеет шикарную поддержку редактирования файлов из Dropbox или напрямую на удаленном сервере и поддерживает сессии. Но вот именно как редактор Zed весьма беден. Его встроенное автодополнение базируется на словаре, он не имеет удобных средств работы с расширениями, не позволяет настроить UI так, как хотелось бы. Хотя, наверное, Zed просто не об этом.

Из коробки Zed ориентирован на удаленное редактирование
Из коробки Zed ориентирован на удаленное редактирование

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

Навигация осуществляется с помощью GoTo-панели
Навигация осуществляется с помощью GoTo-панели

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

 

19 комментариев

  1. 16.10.2014 at 21:40

    и всё же, до Sublime не дотягивает ни один из них

  2. 17.10.2014 at 10:29

  3. 17.10.2014 at 11:39

    Насыпаю на банку немного ромашки,сверху на кончике ножа мелкие белые шарики,настолько мелкие что издалека могут показаться мукой,но это именно шарики -в чем я позже убедился.Напас бодрячковый и вот уже на выдохе начинает вставлять и надо сказать не хило вставляет,приход долгий,ровный,плотный я бы сказал.Чтоб упростить понимание моих ощущений скажу так-это как хорошие бошки.С первой хапки матанга на полтора часа и ес честно я не смог дождаться когда начнет отпускать и дунул еще разок,снова такой же мощный приход.Короче на работу я проспал)),вернувшись домой в обед приобрел спиритус этиликус(чет последнее время решил отходить от ацика,иногда кажется что вставляет он)и решил проконсультироваться в лс у тс о пропорциях.ТС мне душевно и быстро пояснил,к 10 поэтому я как любой уважающий себя мусчина сделал к 7,да важно-в спирту сначала не растворялась,поставил на утюг и тут по мере нагревания рега стала превращаться сначала в прозрачное масло а по мере растворения изменился до темно коричневого,помню такое было у дживаха 18го,короч пркольно все растворилось минут за 10.Травчег курили с банки-жестянки—достаточно одной таблэтки.А еще его роднит и с бошками и с дживом безконечное желание схавать какую нить приколюху,короче операция саранча имеет место .Так же был опробован гидроусиленный варик с бульбулятором, но чет не айс,может кому подойдет и такой способ,но по мне и еще одного человека со стажем мнению-курить лучше с банки,приход като ярче.Буду закругляться-МИСТЕР ПОЗИТИВ ВЫ НАСТОЯЩИЙ ПОЗИТИВ.Брать стоит ха тем кто хочет получить удовольствие как от общения с оператором так и от реакта данного магаза,он того стоит,я давно такой искал,все очень очень гут-тут.Думаю к выходным прикупиться тут ск,почитал трипы заинтересовали крисы ваши очень))Благодарю за доверие и выделенную пробу

  4. 17.10.2014 at 12:03

    Ну , вы откровенно проебали 🙂
    Live preview есть в Sublime
    Brackets стоит в позиции догоняющего и вряд ли когда-то догонит
    Дайте подумать , писать свои расширения вместо того чтоб установить готовое — на ум только картинка про троллейбус из хлеба приходит

    Вот только не понятно , вы сюда зашли чтоб рекламу втулить или просто подрочить на adobe публично

    • http://ass.com/

      17.10.2014 at 12:44

      Я поделился информацией о своем любимом редакторе, благо посчитал что о нем было рассказано не все, что делает его более продуктивным чем остальные редакторы для верстальщика, повторюсь для верстальщика (про плагины я написал). Кто-то это запрещает здесь делать? Далее про live. ПРОЕБАЛИСЬ именно вы потому что в Brackets встроенная функция позволяет видеть изменения странички моментально при наборе а не при сохранении файла, я об этом написал. В Sublime есть данная ВСТРОЕННАЯ функция?
      http://www.youtube.com/watch?v=Nhvj1NYC3Uc

      Дайте подумать, что вы хотите мне доказать. Установить готовое что, в Sublime есть плагин для psd и для удобной разработки адаптивных страничек? Не понятно, вы решили показать свою значимость здесь или подрочить на ваш Sublime? Вы похоже порвали пукан, спокойней и без этих холиваров, продолжайте работу в своем троллейбусе Sublime.

      • 17.10.2014 at 13:27

        Ну я так и писал — Brackets хорош, и особенно полезен будет фронтенд-инженерам.

        Лично для себя я все равно оставляю связку Sublime + WebStorm на первом месте просто из-за ее универсальности (http://xakep.ru/sublime-text-not-for-coding/). Возможно, потому, что я не так много верстаю, а в первую очередь пишу серверный код.

        Насколько я помню, для решения не-фронтенд задач Brackets объективно нужно допиливать, а заниматься этим вместо написания своего кода — занятие, прямо скажем, для фанатов.

        • http://ass.com/

          17.10.2014 at 14:19

          Спору нет. Я занимаюсь только frontend’ом и для html/css/js brackets (это его основное направление на данный момент, adobe не позиционирует его для php и остальных языков) с его быстрым workflow (inline edit, docs, live preview и тд) как я считаю намного интересней чем остальные, после Sublime на котором я сидел довольно давно мне стало быстрее и приятнее работать в разы. Никаких холиваров, кому-то моя информация точно будет полезна (например о готовящемся плагине psd, линуксойды будут рады). Насчет плагинов, да я не хотел делать на это упор, и причем тут допиливать? Это называется добавлять фунционал, допиливать слишком страшное слово. Вот вы серверный человек, поэтому для вас моя информация по сути вообще бесполезна, а для верстальщиков будет интересна =)

          • 17.10.2014 at 15:00

            Я так понимаю, вы большой энтузиаст Brackets? Хотите написать колонку для сайта — историю его развития, обзор возможностей сейчас и топ-5 полезных плагинов? Только ник придется сменить 🙂

            • http://ass.com/

              17.10.2014 at 15:45

              Илья, можно попробывать, есть что рассказать. Думаю лучше подождать выхода в паблик расширения PSD Lens, который должен привлечь внимание верстальщиков, как один из поводов для написания статьи. Мы пока его тестируем но судя по анонсам он выйдет довольно скоро, 1-2месяца, за которые выйдет еще 2 релиза редактора где будут добавлены новые функции о которых так же будет повод рассказать. Да и времени сейчас нет, буду посвободней позже. Куда писать вам с готовой статьей? Ник безусловно будет сменен, это альтер эго для другого сайта -)

              • 17.10.2014 at 17:50

                Отлично, пишите на rusanen@glc.ru как сформируется план статьи или появится идея для интересного материала. Топик на ваше усмотрение. Мы не так давно делали целый номер, посвященный фронтенду, так что все, что связано с клиентской разработкой мы любим.

  5. 18.10.2014 at 16:15

    Кто не видел или не разглядел SynWrite — считает Sublime и прочее редакторами

  6. 19.10.2014 at 09:35

    Я использую Geany! Легковесный, с автокомплитом, есть плагины, опен соурсный. Но не для веба )

  7. 19.10.2014 at 16:24

    Мне очень нравится Brackets

  8. http://pro-prof.com/

    19.10.2014 at 16:31

  9. http://pqr7.wordpress.com

    19.10.2014 at 23:01

    Удивительное совпадение: все редакторы начали разрабатываться в 2011 году!

  10. 21.10.2014 at 01:36

    Скажите пожалуйста, где вы взяли версию Light Table с возможностью представления функций в виде блоков. Текущая версия 0.6.7, похоже такой функции не имеет, а если и имеет, то как ее включить?

  11. 22.10.2014 at 00:03

    Notepad++ под Windows великолепен!

  12. clod

    22.07.2015 at 17:42

    Я бы еще добавил в обзор Codelobster — http://www.codelobster.com
    Это мой любимый бесплатный редактор

Оставить мнение

Check Also

Мошенничество по воздуху. Разбираем возможность Cryptogram Replay Attack в Apple Pay

Задача платежной системы — списать нужную сумму в пользу продавца со счета верное число ра…