GitHub представил (https://github.com/blog/1831-atom-free-and-open-source-for-e...) первую общедоступную версию специализированного редактора кода Atom (http://atom.io/) и открыл (https://github.com/atom/atom) под свободной лицензией MIT все связанные с проектом наработки. Базовая часть Atom основана на кодовой базе браузера Chromium, оптимизированной для выполнения задач среды редактирования кода. Логика работы редактора реализована с использованием web-технологий и компонуется в форме набора подключаемых дополнений.
Необходимость использования собственного браузерного ядра на основе Chromium, вместо оформления редактора в форме работающего в обычном браузере web-приложения, обусловлена необходимостью реализации дополнительных возможностей, недоступных через обычный Web API. Например, Atom предоставляет встроенный файловый менеджер и гибкие средства поиска файлов, которые невозможно реализовать при использовании обычных web-приложений. В редакторе также напрямую используются некоторые внутренние подсистемы Chromium, такие как движок обработки регулярных выражений и нативные элементы формирования диалогов. Кроме того, так как компоненты Atom всегда выполняются локально, упрощается разработка дополнений, обращение к ресурсам и разграничение доступа.
Редактор поддерживает режимы совместимости с Vim и Emacs, предоставляет средства для одновременной совместной работы с кодом, подсветку синтаксиса, поддерживает API (http://atom.io/docs/api/) для разработки расширений. Интерфейс может настраиваться через темы оформления, поддерживаются вкладки, закладки, умный контекстный поиск кода, схлопывание блоков кода, одновременное использование нескольких курсоров и областей выделения, наглядная пометка изменений, автодополнение и проверка кода для разных языков (Ruby, Python, SQL, PHP, Perl, Objective-C, C/C++, JavaScript, Java, Go и т.п.). Для формирования статей и документации может быть использована разметка Markdown.
<center><a href="https://f.cloud.github.com/assets/671378/2265253/5b1c2ae8-9e... src="http://www.opennet.me/opennews/pics_base/0_1393422603.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border="0"></a></center>
Функциональность редактора формируется за счёт предоставления набора пакетов-дополнений, для установки которых предлагается встроенный пакетный менеджер "apm", похожий на "npm" от проекта Node.js. Через дополнения реализованы все функции, выходящие за рамки базового редактирования кода, в том числе панели, подсветка синтаксиса, оформление интерфейса, формы работы с файлами и т.п. Кроме базовых дополнений предоставляется каталог (http://atom.io/packages) сторонних пакетов.Формат пакетов аналогичен npm и отличается предоставлением некоторых дополнительных блоков для определения меню, стилей, клавиатурных комбинаций, задания логики активации. Разработка дополнения мало чем отличается от создания приложения для Node.js. Для разработчиков дополнений доступны все модули Node.js, а также популярные JavaScript-библиотеки, такие как jQuery, Underscore и SpacePen. Кроме модулей Node.js предлагается API для формирования нативных диалогов, интеграции приложений, создания контекстных меню, манипуляции окнами, взаимодействия с подсистемами Chrome.
Atom Shell (https://github.com/atom/atom-shell), основанное на Chromium и Node.js ядро, поверх которого реализован редактор, поставляется в форме самодостаточного фреймворка, который можно использовать для создания произвольных пользовательских приложений. Как и в Atom логика работы приложений определяется на JavaScript, HTML и CSS, а функциональность может быть расширена через систему дополнений. Для разработки доступен широкий спектр модулей для Node.js.
URL: https://github.com/blog/1831-atom-free-and-open-source-for-e...
Новость: http://www.opennet.me/opennews/art.shtml?num=39711
>Функциональность редактора формируется за счёт предоставления набора пакетов-дополнений, для установки которых предлагается встроенный пакетный менеджер "apm", похожий на "npm" от проекта Node.jsНу npm-то им чем не угодил, что ж за NIH-синдром такой
Бур геолога и бур стоматолога имеют схожую конструкцию и принцип работы.
С точки зрения идиота они взаимозаменимы.
Но пакетные менеджеры - скорее просто более-менее стандартная домашняя дрель. Но нет, каждый хочет сделать свое. При том у одних шестигранные сверла, с спецключом. У других - девятигранные. Третьи вообще делают их овальными, по приколу. И вот стоишь ты у стелажа со сверлами и долго чешешь репу - что же из этой кучи подойдет для работы с твоей дрелью...
Sublime такой Sublime...
Впрочем, ничем не плохо иметь опенсорсный Sublime.
Что он умеет такого что не умеет любой_другой_текстовый_редактор?
> Что он умеет такого что не умеет любой_другой_текстовый_редактор?Ничего.
reopen with encoding ...
настройка 100% параметров в одном(!) текстовом(!!) файле(!!!). никаких gconf-editor и прочего бреда.
Не тянет за собой кучу гна в виде половины кед или какого другого мусора.
И по мелочи вроде общего меню споиском команд, простой, через package control, установки плагинов, кросплатформы, официальной portable сборки и скорости работы.
А вот и ололошкольнички.> reopen with encoding ...
> настройка 100% параметров в одном(!) текстовом(!!) файле(!!!). никаких gconf-editor и
> прочего бреда.Тысячи их. То что ты их не знаешь с головой выдает возраст.
> Не тянет за собой кучу гна в виде половины кед или какого
> другого мусора.Да, редактор на хроме — легок и независим как перышко.
> И по мелочи вроде общего меню споиском команд
Было.
> простой, через package control,
> установки плагинов, кросплатформы, официальной portable сборкиБыло.
> скорости работы.
Он на средней машинке семелетней старости и не запустится.
>А вот и ололошкольнички.Самокритичненько.
>reopen with encoding ...
>Тысячи их.Назовите три.
>Да, редактор на хроме — легок и независим как перышко.Все вешописанное про Sublime. Atom доступен пока только под MacOSX, о чем явно написано в новости.
>Было
98% наших хромосом повторяют хромосомы макаки, 60% генома идентична геному банана. Можно из этого сделать вывод, что вас можно легко заменить макакой, а уж макака с бананом и вовсе, в 1,5 раза лучше?
>Он на средней машинке семелетней старости и не запустится.
Я не знаю в какие машинки вы играли 7 лет назад.
Или переведите на литературный русский язык.
> 98% наших хромосом повторяют хромосомы макаки, 60% генома идентична геному банана. Можно
> из этого сделать вывод, что вас можно легко заменить макакой, а
> уж макака с бананом и вовсе, в 1,5 раза лучше?Смотря кого и смотря с какой целью. Например, с аналогиями макака справится куда лучше тебя.
>Он на средней машинке семелетней старости и не запустится.Я по всем пунктам согласен с тобой, но 7 лет назад был 2007, а не 1997.
>reopen with encoding ..Потрясающе. Новая веха в развитии текстовых редакторов.
Мир замер в восхищении.У вас что, каникулы уже начались?
>Потрясающе. Новая веха в развитии текстовых редакторов.Мир замер в восхищении.
Мне эта функция тоже очень нравится. Буквально из за нее и скачал Sublime.
а уже потом разпробовал - множественные курсоры, emmet, goto symbol и тд.
>множественные курсорыВот на мой взгляд очень вредная функция, по крайней мере для программиста. Она по своей сути нарушает священный DRY и способствует быдлoкодингу.
ага, а по-моему она не только вредная, а ещё и наркоманская...это ж как укуриться надо, чтобы печатать в 10 местах сразу...
Иногда очень удобно.
Вот, например https://www.youtube.com/watch?v=jNa3axo40qM
Наберите в поиске на YT "Emacs multiple cursors", там много примеров
> Не тянет за собой кучу гна в виде половины кед или какого другого мусора.Идея Microsoft свалить совместно используемые библиотеки в одну кучу якобы для уменьшения места потерпела фиаско. Лучше именно тянуть за собой все, что необходимо, жертвуя местом на диске, но гарантируя работоспособность.
> Что он умеет такого что не умеет любой_другой_текстовый_редактор?Забрать весь кэш/буфера у ОС и утилизировать i7 на полную.
Врать как аноним тоже не умеет.
Братьев, говорят убивает.
Опен-сорсное и близкое sublime, кстати, уже есть:
https://github.com/limetext/lime/Совместим на уровне python plugin API, имплементит почти все шорткаты и настройки.
Что ещё интересно с программисткой точки зрения -- это что он написан Go, языке с поддержкой модели акторов. (ИМХО, это может быть очень интересно для редактора. Например, возможностью интересных связок с внешними компиляторами.)
>>> Совместим на уровне python plugin API...Гуано вестимо.
А какой сабсет emacs lisp он поддерживает в рамках заявленной совместимости с оным? Или они перетащили полсотни горячих клавиш и назвали это совместимостью?
А ты проверь и нам сообщи. А то, знаешь ли, мешки стоят уже.
Скорее просто перетащили дефолтные хоткеи. В противном случае они бы разрабатывали не "среду редактирования", а "расширение Emacs". =/Впрочем, хоткеями емаксеров не заманишь, ибо он не ими красен.
>Впрочем, хоткеями емаксеров не заманишь, ибо он не ими красен.Емаксеров сейчас ничем не заманишь, потому как \
А) Emacs главное изобретение человечества, опередившее свое время на 400 лет.
B) Рубашки удобные.
C) Стены мягкие.
D) Санитары все равно не отпускают.
Нет, не поэтому.
А потому что менять редактор каждые 10 лет - жизнь слишком коротка для этого.
Emacs и Vim через 30 лет никуда не денутся.
А сколько было таких Sublime-ов да Atom-ов, и где они теперь? Вместе с MultiEdit-ом в старинных хрониках.
Зачем юзать яваскрипт в браузерных приложениях, я ещё понимаю - там выбора нет. Но юзать его в standalone десктопном софте - чистой воды маразм. Хотя, одним маразмом больше, одним меньше - миру не привыкать.
Зато если считать все, что не понимаешь, маразмом, то жить становится легко и спокойно.
Там маразм, тут маразм, один я Д’Артаньян.
>Необходимость использования собственного браузерного ядра на основе Chromium, вместо оформления редактора в форме работающего в обычном браузере web-приложения, обусловлена необходимостью реализации дополнительных возможностей, недоступных через обычный Web API. Например, Atom предоставляет встроенный файловый менеджер и гибкие средства поиска файлов, которые невозможно реализовать при использовании обычных web-приложений.Самое тупое оправдание столетия.
"Я приварил к москвичу ядерный реактор так как надо разогревать мотор зимой."Правильно это реализуется так-
./start-server localhost:9876
default-browser http://localhost:9876
Ерунду писать не надо: секурная политика браузера вам работать с локальными файлами не даст. Точнее не даст работать js-скриптам, каковые к слову сказать вообще исполняются в собственном джайле.
И никакой проброс самописного API файловых операций в пространство имен js (через установленный плагин) вас тоже не спасет: браузер такому плагину работать не даст так же. Браузеры вообще очень нервно относятся к идеям доступа к объектам файловой системе из скриптов.
Вы кажется непоняли его. А конкретно код:
./start-server localhost:9876
default-browser http://localhost:9876
Он предложил написать сервис морда которого будет выводиться браузером.
Действительно не понял, сорри
>Необходимость использования собственного браузерного ядра на основе Chromium, вместо оформления редактора в форме работающего в обычном браузере web-приложения, обусловлена необходимостью реализации дополнительных возможностей, недоступных через обычный Web API.лол
что это типа новая операционка ? фирефокс ос емакс системд, комбайн неро
"Философия UNIX гласит:
1. Пишите программы, которые делают что-то одно и делают это хорошо.
2. Пишите программы, которые бы работали вместе.
3. Пишите программы, которые бы поддерживали текстовые потоки, поскольку это универсальный интерфейс"
А что ж у вас к ядру претензий нет?
По сравнению с тем же Linux kernel в качестве квинтэссенции анти-юникс-вея даже emacs робко бледнеет.
Претензии-то есть. Замены пока не видно.
Сделали бы его плагином к хрому - там ему самое место.
Смотрится симпатично. Посмотрим, как оно будет в действии. И мне одному данный редактор чем-то напоминает внешне одну проприетарную подделку(Sublime)? Если Atom пойдёт в массы - Sublime быстро сдаст свои позиции.
Ну вот пусть и повоюют. И Notepad++ еще с ними.
А мы посмотрим на это всё в очередной раз.
Сколько их уж было, а Emacs да Vim всё тут.
> Emacs да Vim всё тут.И Ленин.
Узнаю Опеннет! Им проект, который пилился 3 года суперзвездами современного JS/Coffeescript открыли, а народ недоволен.
Мы падаем ниц и бьемся головами об пол, рвем волосья на жoпах клочьями. Мы возопили бы о прощении - да не могем, сльозы душат...
Это к чему написано. Одно дело когда школиё пишет виджеты погоды для KDE отжирающие 100MB RSS, другое — когда чуваки, твиттеры которых вы скорее всего читаете(зачем вам Atom, если вы не кодите для Веба?) публикуют свое IDE. Кстати JS это безусловный вин — в первые дни ЗБТ в комьюнити чувствовался дым от клавиатур — комьюнити писало аддоны.
> Узнаю Опеннет! Им проект, который пилился 3 года суперзвездами современного JS/Coffeescript
> открыли, а народ недоволен.О боже... они 3 года пилили текстовый редактор на js? Вот извращенцы-то...
Там целая история за этим стоит. Первый коммит, кстати, лично от defunkt. https://github.com/atom/atom/tree/3a09528a62f29e86bc15140a13...
>лично от defunktНевероятно. И Элвис еще песню об этом сочинил.
>>Node.js is the most bad ass rock star tech to come out, since Ruby on Rails.
>As much as I want to be optimistic and look forward to human progress, people like you stop me dead in my tracks. You are fanatic in the church of technology fashion. I could present you with fact after fact after fact that your thinking about asynchronous programing is completely wrong, but why bother when you equate technology to rock bands, fancy yourself a software hipster by wearing your Node T-shirt and celebrate horrible code. Maybe you're cool. Hell, maybe you have groupies, but when it comes to knowing what the f�ck you are talking about, you have all facilities of a parrot that says non-blocking, over and over again.