En plus des points des réponses précédentes, il convient de clarifier les différences entre ces deux produits du point de vue des choix opérés dans leur développement.
Sublime est un binaire compilé pour la plateforme. Son noyau est écrit en C / C ++ et un certain nombre de ses fonctionnalités sont implémentées en Python, qui est également le langage utilisé pour l'étendre. Atom est écrit en Node.js / Coffeescript et fonctionne sous webkit, Coffeescript étant le langage d'extension. Bien que similaire en UI et UX, Sublime fonctionne bien mieux qu'Atom, en particulier dans les "gros efforts" comme travailler avec des fichiers volumineux, des SnR complexes ou des plugins qui effectuent un traitement lourd sur les fichiers / tampons. Bien que j'attende des améliorations dans Atom à mesure qu'il grandit, les choix de conception et de plate-forme limitent les performances.
La partie "fermée" de Sublime comprend l'API et l'interface utilisateur. Hormis les skins / thèmes et les coloriseurs, l'API rend actuellement difficile la modification d'autres aspects de l'interface utilisateur. Par exemple, les plugins Sublime ne peuvent pas interagir avec la barre latérale, contrôler ou dessiner sur la zone d'édition (sauf de certaines manières limitées, par exemple dans la gouttière) ou manipuler la barre d'état au-delà du texte de base. La partie "fermée" d'Atom est inconnue pour le moment, mais j'ai l'impression qu'elle est plus petite.Atom possède une API plus riche (bien que peu documentée à l'heure actuelle) dans le but de permettre un meilleur contrôle de son interface utilisateur. Le fait d'être étroitement associé à webkit offre de nombreuses capacités d'amélioration des fonctionnalités de l'interface utilisateur qui ne sont pas actuellement possibles avec Sublime. Cependant, les extensions de Sublime fonctionnent plus près du natif, donc celles qui effectuent des manipulations de texte complexes, très répétitives ou complexes dans de grands tampons sont possibles dans Sublime.
Étant donné que davantage d'Atom sera ouvert, Atom Github open source le 6 mai. En conséquence, il est probable que le soutien et le rythme de développement seront rapides. En revanche, le développement de Sublime a considérablement ralenti récemment - mais il n'est pas mort . En particulier, il y a un certain nombre de bugs, dont beaucoup assez triviaux, qui n'ont pas été corrigés par le développeur. Aucun ne montre l'imo, mais si vous voulez quelque chose en développement rapide avec des corrections de bugs et des améliorations régulières, Sublime sera frustrant. Cela dit, les packages Atom installables pour Windows et Linux doivent encore être publiés et l' activité sur la base de code semble avoir ralenti au cours des semaines avant et depuis l'annonce, selon les statistiques de Github.
En termes de fonctions IDE, d'un point de vue webdev, Atom permettra des extensions au point d'approcher des produits comme Webstorm, bien qu'aucune ne soit encore apparue. Il reste à voir comment Atom se comportera avec de telles extensions "lourdes", car l'éditeur se sent nativement lent. En raison des restrictions de l'API et du manque de kit Web sous-jacent, Sublime n'autorisera pas ce niveau de personnalisation de l'interface utilisateur, bien que le développeur puisse étendre l'API pour prendre en charge ces fonctionnalités à l'avenir. Encore une fois, les performances sous-jacentes de Sublime permettent des choses qui impliquent un grognement informatique; L'indexation des symboles de ST3 est un exemple qui fonctionne bien même avec de grands projets. Et bien que l'interface utilisateur d'Atom soit certainement calquée sur Sublime, certains raffinements manquent sensiblement, comme Sublime '
Je vois ces produits comme complémentaires. Le fait qu'ils partagent des visuels et des frappes similaires ne fait qu'ajouter au fait. Il y aura des situations où l'utilisation de l'un ou l'autre présente des avantages. Actuellement, Sublime est un produit mature avec une parité de fonctionnalités sur les trois plates-formes et un riche ensemble de plugins. Atom est le nouveau gosse dont les caractéristiques vont grandir rapidement; il ne se sent pas encore prêt pour la production et il y a des préoccupations dans le domaine de la performance.
[Mise à jour / modification: 18 mai 2015]
Une note sur les améliorations apportées à ces deux éditeurs depuis la rédaction de ce qui précède.
En plus des corrections de bogues et des améliorations apportées à son cœur, Atom a connu une croissance rapide des extensions tierces, la saisie semi-automatique plus faisant désormais partie de la distribution Atom standard. La qualité des extensions varie considérablement et une irritation particulière est la fréquence à laquelle les packages tiers instables peuvent planter l'éditeur. Au cours de la dernière année, Atom est passé à l'utilisation de React en déplaçant l'activité de refusion / repeinture vers le GPU pour des raisons de performance, améliorant considérablement la réactivité de l'interface utilisateur pour les actions d'édition typiques (défilement, déplacement du curseur, etc.). Bien que cela ait nettement amélioré la sensation de l'éditeur, il semble toujours lourd pour les tâches gourmandes en CPU, comme décrit ci-dessus, et est toujours lent au démarrage. Outre les améliorations des performances, Atom se sent beaucoup plus stable à tous les niveaux.
Le développement de Sublime a repris depuis janvier 2015, avec des corrections de bugs, quelques nouvelles fonctionnalités mineures (API info-bulle, améliorations du système de construction) et un développement majeur sous la forme d'une nouvelle définition de syntaxe .sublime basée sur yaml (pour éventuellement remplacer l'ancienne xml .tmLanguage). Associé à un moteur regex personnalisé qui remplace Onigurama, le nouveau système offre plus de potentiel pour une correspondance regex précise, est beaucoup plus rapide (jusqu'à 4x) et peut effectuer plusieurs correspondances en parallèle. Outre la syntaxe de coloration, Sublime utilise ces composants pour l'indexation des symboles (définition de goto, etc.) et d'autres fonctionnalités prenant en charge le langage. En plus d'accélérer davantage Sublime, en particulier pour les fichiers volumineux, cette fonctionnalité devrait ouvrir la porte à des fonctionnalités spécifiques au langage performantes telles que le refactoring de code, etc. D'autres promesses importantes sont promises,