Vize

ツールの比較

Vize はいくつかのプロジェクトに非常に近いため、比較は避けられません。

この比較は役に立ちますが、それは軸が明確な場合に限られます。 「速い」だけでは十分ではありません。 「錆び」では物足りない。 「Vueのサポート」だけでは十分ではありません。

本当の質問は次のとおりです:各プロジェクトはどのレイヤーを所有したいですか?

近くのツーリング ランドスケープ内の Vize を示す関係マップ。参照のみ、隣接するプラットフォーム、Vize が使用、および比較のみのグループを含む

クイックマップ

プロジェクト 重心 Vize との関係
公式 Vue ツール Vue コンパイラと言語ツールのプロダクション ベースライン Vize は独立した実験的なものであるため、これを参照点として扱う必要があります。
Oxc / Oxlint 一般的な JavaScript および TypeScript インフラストラクチャ Vize は、Vue 固有のセマンティクスを所有しながら、Oxc を再利用して連携できます。
ゴラー typescript-go ベースの埋め込み言語の型チェック Vize は、型チェックだけよりも広い Vue ツールチェーンの範囲を持っています。
ヴァーター 代替の次世代 Vue コンパイラとツールチェーン 目標は最も近いが、アーキテクチャと製品の形状は異なる
フリント 強力なデフォルトを備えた、フレンドリーで型指定された JS/TS リンティング Vue SFC ツールチェーンではなく、一般的な TS リンティングを補完します。
TSSLint 言語サーバー内の TypeScript ネイティブ lint 強力なセマンティック lint アイデアですが、完全な Vue コンパイラ/リンター/ギャラリー スタックではありません。

公式 Vue ツール

公式スタックがまず重要です。

Vue 言語ツールvue-tsc、Vue コンパイラー パッケージ、および公式エディター統合が実稼働ベースラインです。 Vize が公式の行動に同意しない場合、その意見の相違は自動的に大胆な新しいアイデアになるわけではありません。ほとんどの場合、それは必要な修正、不完全な実装、または Vize がより明確な互換性のストーリーを必要とする場所です。

だからといってVizeが無意味になるわけではありません。

それは契約を定義します。

Vize は、より統合された Rust ネイティブ アーキテクチャを試すことができますが、実際の Vue コード、実際のコンパイラ出力、実際の診断、および実際のエディタの期待の形状を考慮する必要があります。公式スタックは、実験を誠実に保つための参照点です。

Oxc と Oxlint

Oxc は、汎用 JavaScript および TypeScript コンパイラー インフラストラクチャ プロジェクトです。 Oxlintは、その世界の上に構築された高性能リンターです。

Vize は、JavaScript および TypeScript レイヤーで Oxc と競合するべきではありません。それは無駄です。 Oxc はすでに、エコシステムに高速パーサー、セマンティック インフラストラクチャ、フォーマッタ指示、リンター指示、および増大する共有プリミティブのセットを提供しています。

Vize の質問はより範囲が狭く、より Vue に特化しています。

  • .vue ファイルとは全体として何ですか?

  • テンプレート スコープはどのようにしてスクリプト バインディングに接続しますか?

  • ディレクティブ、スロット、プロップ、エミット、スタイル ブロック、コンパイラ出力はどのように関連していますか?

  • 人間が編集した正確なソースに診断結果をマッピングするにはどうすればよいでしょうか?

  • これらのセマンティクスは、コンパイル、lint、フォーマット、型チェック、LSP、Musea、および AI ワークフローにどのようにフィードされますか?

Oxc は一般的な JS/TS 基盤になります。 Vize は、Vue を「単なるスクリプト ブロック」にフラット化することなく、その基盤を使用する Vue 固有のツールチェーンになります。

ゴーラー

Golar は、埋め込み言語に対して typescript-go を真剣に取り上げているため、興味深いです。

その中心は、型チェック、仮想コード、および tsgo 統合です。 Vue の場合、それは当然、公式の言語コア モデルに近くなります。これは優れた実用的な形です。Vue の仮想コード機構を再利用し、TypeScript エンジンをより高速またはより柔軟にします。

Vize はより広範な問題を解決しようとしています。

型チェック層は重要ですが、それがプロジェクト全体ではありません。 Vize は、パーサー、セマンティック モデル、コンパイラー、リンター、フォーマッタ、ネイティブ型チェック パス、LSP、コンポーネント ギャラリー、および AI 対応サーフェスが同じ Vue 対応コアをさらに共有することを望んでいます。

したがって、違いは「Golar は型チェックであり、Vize はより高速な型チェック」というわけではありません。

違いは次のとおりです。

  • Golar は主に埋め込み言語の TypeScript 処理の話です。

  • Vize は、型チェックが Vue 分析モデルの 1 つのコンシューマーである完全な Vue ツールチェーン ストーリーです。

