web-dev-qa-db-ja.com

Sublime textとGithub's Atomの違いは何ですか

Githubは Atom を発表しました。これはSublimeとよく似ています。いくつかのキーボードショートカットでさえも ⌘ + P、 ⌘ + Shift + P 等も同じです。

  1. AtomはSublimeとどう違うのですか?
  2. ビルドツール、関数定義のジャンプ、ドキュメント化などのIDE機能が含まれていますか?
  3. Sublimeを使用している人は、違いを指摘するためにBetaの招待を受けましたか?
  4. Sublimeがテキストメイトでできるように、Sublimeのテーマ、スキーム、パッケージをそのまま使用できますか。

Atom Shell1

シモンズ:より高い解像度のために新しいタブで画像を開きます。

336
Om Shankar
  1. AtomはSublimeとどう違うの?
    • Atomは、JavaScript/HTML/CSS上に構築されたオープンソースのテキストエディタ/ IDEです。
    • Sublime TextはC/C++とPythonで構築された商品です。
    • Atomに匹敵するのは Adob​​e Brackets 、JavaScript/HTML/CSSをベースにした他のオープンソースのテキストエディタ/ IDEです。これにより、BracketsがWeb開発を重視するようになります。特にフロントエンドでは注意が必要です。
    • オープンソースプロジェクトの利点は開発のスピードが速いこと、そしてもちろん価格が高いことです。
  2. ビルドツール、関数定義のジャンプ、ドキュメント化などのIDE機能が含まれていますか?
    • 短い答えは、はい、はい、そしてはいです。アプリは完全にモジュール式です。オープンソースは人々にこれらの特徴のいくつかのギャップを埋める自由を与えるでしょう。
  3. Sublimeを使っている人は誰でも、違いを指摘するためにBetaの招待を受けましたか?
    • AtomはWebサイトを動かすのと同じコード上に構築されているため、Atomの利点はエントリーレベルのハッキング可能性です。
    • Sublime Textの利点は、Node.js上で実行する必要がないため、パフォーマンスにあります。安定したバージョン3に到達しようとしている、より成熟した製品です。
    • コメントに含めることができる小さな相違点の長いリストがあります(私はこのマークダウンが比較のために表を描くことができるかもしれませんが、それは別の問題です)。
    • Atomの急速な投票率のために、ここにリストする相違点の中には時代遅れになるものがあるのではないかと思います。 たとえば、この記事の執筆時点では、AtomはMacintoshでしか利用できませんが、Sublime Textはすでにマルチプラットフォームです。
  4. Sublimeがテキストメイトでできるように、Sublimeのテーマ、スキーム、パッケージをそのまま使用できますか。
    • 短い答えは「いいえ」ですが、Atomのハッキング可能性のため、他の編集者からAtomにパッケージを再インストールするのは簡単でしょう。
124
harrypujols

以前の回答からのポイントに加えて、開発における選択の観点からこれら2つの製品の違いを明確にする価値があります。

Sublimeはプラットフォーム用にバイナリコンパイルされています。そのコアはC/C++で書かれており、その機能の多くはPythonで実装されています。これもPythonを拡張するための言語です。 AtomはNode.js/Coffeescriptで書かれており、Webkitの下で動作します。Coffeescriptは拡張言語です。 UIとUXでは似ていますが、SublimeはAtomよりもかなり優れたパフォーマンスを発揮します。特に、大きなファイル、複雑なSnR、またはファイル/バッファに対して重い処理を行うプラグインを扱う場合などです。 Atomは成熟するにつれて改善されることを期待していますが、設計とプラットフォームの選択はパフォーマンスを制限します。

Sublimeの「非公開」部分には、APIとUIが含まれています。スキン/テーマやカラーライザーとは別に、APIは現在のところUIの他の側面を変更することを難しくしています。たとえば、Sublimeプラグインはサイドバーと対話したり、編集領域でコントロールや描画をしたり、基本的なテキストを超えてステータスバーを操作したりすることはできません。 Atomの「閉じた」部分は現時点では不明ですが、私はそれが小さいという感覚を得ます。 Atomは、そのUIのより優れた制御を可能にすることを設計目標として、より豊富なAPIを持っています(現在はあまり文書化されていませんが)。 Webkitと密接に連携することで、現在Sublimeでは不可能であったUI機能強化のための多数の機能が提供されます。ただし、Sublimeの拡張機能はネイティブに近いパフォーマンスを発揮するため、Sublimeでは、大きなバッファ内で計算集中型の、繰り返しの多い、または複雑なテキスト操作を実行する拡張機能を使用できます。

