Jamstackを使用してWebアプリを構築する9つの理由

柔軟で反復可能なアプリケーションを短時間で構築することは困難な場合があります。AWS、Azure、GCPなどの有名なクラウドは、スケーラブルなウェブアプリケーションを数週間以内に低コストで提供するのに役立ちます。管理対象データベースを選択し、アプリケーションコードをDockerコンテナーまたはバックエンド関数に移動し、コードの変更にすべてをデプロイします。それが現代のアプリケーション開発の様子ですよね?

この投稿では、TypeScriptで記述され、Vercelを介してデプロイされ、FaunaDBと呼ばれるサーバーレスデータベースに支えられたNext.jsアプリケーションを使用して、驚くべきペースでソフトウェアを開発および出荷するために必要な最も重要なことについて説明します。これらのそれぞれについて詳しく説明し、あちこちにいくつかの例を追加します。それらすべてを試すことを強くお勧めします。それらはすべて寛大な無料枠があり、最大3人のメンバーからなる小さな開発者チームが使用できます。

サーバーレス製品と組み合わせた開発者中心のデプロイメントプラットフォームの使用法は、Jamstackとして要約されています。「JAM」とは、JavaScript、API、およびマークアップを意味します。Jamstackの詳細については、// jamstack.org/を参照してください。

展開は実装の詳細です

クラウドで利用できるサービスの数は圧倒的です。この時点で、AWSには250の異なるサービスがあります。新しい機能、非本番環境、および本番環境のデプロイメントを接続してセットアップする方法を定義する必要があります

複数の開発者が並行してプロジェクトに取り組んでいる場合は、URLを同僚に渡して、現在の機能ブランチを共有したいと思います。

さらに、ドメインとサブドメインの設定、サービスのスケーリング、パブリックエンドポイントの配線、データベース接続の管理、シークレット管理の設定などが必要です。 

Vercelプラットフォームは、GitHubやGitLabなどのバージョン管理システムとシームレスに接続します。リポジトリに接続し、ネームサーバーのホスト名設定を調整するだけで完了です。

現在のプロジェクトでは、ソフトウェアが機能し、ソフトウェアの標準とベストプラクティスを満たしていることを確認するために、各ビルドで使用されるいくつかの便利なnpmタスクを定義しました。

{{

「スクリプト」:{

    "tsc": "tsc"、//型安全性をチェック

    "lint": "eslint"、//静的コード分析を行う

    "lint:ci": "eslint --max-warnings = 0"、

    "lint:fix": "eslint --fix"、

    "test": "jest --watch"、//テストを実行します

    "test:ci": "jest --ci"、

    "test:coverage": "jest --coverage"、

    "チェック": "npm-run-all lint:ci tsc test:ci"、

    "dev": "env-cmd next dev"、//ローカル開発環境を開始します

    「開始」:「次へ」、

    "start-port": "next start -p $ PORT"、

    「ビルド」:「次のビルド」、

    "now-build": "npm-run-all check build"、// CIビルド

    「サーブ」:「次のスタート」、

  }

}

デフォルトでは、Vercelはnow-buildすべてのビルドでタスクを実行します。これにより、コードを静的にチェックし、すべてのテストを実行し、ソフトウェアをビルドする他のタスクがトリガーされます。

すべてが正常に機能するという事実により、私は多くのデプロイメントプラットフォーム機能をすぐに利用できます。私は、将来問題が発生することなく、今後の改善の恩恵を受けています。