ご存知のとおり、企業は通常、フロントエンドとバックエンドを別々に記述することを要求します。なぜこれを行うのでしょうか?今回はなぜフロントエンドとバックエンドを分けて書く必要があるのかをお話します。以下は実際のケースです。
フロントエンドとバックエンドの分離のワークフローを試したことがない場合は、まず次のようにプロセスを変更してみてください:
PM:「この機能が欲しい」からプロセスを変更します。
バックエンド:「最初」テンプレートを作成するためのフロントエンドを見つけます
フロントエンド: 「テンプレートが完成しました」
バックエンド: 「接続しましょう、ここのスタイルは間違っています」
フロントエンド: 「修正が完了しました」
バックエンド: 「関数の配信」
PM: 「このアクティビティは春節中に追加されます」
バックエンド: 「まずテンプレートを変更するフロントエンドを見つけましょう」
フロントエンド: 「テンプレートは次のとおりです」完了しました」
バックエンド: 「接続させてください、ここのスタイルは間違っています」
フロントエンド: 「変更が完了しました」
バックエンド: 「機能提供」
フロントエンド:「インターフェースが欲しい」
バックエンド:「インターフェースが完成しました」
フロントエンド:「接続して機能を納品させてください」
PM:「中に追加したい」このアクティビティは「
フロントエンド:「インターフェースを追加する必要があります」
バックエンド:「インターフェースが完成しました」
フロントエンド:「接続して機能を提供します」
フロントエンド テクノロジーの開発と反復により、フロントエンド MVC フレームワークが誕生しました。React、Vue、Angular などの現在の主流のフロントエンド フレームワークを使用して、次のような Web サイトを簡単に構築できます。同時に、このクラス フレームワークはすべて、フロントエンド ルーティング機能 を提供し、ルーティング ジャンプを制御できなくなり、元々フロントエンドに属していたすべてのビジネス ロジックをフロントエンドにスローします。 -end これは、フロントエンドとバックエンドの最も完全な分離であると言えます。以下はフロントエンド制御ルーティングのコードです:
'use strict'export default function (router) { router.map({ '/': { component: function (resolve) { require(['./PC.vue'], resolve) } }, '/m/:params': { component: function (resolve) { require(['./Mobile.vue'], resolve) } }, '/p': { component: function (resolve) { require(['./PC.vue'], resolve) }, subRoutes: { '/process/:username': { component: function (resolve) { require(['./components/Process.vue'], resolve) } } } } }) }
フロントエンドとバックエンドの分離の実装により、技術担当者、特にフロントエンド担当者の要件が高まります。フロントエンドの作業は単なるものではありません。ページの切り取りやテンプレートの作成、または単純な JS ロジックの処理について、フロントエンドではサーバーから返されるさまざまなデータ形式を処理する必要があり、一連のデータ処理ロジック、MVC のアイデア、およびさまざまな主流フレームワークを習得する必要もあります。
メリットと意義
フロントエンドとバックエンドの分離の意味はフロントエンドレンダリングの意味と考えることもできますが、主に以下の4点をまとめました:
フロントエンドを完全に解放する
フロントエンドは、バックエンドまたはバックエンドにテンプレートを提供する必要がなくなりました。バックエンド コードは、次のようにフロントエンド HTML に埋め込まれます。これは、フロントエンドとバックエンドの間に結合されており、可読性が低くなります。
<!--服务器端渲染 --><select> <option value=''>--请选择所属业务--</option> {% for p in p_list %} <option value="{{ p }}">{{ p }}</option> {% endfor %}</select>
上記はフロントエンド レンダリングのコードです。フロントエンドは AJAX を介してバックエンド インターフェイスを呼び出します。データ ロジックはフロントエンドに配置され、フロントエンドによって維持されます。
作業効率の向上と分業の明確化
フロントエンドとバックエンドを分離するワークフローにより、フロントエンドはフロントエンドの事項のみに集中し、バックエンドはバックエンドの活動のみを考慮することができます2 つの開発は同時に実行できます。バックエンドがインターフェイスを提供する時間がない場合は、最初にデータを書き込むか、ローカルの JSON ファイルを呼び出す必要はありません。ページの追加やルートの変更時にバックエンドに煩わされることがなくなり、開発がより柔軟になります。
部分的なパフォーマンスの向上
メンテナンスコストの削減
デバッグ
、コードのリファクタリング、保守性の強化が必要なくなりました。 考察と洞察:
その過程で、最初のバックグラウンド コントロール ルーティングとバックグラウンド レンダリング ページから、現在のフロントエンド コントロール ルーティングとフロントエンド レンダリング データに至るまで、プロジェクトが次々に変更され、ワークフローとメソッドが変更されました。大きな変化。次のような状況に遭遇するたびに、フロントエンドとバックエンドの分離によってもたらされるメリットに感動してため息をつきます。
1. プロジェクトの最初にフロントエンド ページを作成するときに、もう必要ありません。サーバー
環境を設定するためのバックエンド2. バックエンド インターフェイスを呼び出す必要があるときに、プロジェクトのフロントエンド ファイルをサーバーに投入することができます。プロジェクト ページを追加してルーティングを設定する必要がある場合、バックエンドの同僚に追加を依頼する必要がなくなり、フロントエンドで自分で行うことができます4. フロントエンド ファイルがバックエンド コードと混合されなくなりました。ロジックが改善され、かなり快適になりました5. ページのジャンプが以前よりスムーズになり、部分的なレンダリングと部分的な読み込みが非常に高速になりました
6. ページ テンプレートを使用すると、フロントエンド コンポーネントの開発効率が向上します
すぐ。フロントエンドの急速な発展に直面して、フロントエンドとバックエンドの分離という現在の作業方法は、それによってもたらされる作業方法とプロセスの変化に適応する必要があります。 -エンド開発者は、新しいフロントエンドを普及させる責任があり、変化をもたらす責任があります。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
関連書籍:
Angularjs で mvvm スタイルのタブを実装するには? Case + code以上がなぜフロントエンドとバックエンドを別々に記述する必要があるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。