2.1K Views
January 29, 23
スライド概要
フリーランスエンジニアをやっています。 フロントエンドが得意で、バックエンドやインフラに最近興味が合って勉強中です。
Hasuraを使った新しい開発体験
自己紹介 飯田望史(@nozo_i0106) フリーランス(2022.11~) フロントエンド(Next.js, Typescript)が得意 最近はインフラ、バックエンドに興味があり勉強中
今回の発表で伝えたいこと Hasuraの何が新しい開発体験なのか? - Hasuraに興味を持ってもらう - Hasuraを使ってみて感じた課題感 -
Hasuraとは? PostgresSQLサーバーからローコードで GraphQLサーバーを建てられるツール 10倍早くモダンでパフォーマンスの高い APIを実装することができる (公式ドキュメント引用 ) - 認証 REST リアルタイム通信 GraphqlQLの実装の拡張 など提供している機能が豊富
どんなところが新しい開発体験なのか?
開発工数(特にバックエンド側)を大幅に節約できる
Graphqlスキーマ、APIを書く必要が基本ない
バックエンドは複雑なロジックだけコードをかけば良くなる HasuraにはRemote Schemaという機能があり、一部分をコードにすることができる
Graphqlの仕様を考える必要がない 本来であれば・・・ - Graphqlの命名規則 ページネーション QueryやMutationの引数 などを決めてチームで統一する必要があるが、 ↓ Hasuraで既にこれらの仕様がある程度決まっているため考える必要がなく、統一しやすい
自動でAPIを構築するので、安定したAPIを提供できる
フロントエンドがバックエンドの実装を待つことが減る 「一旦UIを作る → バックエンドができたらAPIを使ったつなぎ込み」 という開発フローだったのが、Hasuraを使用することで いきなりつなぎ込みを含んだUIの実装に映ることができる
結論 「スキーマAPIを書く必要がなく、必要なときだけコードを書く」 + 「Graphqlの命名規則、設計をあまり考えなくて良い」 + 「バグの少ないAPI」 + 「フロントがバックエンドの実装を待つことが減る」 ↓ 「開発工数の大幅な節約になり、新しい開発体験を得ることができる」
Hasuraを実際に使ってみて感じた課題感 - フロントのコードが複雑になりやすい - テーブル変更した時にAPIの修正を忘れる - 複雑なアプリだとバックエンドのコードが増えそう
最後に 今回興味を持っていただいた人向けに簡単に始められるリポジトリ (https://github.com/nozomi-iida/hasura-todo)を作ってみたので、よかったら試してみてください こんな人には特に触ってみて欲しいです! - Hasuraを使ってみたい人 Graphaqlがどんなものなのか触ってみたい人 ご清聴ありがとうございました!