翻訳者から:昨日、公式の発表なしで、数十のリポジトリがGithubに公開されました。その内容は、Githubチームが長い間プログラマ向けの新しいテキストエディタを開発しており、公開する準備ができていたことを示しています。 数時間後、 atom.ioエディターの公式サイトが機能し始めました 。ここで、ベータテストへの招待をリクエストし、エディターのドキュメントとプラグインを知ることができます。 この記事は、エディターのコンセプトとアーキテクチャに特化したAtomプロジェクトブログの最初の2つの投稿の翻訳です。Atomの紹介
本日、Atomのパブリックベータ版をリリースいたします。これは、使いやすいだけでなく、自由に変更できる新しいテキストエディタです。
SublimeとTextMateは使いやすさを提供しますが、拡張性は限られています。 一方、VimとEmacsには柔軟性がありますが、習得が難しく、変更のために特定のスクリプト言語の研究が必要です。
私たちはもっと良くできると信じています。 私たちの目標は、妥協のない利便性とカスタマイズ性の組み合わせです。プログラミングを勉強し始めたばかりの学生でありながら、経験豊富なハッカーを制限しないツールがそれを把握できるエディターです。
既にAtomを使用し始めているので、最初は単なる実験でしたが、これは私たちにとって不可欠なアイテムであることが判明しました。 これはほんの始まりに過ぎず、私たちの編集者のビジョンを完全に実現するためには、さらに多くのことが必要です。 しかし、主な目標は達成されました。 外部では、Atomはユーザーの期待に応える最新のテキストエディターです。 そして、内部では、これは修正と拡張を要求するシステムです。
今後数週間以内にベータテスターに招待状を送信し、エディターで使用される80を超えるライブラリとパッケージを
公開します。 強力な拡張機能を作成するために必要な多くのAPIを公開しましたが、これはベータ版であるため、ユーザーからのフィードバックに基づいてAPIに変更が発生する可能性があります。 エディタを積極的に修正すると同時に、できるだけ慎重にそれらを行うようにします。
パッケージ、パッチなどのご連絡をお待ちしております。 一緒にやろう!
アトムコア
Webには欠点がありますが、20年の開発により、非常に柔軟で強力なプラットフォームになりました。 したがって、私たちが喜んで拡張および変更できるテキストエディタを作成することにしたとき、テクノロジの選択は明らかでした。 しかし、最初に、私たちは私たちにいくつかの制約を取り除く必要がありました。
ネイティブWeb
ブラウザはウェブの閲覧に適していますが、コーディングは特別なツールを必要とする特定のアクティビティです。 さらに重要なことに、ブラウザはセキュリティ上の理由からコンピュータのローカルリソースへのアクセスを厳しく制限します。また、私たちにとっては、ファイルを正常に書き込めないか、ローカルサブプロセスを実行できないテキストエディタはまったく受け入れられませんでした。
したがって、Atomは通常のWebアプリケーションではありません。 これはChromiumブラウザの特殊バージョンであり、Webブラウザではなく、主にテキストエディタになるように再設計されています。 各Atomウィンドウは、個別のローカルWebページです。
各ウィンドウで機能するJavaScriptコードには、Node.jsアプリケーションで使用できるすべてのAPIが含まれています。 このようなハイブリッドソリューションは、独自の開発機会を生み出します。
すべての作業はローカルで行われるため、リソースのロード、スクリプトの連結、およびモジュールの非同期ロードを心配する必要はありません。 何らかのコードが必要な場合は、ファイルの先頭で
require
なだけで十分です。 Node.jsモジュールシステムを使用すると、システムを問題なく小さな、焦点の合ったパッケージに分割できます。
C ++でのJavaScript
ネイティブコードとの相互作用も非常に簡単です。 たとえば、TextMateの互換性をサポートするために、鬼
車の正規表現
エンジンのラッパーを作成しました。 ブラウザでは、
NaClまたは
Esprimaを処理する必要が
あります。 Nodeとの統合により、タスクが大幅に簡素化されました。
Node.js APIに加えて、ブラウザダイアログ、メインメニューとコンテキストメニュー、ウィンドウサイズコントロールなどのネイティブAPIも使用します。
Webテクノロジー:すべて最高
Atomのもう1つの大きな利点は、最新バージョンのChromiumでの動作が常に保証されていることです。 これは、ブラウザ間の互換性の問題を心配していなかったことを意味します。 今日、Webテクノロジーのすべての革新を使用できます。
たとえば、ワークスペースとエディターパネルのレイアウトは
flexboxを使用し
ます 。 これは確立された標準ではありませんが、作業中に変更されたという事実にもかかわらず、私たちはすでにそれで作業できることを嬉しく思いました。
Webテクノロジーは業界全体で共同開発されているため、Atomが構築されるプラットフォームの将来に自信を持っています。 ネイティブテクノロジーが行き来し、ウェブは毎年より良く、より広く普及しています。 すべての機能を使用できます。