もっとAtomがオープンになるので、 Githubは5月6日にAtomをオープンソースにしました。結果として、開発のサポートとペースは急速になるでしょう。それとは対照的に、Sublimeの開発は最近 - の速度でかなり遅くなっていますが、死んでいるわけではありません。特に、開発者によって修正されていないバグがいくつもありますが、その多くは非常に些細なものです。 imoを目立たせるものはありませんが、定期的なバグ修正と機能拡張を伴う急速な開発に何かが欲しいなら、Sublimeは失望するでしょう。それは言った、 windowsおよびLinux用のインストール可能なAtomパッケージはまだリリースされていません。 Githubの統計によると、発表の前後の数週間でコードベース上の活動は冷え込んだようだ。

IDE関数に関しては、webdevの観点からはAtomはWebstormのような製品に近づくという点への拡張を可能にするでしょう。 Atomがそのような「重い」拡張でどのように機能するのかは、まだわかっていません。エディターは元々遅く感じているからです。 APIの制限と基礎となるWebキットの欠如により、SublimeはこのレベルのUIのカスタマイズを許可しません。ただし、開発者は将来このような機能をサポートするようにAPIを拡張する可能性があります。繰り返しになりますが、Sublimeの基本的なパフォーマンスにより、計算量が多いことが可能になります。 ST3のシンボルインデックスは、大規模プロジェクトでもうまく機能する例です。 AtomのUIは確かにSublimeに基づいてモデル化されていますが、Sublimeの学習パネルやあなたが最もよく使うものに合わせてデフォルトを重視したタブ付きポップアップなど、洗練されていないものがあります。

これらの製品は補完的なものだと思います。彼らが似たようなビジュアルやキーストロークを共有しているという事実は、事実を増すだけです。どちらを使用しても利点がある場合があります。現在、Sublimeは3つすべてのプラットフォームで同等の機能を持つ成熟した製品であり、豊富なプラグインのセットです。 Atomはその機能が急速に成長する新しい子供です。まだ生産準備が整っているとは感じず、パフォーマンスの面で懸念があります。

[更新/編集:2015年5月18日]

上記の執筆時点からの、これら2つのエディターの改善点に関するメモ。

バグ修正とそのコアへの改良に加えて、Atomはサードパーティの拡張機能の急速な成長を経験し、オートコンプリートプラスは標準のAtomディストリビューションの一部になりました。エクステンションの品質は大きく異なり、特定のイライラは不安定なサードパーティのパッケージがエディタをクラッシュさせる頻度です。昨年、Atomはパフォーマンス上の理由からリフロー/再描画アクティビティをGPUにシフトすることでReactを使用するようになりました。通常の編集操作(スクロール、カーソル移動など)に対するUIの応答性を大幅に改善しました。これにより、エディタの操作性が大幅に向上しましたが、上記のようにCPUを集中的に使用するタスクには依然として厄介であり、起動にはまだ時間がかかります。パフォーマンスの向上は別として、Atomは全面的にかなり安定していると感じています。

2015年1月からSublimeの開発が再開されました。バグ修正、いくつかのマイナーな新機能(ツールチップAPI、ビルドシステムの改善)、そして新しいyamlベースの.sublime構文定義(最終的に古いものを置き換える)の形での主要開発xml .tmLanguage) Oniguramaに代わるカスタム正規表現エンジンと一緒に、新しいシステムは正確な正規表現マッチングのためのより多くの可能性を提供し、かなり速く(最大4倍)そして並行して複数のマッチングを実行することができます。着色構文とは別に、Sublimeはこれらのコンポーネントをシンボルの索引付け(goto定義など)やその他の言語対応機能に使用します。 Sublime、特に大きなファイルをさらにスピードアップすることに加えて、この機能はコードリファクタリングなどのパフォーマンスに優れた言語特有の機能の可能性を切り開くはずです。しっかりと口を閉ざした。

167
sebt

Atomは、Node.js、CoffeeScript、およびLESSを使用して書かれています。それはWebKitラッパーにラップされていました。これはもともとOSXでしか利用できませんでしたが、現在Windows版もあります。 (Linux版はソースから構築する必要がありますが、UbuntuユーザーのためのPPAがあります。)

