DeepL APIのクライアントライブラリと開発者体験 〜1年を振り返って〜

author_by DeepL Team

「開発者体験」は比較的新しい言葉です。ソフトウェア開発者自身のユーザー体験は、ここ10年超で確実に関心を集めています。 

理由は明白です。なぜなら、現代のソフトウェアプロジェクトはひどく複雑になり得るためです。複雑さを低減するには、コアプロダクト以外に資料やチュートリアル、コードサンプルといった開発者向けのツールやリソース、そして開発者が参加できるコミュニティやサポートチャネルなどに投資が必要です。 

私たちは世界中の数万人のユーザーにAPIを提供する企業として、開発者体験を常に念頭に置いています。この1年間の取り組みと今後の計画について、簡単にお伝えします。 

APIのクライアントライブラリ

開発者体験を向上させるための主な取り組みのひとつが、クライアントライブラリです。クライアントライブラリがあれば、開発者は使い慣れた環境でよりシンプルかつ効率的なコードを書けるようになります。 

クライアントライブラリは、DeepL初のオープンソースプロジェクトでした。オープンソースにすることで、ユーザーはライブラリを容易にカスタマイズでき、直接フィードバックを送信できます。

2021年8月にPythonのクライアントライブラリが初登場してからは、.NET、Node.js、PHP、Javaのクライアントライブラリをリリースしました。1年後の2022年8月には、DeepL APIに送信されるリクエストの7%(数十億文字に相当)にいずれかのクライアントライブラリが使われていました。また、数千人のAPIユーザーが少なくとも1度はクライアントライブラリを使ってリクエストを送信していました。 

来年はGoのクライアントライブラリを追加する予定です。また、DeepL APIの新機能に対応できるように、既存のクライアントライブラリをアップデートしてゆきます。  

クライアントライブラリについてアイデアやご意見をお持ちの場合、GitHubのリポジトリでレポート(issue)を作成すると会話を始められます。またDeepLでは、#deeplでタグ付けされたスタックオーバーフローもチェックしています。

OpenAPI仕様書

2022年6月には、DeepL APIのOpenAPI仕様書を公開しました。これにより、DeepLで未対応のプログラミング言語でのクライアントライブラリ作成や、Swagger UIやPostmanでのAPI適用が容易になります。DeepLのチームにとっても、一貫した方法で効率的に資料を維持管理できるのがメリットです。最近はOpenAPI仕様書に基づき技術資料の書き直しを行い、技術資料を簡単に改良できるようになりました。  

技術資料の改良の一環として、既存のcURLとHTTPのコード例に加えて、クライアントライブラリのコード例を幅広く記載したいと考えています。 

GitHubの OpenAPI仕様書はこちらをご覧ください

APIのサンプルプロジェクト

この1年の間、実際のプロジェクトを始めやすいように、またDeepL APIを組み込む際に参照できるように、もっと具体例を知りたいという声が寄せられてきました。これを受けて2022年8月、DeepL APIのための最初のサンプルプロジェクトをリリースしました。Google SheetsでDeepLを使ってセルを翻訳するためのサンプルスクリプトです。他のGitHubプロジェクトと同じく、このサンプルプロジェクトもMITライセンスのもとでオープンソース化しています。 

「サンプルプロジェクトのロードマップ」はまだ策定途中ですが、これを皮切りにGitHubで多くのサンプルプロジェクトを共有してゆければと考えています。ご意見やご感想があれば、チケットを作成してぜひお聞かせください。  

開発者体験の向上を目指す取り組みについて、皆様のお声をお待ちしています。また、DeepLで新しいAPI機能や言語、用語集の言語ペアを追加できるように、引き続き投資を進めてゆきます。 

初めてDeepL APIをお使いですか?登録すると1か月に50万文字まで無料で翻訳できます。


3つのポイント

  1. 昨年の2021年8月に、Pythonで使えるAPIクライアントライブラリの第一弾をリリースしました。API FreeとAPI Proのユーザー数千人にご利用いただいています。 
  2. Pythonの他に.NET、Node.js、PHP、JavaのクライアントライブラリとOpenAPI仕様書をリリースしました。 
  3. 今後もクライアントライブラリをさらに充実させ、技術資料を改良し、コードサンプルを追加するなど開発者体験の向上を目指して取り組みを続けてゆきます。