Vize

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-bindtsgo は 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_canoncorsa-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を使用してください。

それが本当の違いです。