2

シングルページアプリケーションを開発する際には、私は自分のプロジェクトを設計する最良の方法であると常に疑問を抱いています。クライアントとバックエンドを分離する必要がありますか?クライアントアプリケーションをバックエンドコードと同じサーバーに配置する必要がありますか?クライアントとサーバーの複数のホスティングプランに投資すべきですか?だから私は、単一のページアプリケーションを整理し開発するための最良のアプローチは何ですか?SPAを開発する最良の方法は何ですか?

+0

なぜクライアントとサーバーコードを別のサーバーに配置する必要がありますか?あなたはこれを扱うフレームワークを見ましたか? – epascarello

+0

これは、ror、.netなどを使って単一のページアプリケーションを作成する方法を示すチュートリアルがたくさんあるためです。また、アプリケーションは常にマスターページまたは.erbファイルに埋め込みます。他のサーバーで動作するapiを消費するために、プレーンhtml5を使用してアプリケーションの開発を示す他のリソースがあります。 – user1659653

答えて

4

私が最初に始めたとき、これは私が持っていた質問であり、オンラインで完全な回答を見つけることは難しかったです。一般的に言えば、これは単純すぎるものですが、ここでは企業がこのプロセスをどのように進めていくかです。

モノリス:バックエンドとフロントエンドのコードが同じプロジェクト内にあるアプリケーション。

これが意味するもの:コードベースはすべて問題なくそのまま維持できます。当初は複雑さが少なく、生産にかかる時間も非常に短かったので、「外出する」方が簡単です。 「システム」のさまざまな部分が互いにどのように話し合っているかなど、複雑さはありません。すべてのスタートアップがここから始まります。

最終的に、開発者が新しい機能やアイデアを詰め込むと、コードベースは非常に維持されなくなります。また、APIは公開されていないため、このアプリケーションでのみ使用できます(詳細は後述)。

フロントエンド& API:フロントエンドコードとAPIが異なるコードベースで別々に存在するアプリケーション。 APIは通常、フロントエンドコードがこのデータを消費して表示するJSON形式のデータだけを提供します。

意味: APIとフロントエンドのコードベースを分割したので、APIを使用して、必要なフロントエンドアプリケーションのデータを提供できます。たとえば、Webとモバイルを考えてみましょう。彼らは両方とも同じAPIを使用することができます。大規模なアプリケーションの場合、これははるかに管理しやすくなり、バックエンドプロセスとフロントエンドプロセスの両方でチームを構築できます。プロジェクトが成長するにつれて、スケーリングと効率性が向上しました。

ここ短所等、必ず同期している作り、あまりにも更新を行う、あなたは今までキープ、維持するために2つの別々のコードベースを持っているということです

FEBE &マイクロサービス:すべてのアプリケーションFEBEは「フロントエンドのバックエンド」であり、マイクロサービスとはサービス(APIでもよい)であり、内部で非常に特定の機能を果たすサービスですビジネスロジックこの世界のフロントエンドは、その目標を達成するためにいくつかのマイクロサービスを消費する必要があります。

これが意味するもの:これは、成功した場合、大きな企業が最終的には成功するところです。繰り返しますが、大企業のすべてがこの分野でインフラストラクチャを運用しています。このアーキテクチャは、コーディングや開発よりもチームにとってははるかに優れています。数百人のエンジニアを抱える企業は、所有するシステムと管理するシステムをそれぞれ提供して、自分のペースで生産などを行うことができます。

ここで、システムは数百人力がなければ、維持することは非常に困難になる。企業がこれを行うのは、チームが非常に効率的かつ独立して業務を行うことができるからです。あなたに

スタートアップなどのすべての企業は、一般的に

など、彼らが生き残るように、モノリスで始まる、このリストを下に移動し、収益を回し、黒字化、より多くの人を雇う

私のアドバイスはこれです: Node.js(Express)バックエンドとReact.jsまたはAngularフロントエンドのいずれかを使用してモノリスを起動します。

Node.jsは未来であり、学習するのが非常に簡単でReactまたはAngularのどちらかがフレームワークの観点からは良いスタート地点なので、これは私が言うことです。

フェーズ2(フロントエンドとAPI)に移動するとき、Node.jsに固執し、おそらくその時点でReactします。そうであれば、HandlebarsでAPIのデータを消費して終了します(フロントエンドフレームワークをまったく使用しない)。

これが役に立ちます。私は何年も前に答えを探していたときに、これがどうして欲しかったのか分かっていたので、私は答えました。

+1

これは完全な答えであり、FEBEのアプローチは私には全く新しいものです。ガイダンスをありがとう。私はこれを強力な答えの候補と考えています。 – user1659653

+1

うれしい私は助けることができました! – sidewalksalsa

関連する問題