Vue ツールマップ
Vize が誤解されやすい理由の 1 つは、Vize が人々がすでに知っているいくつかのツールと重複していますが、必ずしも同じレイヤーにあるわけではないことです。
これらのプロジェクトの中には公式なものもあります。フレームワークに依存しないものもあります。編集者ファーストのものもあります。一部はコンパイラ優先です。主に型チェックに関するものもあります。完全なツールチェーンになろうとしている人もいます。
したがって、最も有益な質問は「どちらが優れているか?」ということではありません。それは次のとおりです:各ツールが実際に解決しようとしている問題は何ですか?
ショートバージョン
それらを配置する最も速い方法は次のとおりです。
| プロジェクト | 主重心 | そうではないもの |
|---|---|---|
| ヴィゼ | Rust の独立した完全な Vue ツールチェーン | 公式の Vue エディター スタックではありません |
| Vue 言語ツール | 公式 Vue エディタ + 型チェック ツール | 完全なコンパイラ/リンター/フォーマッタ ツールチェーンではありません。 |
| ゴラー | typescript-go ベースの埋め込み言語型チェック フレームワーク |
Vue 固有の完全なツールチェーンではありません |
| バーター | 代替の完全な Vue コンパイラ + LSP + ビルド ツールチェーン | 公式の Vue ツールチェーンではありません |
| ヴィート+ | ランタイム、パッケージ管理、開発/ビルド/チェック/テストにわたる統合された Web 開発エントリ ポイント | Vue 固有のコンパイラまたはリンターではありません。 |
| オックスリント | 高性能JS/TSリンター | それ自体は Vue テンプレート対応の完全な lint スタックではありません。 |
この表を頭の中に入れておけば、ほとんどの混乱は解消されます。
ヴィゼ
Vize は、Rust の独立した完全な Vue ツールチェーンとして最もよく理解されています。
その野心は多岐にわたります。
Vue SFC をコンパイルする
lint Vue 固有のパターン
Vue ファイルのフォーマット
Vue テンプレートとスクリプト バインディングのタイプチェック
LSP に電力を供給する
コンポーネントギャラリーを提供します
Vue 対応ツールを AI ワークフローに公開する
その幅広さが、Vize がこの比較対象のほとんどのプロジェクトと異なる点です。これは単なるエディター統合ではなく、単なる型チェッカーでも、単なるバンドラー プラグインでもありません。 1 つのアーキテクチャ センターを持つ一貫した Vue ネイティブ ツールチェーンになろうとしています。
それが、最近の型チェックの方向性が重要である理由でもあります。 Vize は「vue-tsc を高速化する」ことだけを目指しているわけではありません。現在の方向性は、corsa-bind を利用したネイティブ プロジェクト セッションを使用して、Vue 対応の仮想ファイル生成、診断マッピング、およびエディター向けの型情報を vize_canon 内に保持することです。
Vize が tsgo にどのように近づいているか
最近のメモ corsa-bind: The Idea of Language Processor Orchestration では、興味深いのは実行速度が速いだけではなく、「コンパイラではなく作業の形を変える」ことであると主張しています。
このフレーミングは、Vize が tsgo に近づいている方法に非常に近いです。
Vize は、tsgo を製品ストーリー全体に組み込もうとしているわけではありません。また、tsgo を、機能ごとに再実行されるワンショット CLI として扱っているわけでもありません。この方向性は、より広範な Vue ツールチェーン内で TypeScript 処理を再利用可能なネイティブ サービスとして扱うことに近いものです。
vize checkは、Vue 対応の仮想 TypeScript プロジェクトを実体化し、Corsa プロジェクト セッションを開き、バッチで診断を要求します。vize_maestroは、ネイティブ型チェックが有効な場合、ホバー、完了、定義、参照、名前変更のために Corsa ブリッジを維持できます。vize_patinaは、タイプを認識する lint ルールに遅延ネイティブ Corsa セッションを使用し、JavaScript でホストされるスタック内のすべてを再構築するのではなく、必要なタイプのみを調査します。vize_canonは Vue 固有の仮想ファイル生成とソース マッピングの所有権を保持しますが、corsa-bindとtsgoは TypeScript 側の質問に答えます。
つまり、Vize の tsgo のストーリーは、単に「vue-tsc をより高速なバイナリに交換する」というだけではありません。これは、常駐 TypeScript プロセッサの周囲に Vue ネイティブのコントロール層を構築し、その層をバッチ チェック、エディター機能、および型認識 lint で再利用することに近いものです。
Vize と Vue 言語ツール
公式 Vue 言語ツール プロジェクトは、実稼働対応の Vue エディターおよび型チェック スタックです。これには次のものが含まれます。
Vue (公式)VS Code 拡張機能
vue-tsc@vue/language-server@vue/language-core
このスタックは基本的に言語ツールに関するもので、エディターのサポート、型チェック、仮想コード生成、および Vue を IDE で一流であると感じさせる統合です。
Vize は型チェッカーと LSP も備えているため、Vize はその世界と重なります。しかし、Vize はさらに多くの領域をカバーしようとしています。
Vize には独自のコンパイラの野心が含まれています
Vize にはリンティングとフォーマットの野心が含まれています
Vize には Musea や MCP ツールなどの製品サーフェスが含まれています
Vize は TypeScript ファーストではなく Rust ファーストです
したがって、最も単純な区別は次のようになります。
Vue Language Toolsは、Vue の公式エディタおよび型チェック基盤です
Vizeは、より多くの Vue ツールチェーンを 1 つの Rust アーキテクチャに統合する独立した試みです
現在、本番環境に対応したエディターのサポートを優先している場合は、公式の Vue スタックがベースラインとなります。より広範で実験的な Rust ネイティブの Vue ツールチェーンに興味がある場合は、そこから Vize が意味を持ち始めます。
ヴィゼ vs ゴラー
Golar は、同じ意味で実際には「別の Vue ツールチェーン」ではありません。
Golar は、自身を typescript-go に基づいた組み込み言語フレームワークであると説明しています。特に Vue の場合、公式の @vue/language-core 機構を再利用し、.vue、.astro、.svelte などの拡張ベースの言語を tsgo で動作させることに重点を置いています。
つまり、Golar の重心は次のとおりです。
CLI タイプのチェック
宣言発行
埋め込み言語用の
tsgoの統合仮想コード生成用のプラグイン インフラストラクチャ
Vize は 2 つの重要な点で異なります。
1.範囲
Golar は主に、typescript-go に関する型チェックと仮想コードの話です。
Vize は、コンパイラ、リンター、フォーマッタ、型チェッカー、LSP、ギャラリーなど、Vue ツールチェーンのより大きなスライスを所有しようとしています。
2.Vue レイヤーの所有権
Golar は、Vue コード生成に公式の Vue ツールを意図的に再利用します。 Vize は、Vue 固有のスタック自体を Rust でさらに構築しようとしています。
実際の実行層の違いも現れ始めています。 Golar は、組み込み言語の typescript-go 統合と密接に関係しています。 Vize の現在のネイティブ型チェック パスは、vize_canon と corsa-bind を中心に形成されており、「より高速な TS エンジンで公式スタックを再利用するにはどうすればよいですか?」という質問が少なくなります。など、「1 つのネイティブ アーキテクチャ内で Vue ツールチェーンのどの程度が存在できるでしょうか?」
つまり、Golar は「tsgo を組み込み言語で適切に動作させる」ことに近いのに対し、Vize は「ネイティブ Vue ツールチェーンをエンドツーエンドで構築する」に近いということになります。
ヴィゼ vs ヴァーター
Verter はおそらく、このリストの中で最も哲学的に近い隣人です。
Vize と同様に、Verter も高い目標を掲げています。その公開ビジョンは、Rust + TypeScript Vue のハイブリッド コンパイラ、LSP、ビルド ツール、リンター、およびより広範なツールチェーンです。つまり、Vize と同じ一般的なファミリーに分類されます。つまり、野心的でフルスタックであり、1 つのレイヤーにパッチを適用するだけではなく、Vue ツールチェーンを再考する意欲があります。
ここで、違いはカテゴリよりも製品の形状とアーキテクチャに関するものになります。
Verterは、強力な VS Code および TS プロバイダー ストーリーを備えた厳密優先の Vue 言語およびコンパイラ ツールチェーンとしての地位を確立しています。
Vizeは、統合された CLI、Vite 統合、Musea、およびより強力な「1 つのパーサー / 1 つの AST / 1 つのツールチェーン」の物語を備えた、独立した高性能 Vue ツールチェーンとしての役割を果たします。
強調点にも違いがあります。
Verter は、型付き TSX 生成、TSGO / tsserver などのタイプ プロバイダー バックエンド、および広範な組み込み lint ルール カタログを強調表示します。
Vize は、コンパイル、lint、フォーマット、型チェック、エディター ツール、コンポーネント ギャラリー、AI 統合にわたる統一された Rust ネイティブ ツールチェーンを強調すると同時に、Vite+ や Oxlint などのエコシステム ツールを補完するものとして自らを明確に位置づけています。
したがって、私は Verter を「名前が違うだけの同じもの」とは言いません。これは、もう一度始めたら、次世代の Vue ツールチェーンはどのようなものになるでしょうか?という質問に対する、もう 1 つの深刻な答えであると考えた方がよいでしょう。
Vize vs Vite+
Vite+ は別のレイヤーにあります。
Vite+ は、より広範な Web 開発のための統合されたエントリ ポイントです。その役割は、ランタイムのセットアップ、パッケージ管理、開発、チェック、テスト、ビルド、パッキング、モノリポジトリのタスク実行を 1 つのワークフローで管理することです。 Vite、Vitest、Oxlint、Oxfmt、Rolldown、tsdown、および関連ツールがまとめられています。
これにより、Vite+ は次のようになります。
フレームワークに依存しない
ワークフロー指向
Vueよりも幅広い
Vize はVue 固有であるため、異なります。
Vite+ は、Vue コンパイラーや Vue テンプレート リンターになろうとはしません。これにより、統合された Web ツールチェーンのエントリ ポイントが提供されます。 Vize はその世界に接続できます。実際、このリポジトリはすでにワークスペース オーケストレーションに Vite+ を使用しています。
したがって、これは実際には競争ではありません。
Vite+= 一般的な Web ツールチェーン シェル
Vize= シェル内で動作できる Vue 固有のエンジン
ヴィゼ vs オクスリント
Oxlint も別のレイヤーにあります。
Oxlint は、Oxc エコシステムの高性能 JavaScript および TypeScript リンターです。これは、一般的な JS/TS ルールと、ますます型を認識するワークフローに優れていますが、それ自体がすべての Vue テンプレート認識診断を置き換えることを意図したものではありません。
そこでヴィゼ・パティナの出番です。
Patina は、次のような Vue 固有のリンティングの問題に焦点を当てています。
テンプレートディレクティブ
SFC構造
コンポーネントの規約
Vue テンプレートのアクセシビリティ チェック
したがって、違いは簡単です。
Oxlintは汎用の JS/TS lint を処理します
Vize / Patinaは Vue 固有のリンティングを処理します
新しい oxlint-plugin-vize アルファが存在するのは、これら 2 つが冗長ではなく補完的であるためです。
では、Vize はどこに座っているのでしょうか?
Vize はいくつかのカテゴリーの間に位置しますが、いずれのカテゴリーにも還元できません。
それは次のとおりです。
公式の Vue 言語ツールよりも幅広い
Golar のような
tsgoアクセラレーション プロジェクトよりも広範囲Verterのような代替フルスタックの取り組みに野心的に最も近い
Vite+ などの一般的なワークフロー ツールを補完します
Oxlint のような一般的な JS/TS リンターを補完します。
それを一文に圧縮する必要があるとしたら、次のようになります。
Vize は、公式言語ツールがカバーするよりもはるかに多くの Vue ツールチェーンを統合する独立した Rust ネイティブの試みであり、一方で、より広範なエコシステム ツールを置き換えるのではなく連携します。
どちらに手を伸ばすべきですか?
それはあなたが何を望むかによって異なります:
今すぐ Vue の本番環境に対応した公式エディターと型チェック スタックが必要な場合は、Vue Language Toolsを選択してください。
公式言語ツールを再利用しながら、組み込み言語の
typescript-goベースの型チェックに主な関心がある場合は、Golarを参照してください。強力で厳密な型指定と LSP ストーリーを備えた別の野心的なフルスタック Vue ツールチェーンが必要な場合は、Verterを参照してください。
Web 開発用の統合された汎用ワークフロー エントリ ポイントが必要な場合は、Vite+を使用してください。
高パフォーマンスの JavaScript および TypeScript lint が必要な場合は、Oxlintを使用してください。
コンパイラ、リンティング、フォーマット、型チェック、エディタ ツール、ギャラリー ツール、および AI ツールを 1 つのシステムのように感じさせようとする、より広範な Rust ネイティブ Vue ツールチェーンの可能性に興奮する場合は、Vizeを使用してください。
それが本当の違いです。