BOS‐11 AWS Amplify ではじめる Webアプリケーション開発 - novel-suzukikeisuke/study GitHub Wiki
Web アプリケーションとは
- Web アプリケーション : インストール不要で、普段使っているWeb ブラウザから利用可能なアプリケーション
- モバイルアプリケーション: スマートフォンなどの端末にインストールする アプリケーション
Web アプリケーションの登場人物
- フロントエンド
- ユーザーに向けて情報を表示したりユーザーから入力を受け付ける
- インターネット
- バックエンド
- フロントエンドから 送信されたデータの処理を サーバー上で行う、 ホスティングや API、 データベースなどを指す
フロントエンドで利用される技術
- HTML や CSS、JavaScript などを 利用し、表示や操作を行うWeb ページを構成
- モバイルアプリの場合、Swift や Kotlin などを利用し Andorid や iOS アプリを作成
バックエンドで利用される技術
- Web サーバやアプリケーションサーバ、 データベースなどが該当し、 データの保存や読み出しを行う
- Python や Java、Node.js などを 利用しビジネスロジックを処理
- SQL などを利用してデータベースから データの読み書きを行う
Web アプリケーションの開発方法
Web アプリケーション開発の流れ
- ローカル開発環境で開発
- Git リポジトリへ変更を反映
- テストとビルドを行いアプリケーションを検証
- 本番環境の更新を行いインターネットに公開
ローカル環境での開発
- 個人のコンピュータで開発できる ように構築された環境
- 仮想マシンやコンテナなどを 利用することもある
- 開発者はローカル環境でデバッグ しながらソースコードを編集し 開発する
リポジトリへ変更を反映
- Git:ソースコードのバージョン管理を 行うソフトウェア
- ソースコードの変更履歴を共有し、 チームでレビューが出来る
- GitHub や AWS CodeCommit で コラボレーションできる
テストとビルド
- アプリケーションを本番環境に公開 する前にテストを行い品質を検証
- Git リポジトリへの反映をきっかけと して、変更したソースコードのビル ドやテストを自動化
- テストが合格したら本番環境を更新
本番環境の更新と公開
- テストに合格したアプリケーション を本番環境へアップデート(デプロ イ)を行い更新
- ここで、Web アプリケーションは最 新の状態になりインターネットで公開される
- 公開後もパフォーマンスやエラーな どのログやメトリクスを取得し信頼性を担保しましょう
Web アプリケーション開発の課題
本質的ではない開発
- 差別化するべきサービスのコアバリューとなる機能開発や改善に時間をかけられない
- 例 : 認証認可機能, プッシュ通知機能, 管理画面
継続的デリバリーの実現
- 継続的デリバリー:ソースコード変更を きっかけとして、自動的に本番環境環境 へのデプロイための準備がされるもの
拡張性のある設計
- サーバーやデータストアの選択, ミドルウェアの選定, セキュリティの確保
AWS Amplify で何を解決できるのか
AWS Amplify Gen2
- より早い開発
- 安定したリリース
- Git プッシュごとに フロントエンドとバックエンド にグローバルにデプロイ
- 制限のない拡張性
デモ動画視聴