多くのアーキテクチャと機能はSublime Textから複製されています。それらは試してテストしたからです。プラグインシステムはほぼ同じように動作しますが、新しいAPIも公開することで、多くの新機能と可能性を切り開きます。

ショートカットはマッスルメモリーのおかげでほとんど変わりません - 人々はそれらを覚えていてAtomで即座にクリックできるようになるでしょう。

JSONを直接編集するのではなく、GUIを使用して設定を制御することができます。これにより、ユーザーがAtomを使い始めることに対するエントリの障壁が低くなる可能性があります。 環境設定には検索機能がないので、私は自分で全部ナビゲートするのは難しいと思います。

## atom-invites IRCチャンネルで招待にサインアップするか、彼らのウェブサイトにサインアップしてEメールを追加することができます。最初の招待状はすぐに届きました。

129
James

Atom はオープンソース (今までに数時間続いています)に対して、Sublime Textはそうではありません。

56
bhell

この2つの違いは次のとおりです。






* APMは独立したツールですが、Atomにバンドルされて自動的にインストールされます。

AtomはGithubによって作成されたもので、「git認識」が含まれています。それは私がとても好きな機能です。

enter image description here

また、コミット状況に応じて異なる色で変更されたgitツリー内のファイルを強調表示します。

enter image description here

12
joscas

今日ベータ版の招待を受け、すぐにAtomを試しました。 GUIはSublimeのように感じられます、そして、はい、Sublimeから採用されたいくつかの近道があります。

上記のすべてに加えて、これまでに気付いたいくつかの違いがあります。

  1. Vimパッケージは開発の初期段階にあるので、VimモードはSublime上のVintageモード(これもまたフル装備のVimではありません)ほど良くありません。詳細は https://atom.io/packages/vim-mode を参照してください。

  2. Jamesが述べたように、AtomはWebツールを使って書かれているので、あなたはCSSを使って望む外観変更をするためにテキストエディタのスタイルシート(styles.less)にアクセスすることができます。起動時のCoffeeScriptを変更するオプションもあります。

  3. また、Atomはまだベータ段階にあるので、Sublimeにはもっと多くのネイティブプラグインパッケージがあります。しかし、AtomはNode.jsで書かれているので、Atomの公式サイトでは、「Nodeのパッケージリポジトリにある5万以上の中から選択することができる」と述べています。 (私はNode.jsのプロではないので、この機能については詳しく調べていません)

  4. AtomはそのままGithubをサポートしていますが、SublimeにはいくつかのGitパッケージがあります。

  5. 昇華は有料アプリケーション無制限の評価期間です。 Atomはベータ段階では無料だが、Githubがそれを請求したいのかどうかわからない。

つまり、肝心なのは、AtomはWebテクノロジを使ってベータ段階で構築されたテキストエディタです。それとは対照的に、Sublimeはさまざまな反復を通して進化してきました。 AtomにはまだSublimeがサポートする多くのパッケージが欠けているので、問題はAtomがSublimeに追いつくかどうかということです。 Githubはこのテキスト編集の将来について自信を持っているように思われます、そしてそのAtomはおそらく長期的にはSublimeに代わる良い方法になるでしょう。

11
Keeeeeenw

もう1つの違いは、Sublimeテキストはクローズドソースプロジェクトであるのに対し、Atomソースコードは一般に公開されている/公開される予定であることです。彼らは貢献にそれを開くことなく、コードへのアクセスを与えたいです。

Githubはコードを公開しました: http://blog.atom.io/2014/05/06/atom-is-now-open-source.html

10

私はAtomを試しました、そしてそれは本当に素晴らしいように見えますが、1つの大きな問題があります(少なくともv 0.84では):

垂直選択をサポートしていません Alt+ドラッグ - これは現代のあらゆるコードエディタにとって必須です。

6
Pavel Nikolov

