トラック1
セッション
16:00~16:30
TypeScriptを用いたGraphQLのクライアント・サーバーの実装は、開発フローに型安全性と予測可能性をもたらしますが、その過程は必ずしも単純ではありません。本トークは、複数のプロジェクトにおいてTypeScriptとGraphQLで型安全なシステムを構築してきた経験をもとに、APIの入出力に型を付けることの重要性やそのためのベストプラクティスを解説します。 まず初めに、なぜAPIに型をつけることが重要なのかを明らかにします。その上で、型安全にするためのツールや手法を紹介します。これらのツールや手法は、エラーを未然に防ぎ、予測可能な開発フローを実現します。 さらに、クライアントとサーバーでは考慮すべき点が異なります。それぞれの視点から、どのような点を考慮すべきか、また、ベストプラクティスは何かを解説します。例えば、クライアントでは単純にGraphQLのスキーマから生成した型だけでは安全にはならず、送信するクエリから型生成する必要があります。また、GraphQLから生成したした型をコンポーネントからはどのように利用するかというのも興味深いトピックです。一方サーバーでは、Resolverが返す型とアプリケーション内部で扱うModelの型を合わせることでより安全な実装にするプラクティスや、NestJSなどのフレームワークを使ううえで考慮することなど、クライアントとサーバーでは考えることが全然違います。 このトークを通じて、TypeScriptとGraphQLを用いた開発フローの質を向上させ、開発者の生産性を高めることを目指します。