---
title: "コード優先からSitecore優先への移行"
slug: "transitioning-from-code-first-to-sitecore-first"
abstract: "いつSitecore優先に切り替えるべきか、そしてJSSアプリからコード先行のアーティファクトをどう浄化するか"
---
# コード優先からSitecore優先への移行

公式のアプリケーションサンプルに基づいて作成されたJSSアプリケーションは、デフォルトで [コードファーストのワークフロー](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/code-first-development-workflow.html "Code-first development workflow") を用いるよう設定されています。ほとんどの場合、JSSアプリは切断されたデータを扱いSitecoreにインポートするのではなく、Sitecoreを主なデータソースとして扱う方向に移行します。

コードファーストのワークフローでは、Sitecoreのテンプレートやコンテンツは[Manifest API](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/jss-manifest-api.html "JSS Manifest API")を用いてJavaScriptで作成されます。

マニフェストAPIは、Sitecoreの項目でできることをすべて完全に再現したものSitecoreではありません。もしフロントエンド開発チームがコード優先のワークフローで行き詰まったなら、Sitecore優先のワークフローに切り替える時かもしれません。

以下の場合は、Sitecoreファーストの開発に切り替えることをおすすめします:

-   あるアプリはコード優先の切り離されたプロトタイプとして始まり、現在Sitecoreとの統合へと移行しています。
-   アプリ開発者はJavaScriptよりもSitecoreでの作業に慣れており、馴染みのあるバックエンドを好みます。
-   インポートプロセスが制限が多すぎて、アプリはSitecoreのアイテムシリアライズに移行しています。
-   分岐テンプレートを作成したいのです。
-   標準価値アイテムのレイアウトにレンダリングを追加したいのです。
-   コンポーネントの **Datasource Location** フィールドを設定できる機能が必要です。
-   [レイアウトサービスの](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/layout-service.html "Layout Service")応答をよりコントロールしたいのです。

Sitecore優先開発に移行するには、インポートデータをSitecoreにプッシュするのを避けることができます。

しかし、Sitecore優先開発への切り替えを決定したため、アプリ [からコード優先のアーティファクトを削除](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/remove-code-first-artifacts-from-a-jss-app.html "Remove code-first artifacts from a JSS app") し、雑多さを避け、誤ってデプロイを防ぐことをお勧めします。

## 除去後の作業

コード優先のアーティファクトがアプリから削除された後、Sitecoreの新しい項目はJSSアプリケーションからは得られません。

ここから先は、おそらく [接続モードで](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/start-a-jss-app-in-connected-mode.html "Start a JSS app in connected mode")作業することになり、アプリはローカルで動作しますが、HTTP(S)経由で利用可能なSitecoreインスタンスからデータを取得しています。

新しいフロントエンドコンポーネントを作成するとき:

-   Storybookのようなツールを使わない限り、作成中に実際に動作している様子を見ることはできません。
-   Sitecoreでデータソーステンプレート、レンダリングアイテム、データソースアイテムを手動で作成する必要があります。
-   レンダリングはエクスペリエンスエディター、コンテンツエディターの **プレゼンテーション詳細** ダイアログ、またはXM Cloudページを使って、Sitecoreページに手動で追加する必要があります。

Sitecore優先開発時には、jss deploy app -c -dコマンド*を実行してはいけ*ません。