Zusätzlich zu den Punkten aus früheren Antworten lohnt es sich, die Unterschiede zwischen diesen beiden Produkten im Hinblick auf die in ihrer Entwicklung getroffenen Entscheidungen zu klären.
Sublime ist binär für die Plattform kompiliert. Sein Kern ist in C / C ++ geschrieben und einige seiner Funktionen sind in Python implementiert, der Sprache, die auch für die Erweiterung verwendet wird. Atom ist in Node.js / Coffeescript geschrieben und läuft unter Webkit, wobei Coffeescript die Erweiterungssprache ist. Obwohl Sublime in UI und UX ähnlich ist, bietet es eine deutlich bessere Leistung als Atom, insbesondere beim "Heavy Lifting" wie dem Arbeiten mit großen Dateien, komplexen SnR oder Plugins, die Dateien / Puffer stark verarbeiten. Obwohl ich im Laufe der Zeit Verbesserungen in Atom erwarte, schränken Design- und Plattformoptionen die Leistung ein.
Der "geschlossene" Teil von Sublime enthält die API und die Benutzeroberfläche. Abgesehen von Skins / Themes und Colourisern macht es die API derzeit schwierig, andere Aspekte der Benutzeroberfläche zu ändern. Zum Beispiel können Sublime-Plugins nicht mit der Seitenleiste interagieren, den Bearbeitungsbereich steuern oder zeichnen (außer auf begrenzte Weise, z. B. in der Gosse) oder die Statusleiste über den Basistext hinaus bearbeiten. Atoms "geschlossener" Teil ist im Moment unbekannt, aber ich habe das Gefühl, dass er kleiner ist.Atom verfügt über eine umfangreichere API (obwohl derzeit nur unzureichend dokumentiert) mit dem Entwurfsziel, eine bessere Kontrolle über die Benutzeroberfläche zu ermöglichen. Die enge Verbindung mit dem Webkit bietet zahlreiche Funktionen für Verbesserungen der Benutzeroberflächenfunktionen, die mit Sublime derzeit nicht möglich sind. Die Erweiterungen von Sublime sind jedoch näher an der ursprünglichen Leistung, sodass diejenigen, die rechenintensive, sich stark wiederholende oder komplexe Textmanipulationen in großen Puffern ausführen, in Sublime möglich sind.
Da mehr von Atom geöffnet sein werden, hat Github am 6. Mai Open-Source-Atom. Infolgedessen ist es wahrscheinlich, dass die Unterstützung und das Entwicklungstempo schnell sein werden. Im Gegensatz dazu hat sich die Entwicklung von Sublime in letzter Zeit erheblich verlangsamt - aber es ist nicht tot . Insbesondere gibt es eine Reihe von Fehlern, von denen viele recht trivial sind und die vom Entwickler nicht behoben wurden. Keiner ist imo auffällig, aber wenn Sie etwas in schneller Entwicklung mit regelmäßigen Bugfixes und Verbesserungen wollen, wird Sublime frustrieren. Allerdings müssen installierbare Atom-Pakete für Windows und Linux noch veröffentlicht werden, und die Aktivitäten auf der Codebasis scheinen sich laut Githubs Statistiken in den Wochen vor und nach der Ankündigung abgekühlt zu haben.
In Bezug auf IDE-Funktionen wird Atom aus Webdev-Sicht Erweiterungen zulassen, um Produkte wie Webstorm zu erreichen, obwohl noch keine erschienen sind. Es bleibt abzuwarten, wie Atom mit solch "schweren" Erweiterungen abschneiden wird, da sich der Editor von Natur aus träge fühlt. Aufgrund von Einschränkungen in der API und des Fehlens des zugrunde liegenden Webkits lässt Sublime diese Stufe der Anpassung der Benutzeroberfläche nicht zu, obwohl der Entwickler die API möglicherweise erweitern wird, um solche Funktionen in Zukunft zu unterstützen. Auch hier ermöglicht die zugrunde liegende Leistung von Sublime Dinge, die ein rechnerisches Grunzen beinhalten. Die Symbolindizierung von ST3 ist ein Beispiel, das auch bei großen Projekten eine gute Leistung erbringt. Und obwohl die Benutzeroberfläche von Atom sicherlich Sublime nachempfunden ist, fehlen einige Verbesserungen merklich, wie z. B. Sublime '.
Ich sehe diese Produkte als komplementär. Die Tatsache, dass sie ähnliche Grafiken und Tastenanschläge verwenden, trägt nur zur Tatsache bei. Es wird Situationen geben, in denen die Verwendung von beidem Vorteile hat. Derzeit ist Sublime ein ausgereiftes Produkt mit Funktionsparität auf allen drei Plattformen und einer Vielzahl von Plugins. Atom ist das neue Kind, dessen Gesichtszüge schnell wachsen werden. Es fühlt sich noch nicht produktionsbereit an und es gibt Bedenken im Bereich der Leistung.
[Update / Bearbeiten: 18. Mai 2015]
Ein Hinweis zu Verbesserungen an diesen beiden Editoren seit dem Zeitpunkt des Schreibens des oben genannten.
Zusätzlich zu Bugfixes und Verbesserungen des Kerns verzeichnete Atom ein schnelles Wachstum bei Erweiterungen von Drittanbietern, wobei Autocomplete-Plus Teil der Standard-Atom-Distribution wurde. Die Erweiterungsqualität ist sehr unterschiedlich und eine besondere Irritation ist die Häufigkeit, mit der instabile Pakete von Drittanbietern den Editor zum Absturz bringen können. Innerhalb des letzten Jahres hat Atom React verwendet, um Reflow- / Repaint-Aktivitäten aus Leistungsgründen auf die GPU zu verlagern und die Reaktionsfähigkeit der Benutzeroberfläche für typische Bearbeitungsaktionen (Scrollen, Cursorbewegung usw.) erheblich zu verbessern. Dies hat zwar das Gefühl des Editors deutlich verbessert, fühlt sich jedoch für CPU-intensive Aufgaben wie oben beschrieben immer noch umständlich an und ist beim Start immer noch langsam. Abgesehen von Leistungsverbesserungen fühlt sich Atom auf ganzer Linie deutlich stabiler.
Die Entwicklung von Sublime hat seit Januar 2015 wieder Fahrt aufgenommen, mit Bugfixes, einigen geringfügigen neuen Funktionen (Tooltip-API, Verbesserungen des Build-Systems) und einer wichtigen Entwicklung in Form einer neuen yaml-basierten .sublime-Syntax-Definition (um schließlich die alte zu ersetzen) xml .tmLanguage). Zusammen mit einer benutzerdefinierten Regex-Engine, die Onigurama ersetzt, bietet das neue System mehr Potenzial für eine präzise Regex-Anpassung, ist erheblich schneller (bis zu 4x) und kann mehrere Übereinstimmungen parallel durchführen. Neben der Farbsyntax verwendet Sublime diese Komponenten für die Symbolindizierung (gehe zur Definition usw.) und andere sprachbezogene Funktionen. Zusätzlich zur weiteren Beschleunigung von Sublime, insbesondere für große Dateien, sollte diese Funktion das Potenzial für performante sprachspezifische Funktionen wie Code-Refactoring usw. eröffnen. Weitere "große Entwicklungen" werden versprochen.