ヴァーター

Verter はおそらく哲学的に最も近い比較です。

また、レイヤーを再考するつもりであれば、次世代の Vue ツールチェーンはどのようなものになるでしょうか?という大きな疑問も投げかけられています。

それは Vize の質問に近いです。どちらのプロジェクトも、コンパイラの動作、言語ツール、診断、および無関係なプラグインのバッグが簡単に提供できるものよりも厳密なエクスペリエンスを重視しています。

相違点を強調して示します。

  • Verter は最初からより厳密で言語サービス指向であるように見えます。

  • Vize は、コンパイル、lint、フォーマット、チェック、LSP、Musea、AI ワークフローにわたる Rust ネイティブの共有コアを重視しています。

  • Vize はまた、コンポーネント ギャラリーとデザイン システム ツールを、後付けの別個のドキュメントとしてではなく、フロントエンド環境の最上級の部分として扱います。

私はヴァーテルを敵とは見ていない。これは、複数の実験が必要な空間での、もう一つの本格的な実験です。

フリント

Flint は、別の種類の比較です。

これは、便利なデフォルト、キャッシュ、および型付きリンティングに重点を置いた JavaScript および TypeScript リンターです。 JS/TS エコシステムには実際の問題があるため、これは貴重です。構文のみの lint は高速ですが不完全であり、セマンティック lint は遅くなり、運用コストが高くなる可能性があります。

Vize は、セマンティック フィードバックは実用的で、高速で、快適なものであるべきだという前提に同意します。

しかし、Flint は、Vue SFC コンパイラ、フォーマッタ、テンプレート アナライザ、コンポーネント ギャラリー、または Vue 固有の LSP になろうとしているわけではありません。これは、高品質の一般的なリント方向として理解するのがよいでしょう。

補完的な形状は次のとおりです。

  • Flint は、JS/TS lint エクスペリエンスを前進させることができます。

  • Vize は Vue 固有の分析を推進できます。

  • 優れたフロントエンド環境では、すべてのツールがすべての懸念事項を所有することを強制するのではなく、これらのレイヤーが連携する必要があります。

TSSLint

TSSLint は、TypeScript のセマンティック lint を TypeScript 言語サーバーの近くに存在できるものとして扱うため、重要です。

この考えは説得力があります。TypeScript チェッカーがすでにプロジェクトを開いている場合、セマンティックな質問に答えるためだけに別のリンター プロセスで世界を再構築する必要はありません。

Vize も同様の本能を持っていますが、Vue を多言語の成果物として指摘しています。

Vize にとって、問題は「lint ルールは TypeScript の状態を再利用できるか?」ということだけではありません。それは次のとおりです。

  • テンプレート分析では、コンパイラーと同じ Vue セマンティック モデルを再利用できますか?

  • タイプ認識の Vue lint ルールは、再構築コストを全額支払わずに、焦点を絞った質問をすることができますか?

  • エディターの診断、バッチ チェック、AI 修復ループは同じソース マッピングに同意できますか?

  • システムは、作業を償却するのに十分な期間プロジェクト セッションを存続させることができますか?

TSSLint は、セマンティック lint が既存の言語状態に近づこうとしていることを示す強力なシグナルです。 Vize は、その本能を Vue 固有の構造に拡張します。

Vize が所有しようとしているもの

ヴィゼはすべてを所有すべきではありません。

Vue 固有の知識が一貫している必要がある場所を所有する必要があります。

  • SFC の解析とブロック構造

  • テンプレートのセマンティクス

  • ディレクティブとコンポーネントの分析

  • コンパイラ出力の決定

  • Vue 対応の lint 診断

  • 生成されたアーティファクトから .vue へのソース マッピング

  • Museaのコンポーネントメタデータ

  • AI ワークフローの機械可読診断

他の場所でも協力する必要があります。

  • 可能な場合は、JavaScript および TypeScript の解析に Oxc を使用します。

  • 公式の Vue ツールと動作を比較する

  • 型認識フィードバック ループについて Golar、TSSLint、Flint から学びます

  • 別の完全なツールチェーンの実験として Verter に注目してください

製品の位置づけ

最もきれいな配置は次のとおりです。

Vize は独立した実験的な Rust ネイティブの Vue ツールチェーンであり、コンパイラー、リンター、フォーマッタ、型チェッカー、LSP、コンポーネント ギャラリー、および AI 対応の診断を 1 つの一貫した環境のように感じさせることを試みます。

つまり、Vize は正式な答えではありません。

高速実験の答えです。

今の仕事は、その答えを実際のプロジェクトで役立つようにし、公式の動作とのギャップを縮め、実験を行う価値があるほどアーキテクチャを鋭く保つことです。