В чем разница между Sublime и Github Atom

Github объявила Atom, которая очень похожа на Sublime. Даже некоторые сочетания клавиш, такие как ⌘ + P, ⌘ + Shift + P и т.д., Одинаковы.

  • Как Atom отличается от Sublime?
  • Включает ли он IDE-функции, такие как инструменты сборки, скачки функций, документация и т.д.?
  • Кто-нибудь, кто использует Sublime, получил приглашение в Бета, чтобы указать на различия?
  • Могу ли я использовать темы, схемы и пакеты из Sublime как есть, например, Sublime может работать с текстовым матом.

Atom Shell1

PS: Откройте изображение в новой вкладке для большего разрешения.

Ответ 1

  • Как Atom отличается от Sublime?
    • Atom - текстовый редактор с открытым исходным кодом /IDE, построенный на JavaScript/HTML/CSS.
    • Sublime Text - это коммерческий продукт, построенный на C/С++ и Python.
    • Сопоставим с Atom Adobe Brackets, еще один текстовый редактор с открытым исходным кодом /IDE, построенный на JavaScript/HTML/CSS. Помните, что это делает Brackets более ориентированным на веб-разработку, особенно в интерфейсе.
    • Преимущества проектов с открытым исходным кодом - это более быстрый темп развития и, конечно же, цена.
  • Включает ли он IDE-функции, такие как инструменты сборки, переходы определения функций, документацию и т.д.?
    • Короткий ответ: да, да и да. Приложение полностью модульное. Открытый источник даст людям свободу заполнить пробелы по нескольким из этих функций.
  • Кто-нибудь, кто использует Sublime, получил бета-приглашение, чтобы указать на различия?
    • Преимущества Atom - это взломать начальный уровень, поскольку он построен на том же коде, который поддерживает веб-сайты.
    • Преимущества Sublime Text - это производительность, так как она не должна запускаться поверх Node.js, и это более зрелый продукт, который достигнет стабильной версии 3.
    • Существует длинный список незначительных различий, которые могут быть включены в комментарии (я хочу, чтобы эта уценка могла отображать таблицу для сравнения, но эта другая проблема).
    • Из-за быстрой явки Atom, я боюсь, что некоторые из различий, которые я перечисляю здесь, со временем устареют. Например, на момент написания этой статьи Atom доступен только на Macintosh, а Sublime Text уже является мультиплатформенным.
  • Могу ли я использовать темы, схемы и пакеты от Sublime как есть, например, Sublime может работать с текстовым маттом.
    • Короткий ответ - нет, но из-за хакерства Atom будет легко перенастроить пакеты из других редакторов на Atom.

Ответ 2

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

Sublime является двоичным, скомпилированным для платформы. Его ядро ​​написано на C/С++, и ряд его функций реализован в Python, который также является языком, используемым для его расширения. Atom написан в Node.js/Coffeescript и работает под webkit, причем Coffeescript является языком расширения. Хотя подобный в UI и UX, Sublime работает значительно лучше, чем Atom, особенно в "тяжелой работе", например, с большими файлами, сложными SnR или плагинами, которые выполняют тяжелую обработку файлов/буферов. Хотя я ожидаю улучшения в Atom по мере его созревания, дизайн и выбор платформы ограничивают производительность.

"Закрытая" часть Sublime включает API и интерфейс. Помимо скинов/тем и цветоводов, API в настоящее время затрудняет изменение других аспектов пользовательского интерфейса. Например, плагины Sublime не могут взаимодействовать с боковой панелью, управлять или рисовать на области редактирования (за исключением некоторых ограниченных способов, например, в желобе) или манипулировать статусной панелью над основным текстом. Атомная "закрытая" часть на данный момент неизвестна, но я чувствую, что она меньше. Atom имеет богатый API (хотя и плохо документированный в настоящее время) с целью дизайна, позволяющей более эффективно управлять своим пользовательским интерфейсом. Будучи тесно связанным с webkit, он предлагает множество возможностей для улучшений функций пользовательского интерфейса, которые в настоящее время не возможны с Sublime. Тем не менее, Sublime extensions работают ближе к native, поэтому те, которые выполняют интенсивные вычисления, сильно повторяющиеся или сложные текстовые манипуляции в больших буферах, возможны в Sublime.

