# Atom (Texteditor)

Atom war ein Open-Source-Texteditor auf Basis von Electron, der von dem Projekt-Hosting-Dienst GitHub für Windows, macOS und Linux entwickelt wird. Electron besteht aus dem Webbrowser Chromium und dem JavaScript-Framework Node.js und erlaubt es, beliebige Anwendungen mit JavaScript, HTML und CSS zu erstellen. Atom integriert einen Paketmanager namens apm und Git-Versionsverwaltung. Aufgrund der Rendering-Engine als Unterbau bietet Atom Syntaxhervorhebung für viele Programmiersprachen und erlaubt den Anwendern, das Programm beliebig mit Plug-ins und Themes zu erweitern.

## Geschichte

Am 26. Februar 2014 stellte der Projekt-Hosting-Dienst GitHub eine erste Beta-Version des Texteditors vor. Zunächst sah es so aus, dass der Editor nicht unter einer Open-Source-Lizenz freigegeben werden würde. Anfangs wurden nur Erweiterungen und Pakete, die nicht Teil des Atom-Kerns sind, unter einer Open-Source-Lizenz veröffentlicht. Am 6. Mai 2014 wurde auch die restliche Atom-Software (inklusive des Kerns und der Atom Shell, jetzt Electron) unter der freien MIT-Lizenz veröffentlicht.
Am 26. Juni 2015 wurde die Version 1.0 veröffentlicht. Von Version 1.2.0 an wird automatischer Zeilenumbruch bei CJK-Zeichen unterstützt.
Die erste stabile Version 1.5 wurde am 9. Februar 2016 veröffentlicht. Die Version 1.6 unterstützt Block Decorations.
Version 1.9 unterstützt Display Layers, außerdem lässt sich das Layout nun per Drag and Drop anpassen.
Am 8. Juni 2022 hat das GitHub-Team angekündigt, dass die Arbeit am Editor zum 15. Dezember eingestellt wird („Sunsetting Atom“). Damit verbunden ist eine Fokussierung auf die GitHub Codespaces.
Gleichzeitig arbeitet ein Teil des ehemaligen Entwickler-Teams an einem neuen Editor zed, der in Rust implementiert wird und eine wesentliche Beschleunigung gegenüber Atom bringen soll.
Nach der Ankündigung der Einstellung des Atom Editor wurde ein Fork des Projektes unter dem Namen Pulsar Editor gestartet.

## Funktionsumfang

Atom macht mit seinen Editorfunktionen Anleihen bei Sublime Text und ist eng mit GitHub verzahnt. Einen Überblick über den Funktionsumfang kann man sich mit der Kommandopalette verschaffen, über deren Volltextsuche sich Befehle und Tastaturkommandos anzeigen lassen, sodass man überwiegend ohne Maus arbeiten kann. Zu den Grundfunktionen gehören unter anderem eine Kommandopalette, Syntaxhervorhebung, automatische Sprachenerkennung, Code-Faltung, automatische Textvervollständigung, projektweites Suchen und Ersetzen, Shell-Kommandos, Snippet-Unterstützung, multiple Fenster (Panes) und eine leistungsstarke Fuzzy-Suche.
Multiple Cursors und Selektionen wurden von Sublime entlehnt. Mit Atom lassen sich plattformübergreifende Desktop- und Web-Apps entwickeln. Dafür stehen in den integrierten Entwicklungsumgebungen Grammatiken für zahlreiche Programmiersprachen zur Verfügung, wie JavaScript, Perl, Python, C, C++ oder Java. Außer als Code-Editor eignet sich Atom auch als normales Textwerkzeug, etwa für Projektdokumentationen oder Blog-Einträge.

## Privatsphäre

In den frühen Jahren von Atom entstand eine Diskussion über zwei Pakete, welche diverse Dateien an externe Server sendeten, jedoch wurde beim offiziellen Launch eine Erklärung mitgegeben, welche lautet:
* Metrische Pakete: Berichte über die Nutzungstatistiken werden mittels Google Analytics ermittelt. In Version 1.31.0 wurde diese Funktion entfernt und die Informationen werden direkt an die Analysesoftware von GitHub gesendet. Dabei wird eine einzigartige zufällige Nummer zur Identifikation mitgesendet. Laut den Entwicklern dient das zur Optimierung und Ermittlung der beliebtesten Funktionen.
* Ausnahmebericht-Pakete: Berichte von nicht ermittelbaren Fehlern beim Ablauf werden an Bugsnag gesendet.

## Packages und Themes

Auf der Atom-Website sind über 8.000 Erweiterungen und 2.700 Themes abrufbar. Die Packages und Themes lassen sich über den internen Paketmanager verwalten.

## Electron

Atom ist eng mit der Entwicklung von Electron verbandelt. Electron, früher Atom Shell, wurde von der heutigen Microsoft-Tochter GitHub als Unterbau für den Editor entwickelt. Ein anderes Produkt, ebenfalls von Microsoft, Visual Studio Code, basiert ebenfalls auf Electron.

## Lizenz

Ursprünglich wurden alle Erweiterungen und weitere Elemente, die nicht zum Atom Core gehören, unter einer Open-Source-Lizenz veröffentlicht. Am 6. Mai 2014 wurde auch die Kernapplikation, deren Paketmanager und das Desktopframework Electron als kostenlose Open-Source-Software unter der MIT-Lizenz veröffentlicht.