web-dev-qa-db-ger.com

Was ist der Unterschied zwischen Sublime Text und Githubs Atom

Github hat Atom angekündigt, was Sublime sehr ähnlich ist. Sogar einige Tastaturkürzel mögen ⌘ + P⌘ + Shift + P usw. sind gleich.

  1. Wie unterscheidet sich Atom von Sublime?
  2. Enthält es IDE Funktionen wie Build-Tools, Funktionsdefinitionssprünge, Dokumentationen usw.?
  3. Hat jemand, der Sublime verwendet, eine Beta-Einladung erhalten, um auf die Unterschiede hinzuweisen?
  4. Kann ich die Designs, Schemata und Pakete von Sublime so verwenden, wie es Sublime mit text mate tun könnte?.

Atom Shell1

PS: Bild in neuem Tab öffnen für größere Auflösung.

337
Om Shankar
  1. Wie unterscheidet sich Atom von Sublime?
    • Atom ist ein Open Source-Texteditor/IDE, der auf JavaScript/HTML/CSS basiert.
    • Sublime Text ist ein kommerzielles Produkt, das auf C/C++ und Python basiert.
    • Vergleichbar mit Atom ist Adobe Brackets , ein weiterer Open-Source-Texteditor/IDE, der auf JavaScript/HTML/CSS basiert. Beachten Sie, dass Brackets dadurch stärker auf die Webentwicklung ausgerichtet ist, insbesondere im Frontend.
    • Vorteile von Open-Source-Projekten sind eine schnellere Entwicklungsrate und natürlich ein höherer Preis.
  2. Enthält es IDE Funktionen wie Build-Tools, Funktionsdefinitionssprünge, Dokumentationen usw.?[.____]
    • Die kurze Antwort lautet ja, ja und ja. Die App ist komplett modular aufgebaut. Open Source gibt den Menschen die Freiheit, die Lücken in einigen dieser Funktionen zu schließen.
  3. Hat jemand, der Sublime verwendet, eine Beta-Einladung erhalten, um auf die Unterschiede hinzuweisen?
    • Die Vorteile von Atom liegen in der Hackbarkeit auf Einstiegsebene, da es auf demselben Code basiert, der Websites antreibt.
    • Die Vorteile von Sublime Text liegen in der Leistung, da es nicht auf Node.js ausgeführt werden muss und ein ausgereifteres Produkt ist, um eine stabile Version 3 zu erreichen.
    • Es gibt eine lange Liste von geringfügigen Unterschieden, die in den Kommentaren enthalten sein können (ich wünschte, dieser Abschlag könnte eine Tabelle für Vergleiche zeichnen, aber das ist ein anderes Problem).
    • Aufgrund der schnellen Beteiligung von Atom befürchte ich, dass einige der hier aufgeführten Unterschiede im Laufe der Zeit veraltet sein werden. Beispielsweise ist Atom zum Zeitpunkt des Schreibens nur auf dem Macintosh verfügbar, während Sublime Text bereits für mehrere Plattformen verfügbar ist.
  4. Kann ich die Designs, Schemata und Pakete von Sublime so verwenden, wie es Sublime mit Text Mate tun könnte?
    • Die kurze Antwort lautet "Nein". Aufgrund der Hackbarkeit von Atom ist es jedoch einfach, Pakete von anderen Editoren auf Atom umzustellen.
125
harrypujols

Zusätzlich zu den Punkten aus früheren Antworten ist es wert, die Unterschiede zwischen diesen beiden Produkten aus der Perspektive der Entscheidungen zu verdeutlichen, die in ihrer Entwicklung getroffen wurden.

Sublime ist für die Plattform binär kompiliert. Sein Kern ist in C/C++ geschrieben, und einige seiner Funktionen sind in Python implementiert, das auch die Sprache ist, mit der er erweitert wurde. Atom ist in Node.js/Coffeescript geschrieben und läuft unter Webkit, wobei Coffeescript die Erweiterungssprache ist. Obwohl in UI und UX ähnlich, ist Sublime deutlich leistungsfähiger als Atom, insbesondere beim "Heavy Lifting" wie der Arbeit mit großen Dateien, komplexem SnR oder Plugins, die eine starke Verarbeitung von Dateien/Puffern ausführen. Obwohl ich Verbesserungen bei Atom erwarte, schränken Design und Plattformauswahl die Leistung ein.