Так как больше Atom будет открытым, Github open-sourced Atom 6 мая. В результате, вероятно, что поддержка и темпы развития будут быстрыми. Напротив, возвышенное развитие значительно замедлилось в последнее время - но оно не мертво. В частности, существует множество ошибок, многие из которых довольно тривиальны, которые разработчик не исправил. Ни один из них не демонстрирует imo, но если вы хотите что-то в быстрой разработке с регулярными исправлениями и улучшениями, Sublime будет разочаровывать. Тем не менее, устанавливаемые пакеты Atom для Windows и Linux еще не выпущены, и активность на кодовой базе, кажется, охладилась за несколько недель до и после объявления, согласно статистике Github.

С точки зрения функций IDE, с точки зрения webdev Atom позволит расширениям приближаться к продуктам, таким как Webstorm, хотя пока ничего не появилось. Остается увидеть, как Atom будет работать с такими "тяжелыми" расширениями, поскольку редактор изначально чувствует себя вялым. Из-за ограничений API и отсутствия базового webkit Sublime не позволит этот уровень настройки пользовательского интерфейса, хотя разработчик может расширить API для поддержки таких функций в будущем. Опять же, возвышенная базовая производительность позволяет использовать вещи, которые требуют вычислительного ворчания; Индексирование символов ST3 является примером, который хорошо работает даже с большими проектами. И хотя Atom UI, безусловно, смоделирован на Sublime, некоторые улучшения заметно отсутствуют, такие как Sublime обучающие панели и всплывающие окна с табуляцией, которые взвешивают значения по умолчанию в соответствии с теми, которые вы больше всего используете.

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

[Обновить/изменить: 18 мая 2015 г.]

Заметка об улучшениях этих двух редакторов с момента написания выше.

В дополнение к исправлениям и улучшениям в своем ядре Atom быстро развивается в сторонних расширениях, причем автозаполнение плюс входит в стандартное распределение Atom. Качество расширения варьируется в широких пределах, и особое раздражение - это частота, с помощью которой неустойчивые пакеты сторонних производителей могут вызвать сбой редактора. В течение прошлого года Atom перешел к использованию React путем переноса активности reflow/repaint на GPU по соображениям производительности, что значительно улучшило отзывчивость пользовательского интерфейса для типичных действий редактирования (прокрутка, перемещение курсора и т.д.). Хотя это заметно улучшило восприятие редактора, оно по-прежнему кажется громоздким для задач с интенсивным процессором, как описано выше, и все еще медленно запускается. Помимо повышения производительности, Atom чувствует себя значительно более стабильно по всем направлениям.

Развитие Sublime снова возросло с января 2015 года, с исправлениями, некоторыми незначительными новыми функциями (API-интерфейс всплывающей подсказки, усовершенствования системы сборки) и важной разработкой в ​​форме нового определения синтаксиса на основе ямля (в конечном итоге замените старый xml.tmLanguage). Вместе с настраиваемым механизмом регулярных выражений, который заменяет Onigurama, новая система предлагает больше возможностей для точного соответствия регулярному выражению, значительно быстрее (до 4 раз) и может выполнять несколько совпадений параллельно. Помимо синтаксиса раскраски, Sublime использует эти компоненты для индексирования символов (определение goto и т.д.) И других языков. В дополнение к дальнейшему ускорению Sublime, особенно для больших файлов, эта функция должна открывать потенциал для выполнения конкретных языковых функций, таких как рефакторинг кода и т.д. Дальнейшие "большие разработки" обещаны, хотя автор остается, как всегда, плотно окутывали их.

Ответ 3

Atom записывается с использованием Node.js, CoffeeScript и LESS. Затем он был завернут в оболочку WebKit, которая изначально была доступна только для OSX, хотя теперь есть версия Windows. (Версия Linux должна быть построена из источника, но для пользователей Ubuntu существует PPA.)

Многие архитектуры и функции были дублированы из Sublime Text, потому что они опробованы и протестированы. Система плагинов работает почти одинаково, но открывает множество новых возможностей и возможностей, открывая новые API тоже.

