Railsは、最初に1人で開発するには、効率が良いですが、チームで開発する場合は、沢山の打ち合わせが必要になったり、他人のソースを後から読んで分析して、メンテナンスするには、向いていないのとかなり低速でC10K問題に対応していないので、終わっていると言われております。
上記問題をクリアしている言語に、Go言語とV言語とRustがありますが、V言語とRustはガベージコレクションも無く、かなり高速でチームでの開発効率が良いと言うメリットが御座います。しかしRustは、学習してマスターするのが、難しいと言うデメリットが御座います。
V言語は、2021年5月現在では、フレームワークと合わせて、まだ、若くて完成度が今一つです。
将来的には、Go言語とV言語は、構文がかなり似ており、特徴もそっくりなので、移植もしやすいと思います。
上記の事とGraphQLとPrismaとGo言語は、相性が良いと言う最大のメリットなどから、5月現在なら、Go言語がベストだと思います。
gqlgen + Prisma Lift + gormで出勤管理を作ってみた。(Prisma&Graphql&Golangの最先端情報2021/04/05現在)- https://neovisionconsulting.blogspot.com/2021/04/gqlgen-prisma-lift-gormprismagraphqlgol.html
https://neovisionconsulting.blogspot.com/2021/04/prismaio-go-api-prismaapigraphqlok.html
令和時代にGraphQLを知らないエンジニアはいらない!GraphQLとPrismaのバックエンド開発入門(GraphQL Yoga編)
はじめに
平成後半はAPIの全盛期でした。SaaSが一般化し、SOAPなどのXMLベースの複雑なAPIからJSONベースのシンプルなAPIが主流となり、バックエンドのAPIと言えばJSONベースのREST APIを指すことがほとんどになりました。しかし、REST APIはフォーマットがJSONでシンプルになった一方で、インターフェースに明確な仕様がなく、開発者によって微妙に使い方が異なるという独自仕様の乱立に繋がりました。これはなんとかしなければいけません。エンジニアはいつももっと分かりやすくシンプルにならないかを考えています。そんな平成最後にFacebookが示した一つの解がGraphQLです。GraphQLはエンドポイントを一つにし、インターフェースを統一することで、新しいAPIを誕生させました。まだ発展途上の技術ではありますが、令和の新しい時代に相応しいクールな技術であることは間違いありません。
今回は、GraphQLとPrismaを用いて、バックエンドのAPIを作ってみましょう。
GraphQLとは?
GraphQLとは、APIのために作られたクエリー言語であり、型システムを使ってスキーマを定義することで、統一的なインターフェースを提供する仕組みです。エンドポイントが一つになるため、REST APIの時のように複数のエンドポイントを必要とせず、シンプルに設計されています。さらに、スキーマの情報からドキュメントも自動的に作られるため、APIドキュメントを作る作業からも開放されます。良いところばかりですね。
Prismaとは?
Prismaとは、データベースのための新しいORマッパーです。Prismaサーバーとして、バックエンドAPIとデータベースの間に配置することで、MySQL、PostgreSQL、MongoDBといった具体的なデータベースを完全に隠蔽し、バックエンドAPIからはPrismaが自動生成したGraphQLのクエリーでアクセスできるようになります。データベースアクセスをGraphQLのインターフェースにしてしまうということです。
GraphQLとPrismaのバックエンドを開発しよう
それでは、GraphQLとPrismaのバックエンドアプリケーションをつくってみましょう。
WEBプログラマー&ITコンサルティング
aon(エーオン)代表
石塚 正浩
070-3861-5011
0 コメント:
コメントを投稿