WebFormからの脱却 ASP.NET Core + React + TypeScriptで作るWebアプリ
ASP.NET Core + React + TypeScriptでWebアプリを作成する方法を数回に分けて説明していきます。
また、Dockerを使った開発環境の構築も説明します。
このページは概要と目次のページです。
概要
.NET Frameworkから.NET Core(.NET5 〜)に移行することになり、今までのVB.NET + WebFormのようなレガシーな環境から、C# + WebAPI + フロントエンド(React、Vueなど)へ作り変えることが多くなってきました。
レガシーなASP.NET WebFormのWebアプリからの脱却を図るため、新しい環境でのプロジェクト構成を検討している人に読んでいただきたい記事になります。
言語、環境
開発環境や言語は以下を使用しています。
- Docker
- VSCode
- .NET6 ASP.NET(C#)
- PostgreSQL
- React
- TypeScript
ASP.NET Core
レガシー環境でよく見られる3層アーキテクチャではなく、DIコンテナを使ったDependency Injectionを使用し、クリーンアーキテクチャで実装します。
3層アーキテクチャ
プレゼンテーション層
↓
アプリケーション層
↓
データアクセス層
クリーンアーキテクチャ
プレゼンテーション層
↓
アプリケーション層(ドメイン層)
↑(依存関係の逆転)
インフラストラクチャ層
フロントエンド
React + TypeScriptのプロジェクトで実装します。
TypeScriptを導入することにより、事前に型チェックなどが行えるためビルドエラーを検出できるようになるため、実装効率も上がり、実行時エラーが発生する可能性も格段に減ります。
eslintやprettierを使用して、コーディング規約のチェックやコードフォーマットなどの設定も自動で出来るようにします。
目次
各記事へのリンク一覧です。随時更新中です。
開発環境の構築
プロジェクトの作成
- ASP.NET Core + Reactのプロジェクトを作成する
- ASP.NET Core dotnet watch runでソースコードを保存時に自動で反映する
- ASP.NET Core + React dotnet watchの再起動時にReactのプロジェクトを再起動させない方法
- ASP.NET Core + Reactで作成したプロジェクトにTypeScriptを導入する
- ASP.NET Core + Reactのプロジェクトにeslintとprettierを導入する
- ReactのプロジェクトにEditorConfigを導入して文字コードや改行コードを統一する
- ASP.NET Core + Reactのプロジェクトをgitで管理するための設定
- ASP.NET Core ソリューションを作成して複数のプロジェクトを管理する
データベースの構築
- Docker PostrgeSQLのコンテナを作成する
- Docker pgAdminを導入してPostgreSQLをGUIで管理する
- ASP.NET Core Docker環境のPostgreSQLに接続してデータを取得する
- ASP.NET Core DBの接続文字列を設定ファイルから取得する
- ASP.NET Core appsettings.jsonを別プロジェクトで読み込む