Я считаю, что ярлыки остаются в основном одинаковыми из-за мышечной памяти - люди помнят их и смогут мгновенно щелкнуть с помощью Atom.

Настройки можно контролировать с помощью графического интерфейса, а не напрямую редактировать JSON, что может привести к снижению входного барьера в направлении запуска людей с Atom. Мне самому сложно перемещаться по ним, поскольку в настройках нет функции поиска.

Вы можете подписаться на приглашение на ##atom-invites канал IRC или зарегистрироваться на своем веб-сайте и добавить свою электронную почту. Первый раунд приглашений пришел быстро.

Ответ 5

Вот некоторые отличия между ними:






* Хотя APM - это отдельный инструмент, он автоматически устанавливается вместе с Atom

Ответ 6

Atom был создан Github и включает в себя "git осведомленность". Это особенность, которую мне очень нравится:

enter image description here

Также он выделяет файлы в дереве git, которые были изменены разными цветами в зависимости от их статуса фиксации:

enter image description here

Ответ 7

Еще одно отличие заключается в том, что Sublime-текст является проектом с закрытым исходным кодом, а исходный код Atom является/будет общедоступным - хотя Github не планирует выпускать его как настоящий проект с открытым исходным кодом. Они хотят предоставить доступ к коду, не открывая его для взносов.

Github сделал код общедоступным: http://blog.atom.io/2014/05/06/atom-is-now-open-source.html

Ответ 8

Я только что получил мое бета-предложение сегодня и сразу попробовал Atom. GUI чувствует себя как Sublime, и да, есть некоторые ярлыки, принятые из Sublime.

Помимо всего сказанного выше, вот некоторые отличия, которые я заметил до сих пор:

  • Режим Vim не так хорош, как режим Vintage на Sublime (который также не является полнофункциональным vim), потому что пакет vim находится на ранней стадии разработки. Подробнее см. https://atom.io/packages/vim-mode.

  • Как упоминает Джеймс, Atom написан с использованием веб-инструментов, поэтому у вас есть доступ к таблице стилей текстового редактора (styles.less), чтобы делать любые изменения внешнего вида, которые вы хотите использовать с помощью CSS. Также есть возможность изменить запуск CoffeeScript.

  • Опять же, поскольку Atom все еще находится на стадии бета-тестирования, у Sublime есть гораздо больше собственных плагинов. Однако, поскольку Atom написан на Node.js, официальный сайт Atom сказал, что вы можете "выбрать более 50 тысяч в репозитории пакетов Node". (Потому что я не Node.js pro, я не рассматривал эту функцию, хотя)

  • Atom имеет лучшую поддержку Github из коробки, но Sublime имеет несколько пакетов Git.

  • Sublime является платным приложением без ограничений. Atom на бета-стадии свободен, но мы не знаем, хочет ли Github его взимать или нет.

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

Ответ 9

Я пробовал Atom, и он выглядит очень красиво, но есть одна серьезная проблема (по крайней мере, в версии 0.84):

Он не поддерживает вертикальный выбор Alt + Drag - это обязательный параметр для каждого современного редактора кода.

Ответ 10