Atomはまだベータ版です(これを書いている時点ではv0.123)が、急速に進んでいます。 Sublimeより速い方法です。新しいビルドは毎週リリースされていますが、同じ週にいくつかビルドされることもあります。その短い寿命の中で、それは新機能やバグ修正をリリースするのに何ヶ月もかかるSublimeよりも多くのリリースを持っていました。これは、Atomがこのベータ版の発表以来の道を振り返って振り返ったものです。

  1. SublimeはAtomよりもパフォーマンスが優れています。それはC++で書かれているからです。一方、AtomはChromium上に構築されたWebベースのデスクトップアプリケーションです。パフォーマンスを重視する一方で、同じ速度と応答性を実現するのは非常に難しいか不可能です。去年の7月、AtomはReactを使い始めました、そしてそれはそれにいいパフォーマンスの向上を与えました、しかしあなたはまだ違いを感じることができます。それとは別に、Atomのパフォーマンス上の問題がユーザーを追いやらないのであれば - Sublimeはリリースサイクルをスピードアップし、その小さなUX調整をブラッシュアップし、Atomが勝っているところでより多くの貢献者を入れることを検討する。

  2. Atomのパッケージエコシステムも非常に急速に成長しています。現時点ではSublimeほど大きくはないかもしれませんが、GitHubが戻ってきてさらに成長が加速すると私は感じています。それはおそらくあなたが考えることができるプラグインのようなIDEの大部分を持っています。現在の大きな違いは、2MBを超えるファイルを扱うことができないということです。

  3. 最初に気付くことの1つは、Sublimeミニマップがなくなったことです。それ以外の、最初の印象はAtomがSublimeとほとんど同じに見えるということです。私はこの ブログの投稿 でそれについてより詳細な比較を書きました。

  4. 私の知る限りでは、あなたのSublime設定、パッケージなどを移植するための簡単で直接的な方法はありません。

5
tkfx

主な違いの1つは、 "インド語フォント"と呼ばれる南アジアスクリプト(クメール語、ラオス語、ミャンマー語、タイ語などの東南アジア言語を含む)のサポートです。また、東アジア言語(中国語、日本語、韓国語)のサポートが大幅に向上しました。これらは何年も続いている既知のバグ(実際には最も評価の高いバグ)です(東アジアの言語サポートは以前より良く機能していたように見えますが、今では使いにくくなっています)。

2
jeffmcneill

これまで誰も指摘しておらず、一部の人々にとって重要かもしれない大きな違いの1つは、(少なくともWindowsでは)Atomは米国以外のキーボードレイアウトを完全にはサポートしていないということです。これに関するバグ報告があり、1年以上もの間開かれている数百の投稿があります( https://github.com/atom/atom-keymap/issues/35 )。

エディタを選択するときに関連性があるかもしれません。

2
Dakkaron

注意::

- キャッシングシステムの作成が不十分であるため、Atomでは大きなファイルを使用するとデータが失われることがよくあります。

それは何度も証明されています。

2
Pian0_M4n

私は少し過酷な環境で働いています。 ssh(別名。sshfs)を使って私のラップトップにマウントされているリモートファイルシステム(きっと外部ネットワーク)のファイルを編集する。なぜ私はこうやってやっているのか、その面倒な反応性にもかかわらず、それは私がSublime Text 2を使っている時にはかなり食べられるものです。

私はこの記事を読んだ後にAtomを試しましたが、それは私にはやや痛いことがわかりました。 Atomはそれほど効率的にディレクトリー構造をキャッシュに入れないようです。ツリービューでフォルダを展開するたびに、UIが2〜3秒間短時間フリーズし、おそらくファイルシステム情報が取得されます。はい、それは私がリモートファイルシステムを使用しているからです。しかし、Sublimeはこれをより効率的に処理します。少なくともフォルダを展開するたびにフリーズすることはないので、それほど苦痛はありません。

私は、Atomは無料で地獄のニースだと思うし、私の話はいつの日か強化されるかもしれない些細なことだが、現時点では誰かに役立つだろう。

-

8/26/2014に追加

最近、私はラップトップをMacbook Air 2010からMacbook Pro 13 "2013に遅く変更しました。CPUが4倍速くなり、パフォーマンスが大幅に向上しています。リモートファイルシステムをマウントした場合の意見です。 ( OS X Mavericks 、Atomの最新バージョン、Fuse 2.7.3/OSXFUSE 2.6.4/sshfs 2.5.0、およびリモートシステムはUbuntuサーバーです)結局、UIフリーズはかなり短くなりますが、それでもまだ特に、たくさんのフォルダ/ファイルが入っているフォルダを開いてインデックスを作成するには、ある程度の時間がかかりますまた、ファイルでいっぱいになったフォルダを展開しても、動きは遅くなりません。 )

@EliDuenischによると、それはLinux Mintでは起こらないようです。よくわかりませんが、OSの違いによるのかもしれません。もちろん、ローカルファイルシステムで作業しているのであれば、この問題を気にする必要はまったくありません。

2
Kenial