ASP.NETCore開発チュートリアル
最終更新日:
Kentico Xperience ASP.NET開発チュートリアルへようこそ。このチュートリアルでは、ASP.NETCoreを使用して簡単なXperienceWebサイトを作成する方法について説明します。
Xperienceからのデータを、HTML、タグヘルパー、およびインラインコードで構成されるビューおよびビューコンポーネントを介してライブサイトに表示するロジックを構築します。Xperienceでは、コンテンツはページタイプを使用してモデル化され、ニュース、記事、製品などのサイトコンテンツを保持するページ(それぞれ特定のページタイプ)に格納されます。
要件
このチュートリアルでは、ASP.NETCoreフレームワークの開発概念に関する高度な知識と、C#の経験及び標準の開発ツールへのアクセスが必要です。VisualStudioやVisualStudioCodeなどの開発用IDEも必要になります。
注:このチュートリアルの目的は、ASP.NETCoreの一般的な開発原則を教えることではなく、XperienceでWebサイト開発がどのように機能するかを紹介することです。
このチュートリアルを開始する前に、.NETCore開発の概念に精通している必要があります。すぐに参加するには、次の無料リソースを使用できます。
このチュートリアルでは MVC アーキテクチャパターンを完全に活用することはありませんが、このアプローチの背後にある概念を知ることは、特定の Xperience 機能がどのように機能するかを理解する上で有益です。
基本的な概念の整理
-
Xperienceの開発モデル
-
ライブサイトの仕組み
-
バックエンドの仕組み
-
アプリケーション間のデータ共有
-
Xperienceサイトのライセンス
-
Xperienceを使用する利点
Xperienceの開発モデル
Xperienceサイトは、ライブサイトを表示するコアアプリケーションとWebサイトの管理用のXperienceアプリケーションの2つの別個のWebアプリケーションを使用します。
-
ASP.NETCoreアプリケーション(ライブサイト)
フロントサイトは、標準のASP.NETCoreアプリケーションによって提供されます。これにより、ASP.NETCoreフレームワークによって提供されるすべての自由とその他の利点を得ることができます。Xperience API は NuGet パッケージを使用してアプリケーションに統合されています。
-
Xperienceアプリケーション(バックエンド)
コンテンツリポジトリとして機能し、管理インターフェースを提供します。これにはコンテンツ編集やユーザー管理などのデフォルト機能日加えて、システムが提供する豊富な拡張オプションのおかげで追加されたすべてのカスタム要素が含まれます。バックエンドアプリケーションは、ASP.NETWebフォーム上に構築されています。
-
共有データベース
上記両方のアプリケーションが同じデータベースを共有し、XperienceAPIを使用してデータを処理します。Webファーム機能は、メモリにキャッシュされたデータ(設定やページコンテンツなど)とファイル(メディアライブラリなど)の両方のアプリケーション間の変更を同期するために使用されます。
ライブサイトの仕組み
ライブサイトのWebユーザーは、コアアプリケーションとのみ対話します。ユーザーがブラウザからページをリクエストすると、アプリケーションはページのURLを対応するルートに一致させます。ルートは、要求を処理するコントローラーアクションを対象としています。通常、アプリケーションはXperienceAPIとXperienceアプリケーションから生成されたクラスを使用してページデータを取得し、データを対応するビューに渡す適切なモデルを準備します。ビューは、ブラウザに出力されるページ出力を定義します。
バックエンドの仕組み
編集者は、Pagesアプリケーションを中心としたXperienceの管理インターフェースでWebサイトのコンテンツを管理します。 コンテンツツリー内で構成されたページを作成し、(ウェブサイトの開発者が設計したコンテンツ構造に基づいて)ページフィールドに値を入力したり、ページビルダーのインターフェイスを使用してコンテンツを編集します。開発者は、Xperience APIを使用して、コアアプリケーションを介してライブサイトにコンテンツを表示します。
アプリケーション間のデータ共有
Coreアプリケーションと Xperienceアプリケーションは、Webファーム内でサーバーとして実行するように構成されています。両方のアプリケーションが同じデータベースを使用し、XperienceAPIを介して操作を実行するため、このような構成が可能になります。Webファームの同期化により、一方のアプリケーションで行われたデータやファイルの変更が他方のアプリケーションに即座に反映されます。
たとえば、Webサイトのエディタが管理インターフェイスでページのテキストを変更すると、データはデータベースで更新されます。その後、Xperienceアプリケーションは同期タスクを開始し、Coreアプリケーションはキャッシュ内の一致するデータを無効にするために実行します。コンテンツに対する新しい要求が来ると、Coreアプリケーションはデータベースから更新されたコンテンツを提供します。同じプロセスは、サイト設定や管理インターフェイスを通じて設定された他の値、およびファイルに対しても動作します。
次の図は、Xperienceサイトのアーキテクチャとデータフローをまとめたものです。
Xperienceサイトのライセンス
ライブサイトと管理用アプリケーションを別々のドメインで運用する場合、両方のドメインのライセンスを取得する必要があります。ただし、ライブサイト用のライセンスを購入するだけで、管理用の追加ライセンスは無料で提供されます。Xperience アプリケーションのライセンスの詳細については、ドキュメントを参照してください。
Xperienceを使用する利点
次の表は、Xperience開発モデルの利点をまとめたものです。
開発者 | コンテンツ編集者 |
---|---|
・標準のASP.NETCoreデザインパターンを活用してサイトを作成し、Razorビューエンジンを活用できます。 ・ライブサイトアプリケーションを管理インターフェースから分離することで、軽量、高速で最適化されたWebサイトを開発できます。 ・VisualStudioなどの標準的なツールを使用して開発できます。 ・カスタマイズしてWebサイトを拡張し、ASP.NET互換のライブラリまたはツールを統合して使用できます。 | ・把握しやすい管理インターフェースを使用できます。 ・ページビルダーとWYSIWYGリッチテキストエディタを使用してコンテンツを編集できます。 ・ワークフロー機能を使用して、ライブサイトに公開する前に変更をプレビューできます。 ・多数のオンラインマーケティングおよびeコマース機能を利用できます。 |
チュートリアル順路
この短いチュートリアルを最大限に活用するには、指定された順序でページの順序に従います。
原文:https://docs.xperience.io/13tutorial/asp-net-core-development-tutorial