Atom все еще находится в бета-версии (v0.123, поскольку я пишу это), но он быстро продвигается. Путь быстрее, чем Sublime. Новые сборки выпускаются еженедельно, иногда даже немногие из них на той же неделе. За свою короткую продолжительность жизни у него было больше выпусков, чем Sublime, для чего требуется несколько месяцев, чтобы выпустить новую функцию или исправить ошибку. Здесь обновленный взгляд на вещи, оглядывающиеся на путь, который Atom сделал с момента запуска бета-версии:

  • Sublime имеет лучшую производительность, чем Atom. Просто потому, что он написан на С++. Atom, с другой стороны, представляет собой веб-приложение для настольных компьютеров, созданное на базе Chromium, и, хотя они выполняют производительность близко к сердцу, будет очень сложно или даже невозможно достичь такой же скорости и быстроты реагирования. В прошлом июле Atom начал использовать React, и это дало ему хороший прирост производительности, но вы все еще можете почувствовать разницу. Кроме того, если проблемы производительности Atoms не будут вытеснять пользователей - Sublime лучше ускорит цикл выпуска, очистит его небольшие настройки UX и рассмотрит возможность предоставления большего количества ресурсов, потому что именно здесь Atom выигрывает.

  • Атомная экосистема пакета также растет очень быстро, она может быть не такой большой, как Sublime на данный момент, но я чувствую, что с GitHub на ней она будет расти еще быстрее. Вероятно, у большинства IDE есть плагины, о которых вы можете думать. Основное различие прямо сейчас заключается в том, что он не может обрабатывать файлы размером более 2 МБ, поэтому им нужно иметь в виду.

  • Первое, что вы заметите, это то, что миниатюра Sublime исчезла! Помимо этого, первое впечатление заключается в том, что Atom выглядит почти так же, как Sublime. Я написал более подробное сравнение этого сообщения в блоге.

  • Нет простого простого способа переноса ваших Sublime-конфигураций, пакетов и, насколько я знаю.

Ответ 11

Важнейшим отличием является поддержка "Индийских шрифтов", например, южноазиатских сценариев (включая языки Юго-Восточной Азии, такие как кхмерский, лаосский, мьянмарский и тайский). Кроме того, значительно улучшена поддержка восточноазиатских языков (китайский, японский, корейский). Это известные ошибки (на самом деле самые рейтинговые ошибки), которые продолжаются в течение многих лет (считается, что поддержка восточноазиатского языка работает лучше, но теперь стала трудно использовать):

Ответ 12

Я работаю в экстремальной среде; редактировать файлы на удаленной файловой системе (внешняя сеть, конечно), которая монтируется на моем ноутбуке через ssh (aka. sshfs). Независимо от того, почему я так делаю, даже несмотря на свою громоздкую отзывчивость, он довольно съедобен, когда я использую Sublime Text 2.

Я пробовал Atom, прочитав этот пост, но мне это показалось несколько болезненным; Кажется, что Atom не кэширует структуру каталогов так эффективно. Каждый раз, когда я расширяю папку в Tree View, пользовательский интерфейс задерживается на короткое время, 2 ~ 3 секунды, возможно, извлекает информацию о файловой системе. Да, это потому, что я использую удаленную файловую систему. Но Sublime обрабатывает это более эффективно, по крайней мере, он не замирает каждый раз, когда я расширяю папку, поэтому менее болезненным.

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

-

добавлено 28.08.2012

Недавно я сменил свой ноутбук с Macbook Air 2010 поздно на Macbook Pro 13 "2013 года. Он, скорее всего, в 4 раза быстрее CPU и значительно улучшает производительность. Хочу сказать, что мое мнение о том, что вы когда-нибудь слышали о том, FILE SYSTEM. (Используя OS X Mavericks, самая последняя версия Atom, FUSE 2.7.3/OSXFUSE 2.6.4/sshfs 2.5.0 и удаленная система - сервер Ubuntu). В конце концов, замораживание пользовательского интерфейса становится довольно Короче, но он все еще существует. В частности, чтобы открыть папку со многими папками/файлами в ней и индексировать, требуется определенное количество времени. Кроме того, если вы разворачиваете папку, полную файлов, она просто колеблется. (при свертывании папка, это не так)

Согласно @EliDuenisch, похоже, что это не происходит в Linux Mint. Я не уверен, но это может быть разница между ОС. Конечно, если вы работаете в локальной файловой системе, вам вообще не нужно заботиться об этой проблеме.

Ответ 13

ВНИМАНИЕ::

- из-за плохо сделанной системы кеширования, в Atom потеря данных часто возникает при использовании больших файлов.

Это доказано много раз.

Ответ 14

Одно из существенных различий, о которых никто не указал и которые могут быть важны для некоторых людей, заключается в том, что (по крайней мере, в Windows) Atom не полностью поддерживает другие раскладки клавиатуры, чем США. Существует отчет об ошибке с несколькими сотнями сообщений, которые были открыты более года (https://github.com/atom/atom-keymap/issues/35).

Может быть актуальным при выборе редактора.