Der "geschlossene" Teil von Sublime enthält die API und die Benutzeroberfläche. Abgesehen von Skins/Themes und Farbgebern macht es die API derzeit schwierig, andere Aspekte der Benutzeroberfläche zu ändern. Beispielsweise können Sublime-Plugins nicht mit der Seitenleiste interagieren, den Bearbeitungsbereich steuern oder darauf zeichnen (außer auf einige eingeschränkte Arten, z. B. in der Rinne) oder die Statusleiste über den Basistext hinaus manipulieren. Atoms "geschlossener" Teil ist im Moment unbekannt, aber ich habe das Gefühl, dass er kleiner ist. Atom verfügt über eine reichhaltigere API (obwohl derzeit nur unzureichend dokumentiert) mit dem Designziel, eine bessere Kontrolle über die Benutzeroberfläche zu ermöglichen. Die enge Verknüpfung mit dem Webkit bietet zahlreiche Funktionen für Verbesserungen der Benutzeroberfläche, die derzeit mit Sublime nicht möglich sind. Die Erweiterungen von Sublime sind jedoch eher nativ, sodass in Sublime auch solche möglich sind, die rechenintensive, sich stark wiederholende oder komplexe Textmanipulationen in großen Puffern ausführen.

Da mehr von Atom offen sein wird, Github Open-Sourcing Atom am 6. Mai. 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 trivial sind und die vom Entwickler nicht behoben wurden. Keiner ist auffällig imo, aber wenn Sie etwas in rasanter Entwicklung mit regelmäßigen Bugfixes und Verbesserungen wollen, wird Sublime frustrieren. Das gesagt, installierbare Atom Pakete für Windows und Linux müssen noch veröffentlicht werden und Laut Githubs Statistiken scheint sich die Aktivität auf der Codebasis in den Wochen vor und nach der Ankündigung abgekühlt zu haben.

In Bezug auf IDE Funktionen wird Atom aus Sicht von webdev Erweiterungen bis hin zu Produkten wie Webstorm zulassen, obwohl noch keine aufgetaucht sind. Es bleibt abzuwarten, wie Atom mit solch "schweren" Erweiterungen abschneiden wird, da der Editor sich von Haus 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 Benutzeroberflächenanpassung nicht zu, obwohl der Entwickler die API möglicherweise erweitert, um solche Funktionen in Zukunft zu unterstützen. Auch hier ermöglicht die zugrunde liegende Leistung von Sublime Dinge, die ein Grunzen am Computer beinhalten. Die ST3-Symbolindizierung ist ein Beispiel, das auch bei großen Projekten eine gute Leistung erbringt. Und obwohl die Benutzeroberfläche von Atom zweifellos Sublime nachempfunden ist, fehlen einige Verbesserungen, wie z. B. die Lernfelder von Sublime und Popups mit vollständigen Registerkarten, in denen die Standardeinstellungen entsprechend den von Ihnen am häufigsten verwendeten Popups gewichtet werden.

Ich sehe diese Produkte als Ergänzung. Die Tatsache, dass sie ähnliche visuelle Elemente und Tastatureingaben verwenden, trägt ebenfalls zur Tatsache bei. Es wird Situationen geben, in denen die Verwendung von beidem Vorteile hat. Derzeit ist Sublime ein ausgereiftes Produkt mit Feature-Parität für alle drei Plattformen und einer Vielzahl von Plugins. Atom ist das neue Kind, dessen Eigenschaften schnell wachsen werden; es fühlt sich noch nicht produktionsbereit an und es gibt Bedenken im Bereich der Leistung.

