Atom (текстовий редактор)
Atom — розроблений компанією «GitHub» вільний текстовий редактор і редактор коду, який може використовуватися як самодостатнє рішення, так і у ролі технологічного стека для побудови різних спеціалізованих рішень. Зокрема, на платформі Atom побудовані середовища розробки «Visual Studio Code» від компанії «Microsoft» і «Nuclide» від «Facebook».
| |
Atom на GNOME 3 | |
Тип | інтегроване середовище розробки |
---|---|
Розробник | GitHub Inc. |
Перший випуск | 26 лютого 2014[1] |
Стабільний випуск | 1.58 (27 липня 2021 ) |
Репозиторій | github.com/atom/atom |
Операційна система | OS X 10.8 або пізніші, Windows 7, 8, 10 Linux |
Мова програмування | C++ / Node.js / CoffeeScript / JavaScript / CSS / HTML |
Стан розробки | активний |
Ліцензія | MIT License (вільне програмне забезпечення) |
Вебсайт | atom.io |
Atom у Вікісховищі |
Проєкт був представлений компанією GitHub у лютому 2014 року.[1] Перший стабільний випуск 1.0 побачив світ 25 червня 2015-го.[2][3] Сирцевий код проєкту поширюється під ліцензією «MIT».
Про редактор
Atom надає засоби кросплатформового редагування коду, включає вбудований пакетний менеджер і інтерфейс навігації файловою системою, надає засоби для одночасної спільної роботи з кодом, має інтелектуальну систему автодоповнення вводу, надає режими сумісності з Vim і Emacs, підтримує API для розробки розширень. Кілька файлів можуть бути відкриті в різних вкладках і одночасно показані з використанням вертикального або горизонтального розбиття панелей. Інтерфейс може налаштовуватися через теми оформлення, підтримуються вкладки, закладки, розумний контекстний пошук коду, схлопування блоків коду, одночасне використання декількох курсорів і областей виділення, наочна позначка змін, автодоповнення та перевірка коду для різних мов (Ruby, Python, SQL, PHP, Perl, Objective-C, C/C++, JavaScript, Java, Go тощо). Для формування статей та документації може бути використана розмітка Markdown.
Функціональність редактора формується внаслідок надання набору пакетів-доповнень, для установки яких пропонується вбудований пакетний менеджер apm, схожий на npm від проєкту Node.js. Формат пакунків аналогічний npm і відрізняється наданням деяких додаткових блоків для визначення меню, стилів, клавіатурних комбінацій, завдання логіки активації. Розробка доповнень мало чим відрізняється від створення програми для Node.js, у тому числі доступні всі модулі Node.js, а також популярні JavaScript-бібліотеки, такі як jQuery, Underscore і SpacePen. Через доповнення реалізовані всі функції, що виходять за рамки базового редагування коду, в тому числі панелі, підсвічування синтаксису, оформлення інтерфейсу, форми роботи з файлами тощо. Крім базових доповнень надається каталог сторонніх пакетів, в якому вже присутні понад дві тисяч доповнень і майже сімсот тем оформлення.
Основу Atom становить компонент Electron (раніше Atom Shell), що становить собою засноване на Chromium і Node.js ядро, поверх якого реалізований редактор. Electron поставляється у формі самодостатнього фреймворку, який можна використовувати для створення довільних користувацьких застосунків, логіка роботи якого визначається на JavaScript, HTML і CSS, а функціональність може бути розширена через систему доповнень. Розробникам доступні модулі Node.js, а також розширений API для формування нативних діалогів, інтеграції застосунків, створення контекстних меню, маніпуляції вікнами, взаємодії з підсистемами Chrome.
Необхідність використання власного браузерного ядра на основі Chromium, замість оформлення редактора у формі вебзастосунку, що працює у звичайному браузері, обумовлена необхідністю реалізації додаткових можливостей, недоступних через звичайний Web API. Наприклад, Atom надає вбудований файловий менеджер і гнучкі засоби пошуку файлів, які неможливо реалізувати при використанні звичайних вебзастосунків. У редакторі також безпосередньо використовуються деякі внутрішні підсистеми Chromium, такі як рушій обробки регулярних виразів і нативні елементи формування діалогів. Крім того, оскільки компоненти Atom завжди виконуються локально, спрощується розробка доповнень, звернення до ресурсів і розмежування доступу.
Примітки
- Introducing Atom. Atom Blog (англ). 26 лютого 2014. Процитовано 27 червня 2015.
- Announcing Atom 1.0. GitHub. 25 червня 2015. Процитовано 27 червня 2015.
- GitHub выпустил среду редактирования кода Atom 1.0. OpenNET. 25 червня 2015. Процитовано 27 червня 2015.