2022年4月29日

Prisma が Amplication のバックエンド開発の進化をどのように支援するか

Amplicationはオープンソースの開発ツールです。繰り返し発生するコーディングタスクに時間を費やすことなく、高品質なNode.jsアプリケーションを開発するのに役立ちます。バックエンド開発者とフルスタック開発者の両方に最適です。

How Prisma helps Amplication evolutionize backend development

開発者の集中を優先する

Amplicationを使用すると、開発チームは複雑なビジネスロジックとアプリケーションのコア機能に集中できます。開発者は生成されたソースコードをダウンロードし、自由にプロジェクトをカスタマイズするためにスキルを活用できます。

Prismaの助けを借りて、Amplicationはプロの開発者向けに最新ツールのフルスタックをパッケージ化し、ローコードとオープンソースによるアプリケーション開発の進化を推進しています。

プロの開発者を力づける

大企業で働いていた頃、Amplicationの創設者であるYuval Hazzazは、開始に反復的でエラーが発生しやすいタスクを必要とするビジネスアプリケーションを日常的に構築していました。彼のチームにはデータベース、操作するためのユーザーインターフェース、そしてAPIが必要でした。これらのタスクは、新しいアプリ機能の革新から時間を奪っていました。Yuvalは、開発者エクスペリエンスを向上させ、プロの開発者がビジネスアプリケーションを迅速に作成し、プラットフォームの機能を拡張できるようにする単一のプラットフォームを作成するソリューションを導入したいと考えました。

Amplicationを使用すると、シンプルで直感的なUI(またはCLI経由でも)でデータモデルを簡単に作成し、ロールベースのアクセス制御を設定できます。これらのモデル定義に基づき、Amplicationは本番環境に対応した、かつ完全にカスタマイズ可能なアプリケーションコードを生成します。このコードは継続的にGitHubリポジトリにプッシュされ、データベース、Node.jsアプリケーション、Reactクライアントを格納するための専用のDockerコンテナが提供されます。

Amplication UI

フルスタック開発者にとって、繰り返し発生するコーディングタスクは処理されますが、コードの完全な所有権は保持され、好きな場所にデプロイでき、生成されたアプリコードをダウンロードして他の場所で開発を続けることも自由にできます。

開発者はアプリをシームレスに開始するために必要な基盤を手に入れ、ロックインなしで必要なコードを変更・追加する能力を保持できます。Amplicationの提供するものは、まさに両方の良いとこ取りです。

Amplicationスタック

Amplicationは、彼らが内部で使っているのと同じ構成要素でアプリケーションコードを生成します。これらのツールはすべて実績のあるオープンソースであり、それぞれの開発者コミュニティで人気があります。

サーバーサイドでは以下を提供します

  • NestJS: 効率的で信頼性が高く、スケーラブルなサーバーサイドアプリケーションを構築するためのプログレッシブなNode.jsフレームワーク
  • Prisma: Node.jsとTypeScript向けの次世代ORM
  • PostgreSQL: 世界で最も先進的なオープンソースのリレーショナルデータベース
  • Passport: Node.js向けのシンプルで控えめな認証
  • GraphQL: APIのためのクエリ言語
  • Swagger UI: OpenAPI仕様に基づくREST APIの視覚的なドキュメント
  • Jest: シンプルさに焦点を当てた、楽しいJavaScriptテストフレームワーク
  • Docker: アプリケーションの開発、出荷、実行のためのオープンなプラットフォーム

Generated App Server-side Architecture

Amplicationチームはオープンソース技術とユーザー中心のコミュニティを強く信じており、この信念がユーザーに提供するツールの中心にあることを確信しています。

Prismaへの早期の賭け

2020年にAmplicationの作業を始めた当初、AmplicationのCEOであるYuval Hazazは、Prismaが彼自身と彼のエンジニアが使用するツールであるだけでなく、Amplicationユーザーが管理するスタックの中心的な歯車となることに早期に賭けました。他のORMオプションの中で、YuvalはPrismaが開発者のニーズを最もよく満たしていると感じ、Prismaコミュニティに強く納得していました。Yuvalは、コミュニティからの直接のフィードバックに基づいて、Prismaチームがユーザーに新機能を提供するために行ってきた継続的な作業に感銘を受けました。Amplicationは、オープンソースコミュニティが協力し、より良い開発者エクスペリエンスを生み出す能力を非常に重視しており、これはPrismaと共有する考えです。

「Prismaは本当に良い選択でしたし、Amplicationでの作業において大いに役立ちました。生成されたアプリで実際にPrismaを使用しているため、私たちにとっては実現を可能にするものであり、非常に使いやすいです。私たちはPrismaの慣習を標準として採用し、自分たちで物事を再発明する手間を大幅に省くことができました。」 - Yuval

Yuval HazazYuval Hazaz、Amplication CEO

コミュニティ以外にも、Prismaの機能はAmplicationチームの作業を容易にします。PrismaのTypeScriptエクスペリエンスは、Amplicationのデータ層にとって重要な要件でした。NestJSGraphQLをAmplicationによって生成されたアプリに組み込むことで、Prismaはスタックにおいて簡単に選択できるものとなりました。Prisma ClientはNestJSのモジュラーアーキテクチャにスムーズに統合され、驚くほどの型安全性を提供します。

Yuvalは、Prismaのマイグレーションが機能として初期段階であっても、Amplicationにとって重要になるとも認識していました。

「TypeScriptでのサポートと構築は、私たちにとって本当に素晴らしいことでした。マイグレーションも素晴らしいと思います。まだ初期段階で現在のようではありませんでしたが、私たちが追求したい重要なビジョンであり、決定をさらに容易にしました。」- Yuval

Yuval HazazYuval Hazaz、Amplication CEO

YuvalはPrisma Migrateが最初の導入以来改善されているのを見ており、質の高い開発者エクスペリエンスを提供し続けています。Prisma MigrateがPrisma Schemaの変更から完全にカスタマイズ可能なデータベーススキーママイグレーションを自動的に生成する能力により、Amplicationのエンジニアとユーザーは、エンティティ変更やエラー処理のためのリファクタリングに手間をかけることなく、新しいアプリ機能の構築に集中できます。

プロフェッショナルなアプリケーション開発製品は、ユーザーに適したツールを選択する能力に依存します。AmplicationはPrismaコミュニティを信頼し、Prismaの機能が開発者にとって最高の体験を提供していると信じています。これが、生成されるアプリに他の優れたツールとともにPrismaを含めている理由です。

Amplicationの今後

Amplicationは急速に成長を続けており、来年にはチームを倍増させる見込みです。現在の製品で既に成功を収めており、興味深い新機能が満載の広範なロードマップに取り組むことに熱心です。

彼らは最近、プロフェッショナルなローコードアプリケーション開発を現代のプログラミングプラクティスへと進化させるための作業を継続するために、660万ドルの大規模なシード資金調達を発表しました。

さらに、チームはAmplicationのエンタープライズ版に取り組んでおり、マイクロサービスアーキテクチャのサポート、Amplicationクラウドへのデプロイ、および大規模組織の要件をサポートするための幅広い機能が含まれる予定です。

また、Prisma Livestreamの「What's New in Prisma」でAmplicationと対談する機会がありました。両チームからのさらに興味深い洞察を聞くために、ぜひご覧ください。

次の投稿をお見逃しなく!

Prismaニュースレターに登録する

© . All rights reserved.