サンフランシスコを拠点とするソフトウェアスタートアップ企業Zeitは、JavaScript、HTML、CSSで書かれたターミナルエミュレータ「Hyper」のバージョン1.0をリリースしました。なぜでしょうか?いや、なぜリリースしないのでしょうか?
Hyper は、HTML と JS を使用してクロスプラットフォームのデスクトップ アプリケーションを作成するためのオープン ソース フレームワークである Electron に基づいています。
Electron は GitHub が Atom テキスト エディター用に開発したもので、Slack、Visual Studio Code、Nylas N1 など、さまざまな有名アプリケーションで採用されています。
Hyper (Hyper.is) は、以前は HyperTerm と呼ばれていましたが、HyperTerminal と混同しないでください。他のいくつかのプロジェクトと名前が共通しています。
- コンテナホスティングサービスHyper.sh
- Hyper.rs、Rust 用の HTTP ライブラリ
- Hyper、Python 用の HTTP/2 クライアント
- Tableauが最近買収した高性能データベースシステムHyPer
それは、技術革新が言語の変化を上回ったときに起こることです。
Hyper は現在、macOS、Windows、Linux を含む 64 ビット システムで利用可能であり、32 ビット ビルドも近々提供される予定です。
クロスプラットフォームの互換性はElectronの利点の一つですが、それには代償が伴うこともあります。適切に最適化されていないと、Electronベースのアプリケーションは動作が遅くなる可能性があります。これはAtomに関するよくある不満の一つで、少なくともSublime Textのようなネイティブテキストエディタと比較すると顕著です。
解決すべき問題はまだ数多くあります。例えば、アプリ起動時に開始されるプラグイン更新チェックは、macOSでNode Package Manager(NPM)をインストールしていない場合、エラーが発生します。その他の改善が必要な箇所については、プロジェクトのGitHubリポジトリをご覧ください。
それでも、ZeitのCEOであるGuillermo Rauch氏はツイートで、Hyperは25万回以上ダウンロードされ、300以上のテーマと拡張機能を備えていると主張しました。さらに、他の実行ファイルへの影響という点では、HyperがPowerShellに匹敵することを示唆するテスト結果も挙げています。
Hyper のターミナルは Chromium の hterm ターミナル エミュレーターに基づいているため、Chromium プロジェクトはここで評価に値します。
いずれにせよ、Hyperはコマンドラインからウェブサイトを読み込む機能や、ホットキー対応の分割ペインといった革新的な機能を備えているため、魅力的です。また、バックエンドコードとフロントエンドインターフェースの両方において、JavaScriptを使用して拡張・カスタマイズできるため、開発者にとっても魅力的なツールとなる可能性があります。
サンプル拡張プロジェクト「Hyperpower」は、ターミナル カーソルにパーティクル エフェクト スプレーを追加します。
Hyper Extensionsは、Electronとレンダリングプロセスによって読み込まれるユニバーサルNode.jsアプリケーションで構成されています。この拡張機能システムは、アプリケーションの構築に使用されているReactコンポーネントとReduxアクションという技術に基づいています。そのため、アプリケーションの拡張は、これらのWeb技術を理解するだけで十分です。
多くの開発者にとって、JavaScriptはPHPと似たような評判を持っています。つまり、広く普及しているものの、少なくともJavaScriptとその広大なエコシステムに既に夢中になっている開発者を除けば、尊敬されたり愛されたりすることは滅多にないということです。しかし、JavaScriptランタイムはどこにでも存在するため、それに依存するプロジェクトには、ある種の自己永続的なロジックが存在します。
Hyper は、Terminal、iTerm2、ConEmu、その他の人気のターミナル ツールをすぐに置き換えるものではありませんが、時間の経過とともにさらに魅力的で機能的なものになることが期待できます。®