[Update/Edit: 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 im Kern verzeichnete Atom ein schnelles Wachstum bei Erweiterungen von Drittanbietern, wobei Autocomplete-Plus Teil der Standard-Atom -Distribution wurde. Die Qualität der Erweiterungen ist sehr unterschiedlich und eine besondere Störung ist die Häufigkeit, mit der instabile Pakete von Drittanbietern den Editor zum Absturz bringen können. Im letzten Jahr hat Atom die Verwendung von React eingeführt, um die Reflow-/Repaint-Aktivität aus Leistungsgründen auf die GPU zu verlagern und die Reaktionsfähigkeit der Benutzeroberfläche für typische Bearbeitungsaktionen erheblich zu verbessern ( Scrollen, Cursorbewegung usw.). Obwohl dies das Gefühl des Editors deutlich verbessert hat, fühlt es sich für CPU-intensive Aufgaben, wie oben beschrieben, immer noch umständlich an und ist beim Starten immer noch langsam. Abgesehen von Leistungsverbesserungen fühlt sich Atom auf der ganzen Linie deutlich stabiler an.

Die Entwicklung von Sublime hat seit Januar 2015 wieder Fahrt aufgenommen, mit Bugfixes, einigen kleinen neuen Funktionen (Tooltip-API, Verbesserungen beim Erstellen von Systemen) und einer wichtigen Entwicklung in Form einer neuen yaml-basierten .sublime-Syntax-Definition (um eventuell 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 deutlich schneller (bis zu 4x) und kann mehrere Übereinstimmungen parallel ausführen. Abgesehen von der Farbsyntax verwendet Sublime diese Komponenten für die Symbolindizierung (Gehe zu Definition usw.) und andere sprachabhängige 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" sind versprochen, obwohl der Autor nach wie vor dicht über sie gelippt.

167
sebt

Atom wird mit Node.js, CoffeeScript und LESS geschrieben. Es ist dann in einen WebKit-Wrapper eingebunden, der ursprünglich nur für OSX verfügbar war, obwohl jetzt auch eine Windows-Version verfügbar ist. (Die Linux-Version muss aus dem Quellcode erstellt werden, aber es gibt eine PPA für Ubuntu-Benutzer.)

Viele der Architekturen und Funktionen wurden von Sublime Text dupliziert, weil sie sich bewährt haben. Das Plug-in-System funktioniert fast genauso, eröffnet aber eine Menge neuer Funktionen und Potenziale, indem auch neue APIs verfügbar gemacht werden.

Ich glaube, dass die Verknüpfungen aufgrund des Muskelgedächtnisses größtenteils gleich bleiben - die Leute werden sich an sie erinnern und in der Lage sein, sofort mit Atom zu klicken.

Die Einstellungen können über eine grafische Benutzeroberfläche gesteuert werden, anstatt JSON direkt zu bearbeiten. Dies kann die Einstiegshürde für den Einstieg in Atom verringern. Ich selbst finde es schwierig, alle zu navigieren, da es in den Einstellungen keine Suchfunktion gibt.

Sie können sich für eine Einladung im Kanal ## atom-invites IRC anmelden oder sich auf der Website anmelden und Ihre E-Mail hinzufügen. Die erste Einladungsrunde ging schnell vorbei.

129
James

Atom ist Open Source (seit einigen Stunden), Sublime Text hingegen nicht.

56
bhell

Hier sind einige Unterschiede zwischen den beiden:






* Obwohl APM ein separates Tool ist, wird es mit Atom gebündelt und automatisch installiert

Atom wurde von Github erstellt und enthält "Git Awareness". Das ist eine Funktion, die mir sehr gefällt:

enter image description here

Außerdem werden die Dateien im Git-Baum hervorgehoben, die sich je nach Commit-Status in verschiedenen Farben geändert haben:

enter image description here

12
joscas

Ich habe gerade meine Beta-Einladung erhalten und habe Atom sofort ausprobiert. Die GUI fühlt sich wie Sublime an, und ja, es gibt einige Shortcuts, die von Sublime übernommen wurden.

Abgesehen von allem, was oben erwähnt wurde, sind hier einige Unterschiede, die ich bisher bemerkt habe:

  1. Der Vim-Modus ist nicht so gut wie der Vintage-Modus auf Sublime (der auch kein voll funktionsfähiger Vim ist), da sich das Vim-Paket in einem frühen Entwicklungsstadium befindet. Siehe https://atom.io/packages/vim-mode für Details.

  2. Wie James erwähnte, wird Atom mit Web-Tools geschrieben, sodass Sie auf das Stylesheet des Texteditors (styles.less) zugreifen können, um mit CSS das gewünschte Erscheinungsbild zu ändern. Es gibt auch eine Option, um das Start-CoffeeScript zu ändern.

  3. Da sich Atom noch in der Beta-Phase befindet, verfügt Sublime über wesentlich mehr native Plugin-Pakete. Da jedoch Atom in Node.js geschrieben ist, heißt es auf der Atom offiziellen Website, dass Sie "aus über 50.000 im Paket-Repository von Node auswählen können". (Da ich kein Node.js-Profi bin, habe ich mir diese Funktion nicht angesehen.)

  4. Atom hat eine bessere Github-Unterstützung, aber Sublime hat mehrere Git-Pakete.

  5. Sublime ist eine bezahlte, unbefristete Testversion. Atom ist in der Beta-Phase kostenlos, aber wir wissen nicht, ob Github es aufladen möchte oder nicht.

Das Fazit lautet also Atom ist ein Texteditor, der in der Beta-Phase mit Web-Technologie erstellt wurde. Im Gegensatz dazu hat sich Sublime durch viele verschiedene Iterationen entwickelt. Atom fehlen immer noch viele Pakete, die Sublime unterstützt. Die Frage ist also, ob Atom Sublime einholt oder besser wird. Github scheint aufgrund seiner weit verbreiteten Technologien zuversichtlich in die Zukunft dieses Texteditors zu blicken, und Atom wird auf lange Sicht wahrscheinlich eine gute Alternative zu Sublime sein.

11
Keeeeeenw

Ein weiterer Unterschied ist, dass Sublime-Text ein Closed-Source-Projekt ist, während Atom -Quellcode öffentlich verfügbar ist/sein wird - obwohl Github nicht plant, ihn als echtes Open-Source-Projekt zu veröffentlichen. Sie möchten den Code zugänglich machen, ohne ihn für Beiträge zu öffnen.

Github hat den Code veröffentlicht: http://blog.atom.io/2014/05/06/atom-is-now-open-source.html

10

Ich habe Atom ausprobiert und es sieht wirklich gut aus, ABER es gibt ein Hauptproblem (zumindest in Version 0.84):

Die vertikale Auswahl wird nicht unterstützt Alt+ Ziehen - das ist ein Muss für jeden modernen Code-Editor.

6
Pavel Nikolov

Atom ist noch in der Beta (v0.123, während ich das schreibe), aber es geht schnell voran. Weit schneller als Sublime. Neue Builds werden wöchentlich veröffentlicht, manchmal sogar wenige in derselben Woche. In seiner kurzen Lebensdauer gab es mehr Releases als Sublime, was Monate in Anspruch nimmt, um eine neue Funktion oder eine Fehlerbehebung zu veröffentlichen. Hier ist eine aktualisierte Version der Dinge, die auf den Pfad zurückblicken, den Atom seit dem Start der Beta eingeschlagen hat:

  1. Sublime bietet eine bessere Leistung als Atom. Einfach weil es in C++ geschrieben ist. Atom ist eine webbasierte Desktop-App, die auf Chromium basiert. Obwohl die Leistung sehr hoch ist, wird es wirklich schwierig oder sogar unmöglich sein, dieselbe Geschwindigkeit und Reaktionsgeschwindigkeit zu erreichen. Letzten Juli hat Atom damit begonnen, React zu verwenden, und es hat einen netten Leistungsschub gebracht, aber man spürt immer noch den Unterschied. Abgesehen davon, wenn die Leistungsprobleme von Atom die Benutzer nicht abschrecken - Sublime beschleunigt den Veröffentlichungszyklus, verbessert die kleinen UX-Optimierungen und erwägt, mehr Mitwirkende einzubeziehen, da hier Atom gewinnt.

  2. Das Paket-Ökosystem von Atom wächst ebenfalls sehr schnell. Es ist möglicherweise momentan nicht so groß wie das von Sublime, aber ich habe das Gefühl, dass es mit GitHub auf seiner Rückseite noch schneller wachsen wird. Es hat wahrscheinlich die meisten IDE ähnlichen Plug-Ins, die Sie sich vorstellen können. Ein wesentlicher Unterschied ist derzeit, dass es keine Dateien größer als 2 MB verarbeiten kann.

  3. Das einzige, was Sie zuerst bemerken werden, ist, dass die Sublime-Minikarte weg ist! Abgesehen davon ist der erste Eindruck, dass Atom fast genauso aussieht wie Sublime. Ich habe in diesem Blog-Beitrag einen ausführlicheren Vergleich darüber geschrieben.

  4. Es ist keine einfache Möglichkeit, Ihre Sublime-Konfigurationen, -Pakete und so weit ich weiß, zu portieren.

5
tkfx

Ein wesentlicher Unterschied ist die Unterstützung von "Indic Fonts", auch bekannt als "South Asian Scripts" (einschließlich südostasiatischer Sprachen wie Khmer, Lao, Myanmar und Thai). Es gibt auch eine viel bessere Unterstützung für ostasiatische Sprachen (Chinesisch, Japanisch, Koreanisch). Hierbei handelt es sich um bekannte Fehler (tatsächlich die am höchsten bewerteten Fehler), die seit Jahren auftreten (es scheint, dass die ostasiatische Sprachunterstützung früher besser funktioniert hat, jetzt aber schwierig zu verwenden ist):

2
jeffmcneill

Ein Hauptunterschied, auf den noch niemand hingewiesen hat und der für manche Menschen wichtig sein könnte, ist, dass (zumindest unter Windows) Atom andere Tastaturlayouts als US nicht vollständig unterstützt. Es gibt einen Fehlerbericht mit ein paar hundert Beiträgen, der seit mehr als einem Jahr geöffnet ist ( https://github.com/atom/atom-keymap/issues/35 ).

Könnte bei der Auswahl eines Editors relevant sein.

2
Dakkaron

BEACHTUNG ::

- Aufgrund des schlecht gemachten Caching-Systems kommt es in Atom häufig zu Datenverlusten, wenn große Dateien verwendet werden.

Es wurde mehrfach bewiesen.

2
Pian0_M4n

Ich arbeite in wenig extremer Umgebung. Bearbeiten Sie Dateien auf einem entfernten Dateisystem (sicher ein externes Netzwerk), das auf meinem Laptop über ssh (aka. sshfs) eingehängt ist. Unabhängig davon, warum ich so vorgehe, ist es bei Verwendung von Sublime Text 2 ziemlich essbar, auch wenn es sehr umständlich ist, darauf zu reagieren.

Nachdem ich diesen Beitrag gelesen hatte, versuchte ich es mit Atom, aber es stellte sich für mich als etwas schmerzhaft heraus. Atom scheint die Verzeichnisstruktur nicht so effizient zwischenzuspeichern. Jedes Mal, wenn ich einen Ordner in der Strukturansicht erweitere, friert die Benutzeroberfläche für kurze Zeit (2 bis 3 Sekunden) ein und ruft möglicherweise Informationen zum Dateisystem ab. Ja, weil ich ein Remote-Dateisystem verwende. Aber Sublime geht effizienter damit um, zumindest friert es nicht jedes Mal ein, wenn ich einen Ordner erweitere, und ist daher weniger schmerzhaft.

Ich denke, Atom ist höllisch schön umsonst, und meine Geschichte ist trivial und könnte eines Tages verbessert werden, aber es wäre zu diesem Zeitpunkt für jemanden hilfreich.

-

hinzugefügt am 26.08.2014

Kürzlich habe ich meinen Laptop spät von Macbook Air 2010 auf Macbook Pro 13 "2013 spät umgestellt. Es hat wahrscheinlich eine viermal schnellere CPU und viele Leistungsverbesserungen. Ich möchte erwähnen, dass es sich bei meiner Meinung um den Fall handelt, WENN SIE FERNDATEISYSTEM EINBAUEN. (unter Verwendung von OS X Mavericks, der neuesten Version von Atom, Fuse 2.7.3/OSXFUSE 2.6.4/sshfs 2.5.0 und dem Remotesystem ist Ubuntu-Server) Schließlich wird das Einfrieren der Benutzeroberfläche ziemlich kürzer, aber Es ist immer noch da. Insbesondere zum Öffnen eines Ordners mit vielen Ordnern/Dateien und einem Index ist eine gewisse Zeit erforderlich. Wenn Sie einen Ordner voller Dateien erweitern, kommt es nur zu Verzögerungen (wenn der Ordner minimiert wird) nicht)

Laut @EliDuenisch scheint es auf Linux Mint nicht zu passieren. Ich bin nicht sicher, aber es könnte vom Unterschied zwischen Betriebssystemen herrühren. Wenn Sie mit dem lokalen Dateisystem arbeiten, müssen Sie sich um dieses Problem sicherlich überhaupt nicht kümmern.

2
Kenial