Swagger Editorのまったく新しいバージョンをご紹介できることを大変嬉しく思います。
幅広いAPI仕様と言語でAPIコミュニティをサポートすることを目的とした、Swaggerツールスイート全体にわたるエキサイティングな開発に向けて準備を進めるにあたり、私たちは次世代のSwagger Editorをゼロから構築しました。新しいエディターには、言語固有のドキュメント、より優れたオートコンプリート、検証、構文ハイライト、参照へのジャンプ、シンボル検索など、豊富な編集機能が満載されています。
これまでと同様に、これらの機能とドキュメントプレビュー機能は引き続きブラウザで直接提供されます。さらに重要なことに、このエクスペリエンスはOpenAPI仕様のバージョンに限定されなくなります。APIの状況が急速に進化していることを理解しており、拡張性をツールの基盤としています。リリース当初から、新しいエディターは複数の仕様をサポートし、同時に簡単に拡張できるようにします。これにより、新しい仕様やバージョンを迅速に導入できます。
次期Swagger Editor - その機能
新しいエディターは、すぐにAsyncAPI (バージョン2.*) をサポートしています。これにより、Webブラウザ内でOpenAPIとAsyncAPIの両方で豊富な編集体験が得られます。強化されたエディター体験は、最新の統合開発環境 (IDE) で期待される多くの機能を提供します。
図1 - Swagger EditorはAsyncAPIをサポートしています
新しい機能を探索する
新しいSwagger Editorはhttps://editor-next.swagger.io/で試すことができます。
技術スタック
新しいエディターはゼロから構築されており、Monaco Editorを使用しています。MonacoはVS Codeに搭載されているのと同じコードエディターです。編集エクスペリエンスにMonacoを活用することで、エレガントでモダンなUI、優れたオートコンプリート機能、およびLanguage Server Protocol (LSP) 機能を備えた堅牢なクライアントを作成可能にするAPIを提供します。
MonacoはEdge、Chrome、Firefox、Safari、Operaブラウザをサポートしています。強力な拡張機能があり、最高のAPI設計と開発体験をエディターとネイティブIDEプラグイン全体で共有するという私たちのビジョンをサポートしています。
次世代のエディターは、複数のAPI記述言語とシリアル化形式にわたるAPI記述のための単一の統合構造を提供する、マルチ仕様コアSwagger ApiDOMを基盤としています。Swagger ApiDOMに関する詳細な情報とコンテキストは近日中に公開しますので、ご期待ください!
Swagger ApiDOMの堅牢なコア、Swagger ApiDOM Language Service、およびMonacoを組み合わせることで、API成果物を編集する際に開発者がネイティブIDEエクスペリエンスで期待する強力で直感的な機能をエディターエクスペリエンスに提供します。検証、構文ハイライト、オートコンプリート、リンティング、参照へのジャンプ、定義へのジャンプ、アクションなど、多くの言語機能がすべてサポートされます。
次のステップ
現在のところ、新しいエディターバージョンは独自の場所にあり、既存バージョンと並行して利用できます。
新しいSwagger Editorの機能が十分に同等になった時点で、既存のエディターバージョンは「メンテナンスモード」に移行されます。機能同等性へのロードマップには、OpenAPI 2.0 (別名Swagger 2.0) およびOpenAPI 3.0の完全なサポートが含まれます。
目的の機能同等レベルに達すると、既存のエディターバージョンは新しいMonacoベースのエディターに置き換えられます。
並行して、新しいエディターエクスペリエンスにおけるOpenAPI 3.1のサポートに取り組んでいます。Swagger CoreおよびSwagger Parser JavaツールにおけるOpenAPI 3.1サポートの追加が進行中です。近日中に、Swaggerツールチェーン全体におけるOpenAPI 3.1サポートへの道のりに関する詳細情報、および計画されているロードマップに関する洞察を提供します。
Swagger全体でのオープンソースイニシアチブにぜひご参加ください。コントリビューションガイドもぜひご確認ください。