web-dev-qa-db-ja.com

フロントエンドとバックエンドの違いをクライアントに説明するにはどうすればよいですか?

私は現在、中規模のショップを初めてオンラインの世界に導入するプロジェクトを管理しています。

技術に詳しくないショップのオーナーは、「フロントエンド」と「バックエンド」の意味を理解できず、誰かが良いアイデアを持っているかどうか疑問に思っていました。

彼は現在、フロントエンドを通常のユーザーが表示および使用するWebサイトの一部を意味し、バックエンドをWebサイトの管理者の一部として理解しています。しかしもちろん、管理システムはまだフロントエンドです—彼はこれを理解していません。

また、MSパブリッシャーを使用してニュースレターをまとめることができるのと同じように、フロントエンドは誰でも作成できると考えています。

23
Lars

通常、私はプロジェクトのコアではないかもしれないが、クライアントの背後にある哲学を説明する例から始めることを好みます。そして、クライアントがコンセプトを理解したら、彼はあなたを信じ始め、そしてあなたはコアトピックを持ち込むべきです。例を挙げて説明しましょう。最初に、彼がCarのような日常業務で使用しているものを参照して、フロントエンドとバックエンドのアイデアを説明してください。だから、あなたは彼に車が

  • front-endは、ボディ、ダッシュボード、ステアリングコントロールなどです。
  • バックエンドは、エンジン、トランスミッションライン、パワーシステムなどになります。

彼がこの部分を理解したら、次に挙げる例のそれぞれを次のようなプロジェクトに関連付けます。

  • 車のダッシュボード->ウェブサイト管理ページ
  • 車体->プロジェクトのウェブサイト
  • 車のエンジン-> html/jsなど
  • 燃料タンクからの自動車燃料->データベースからのデータ

だから、私はあなたが私のポイントを得たと思います。最初にそれらを快適にし、次にあなたの例を実際の問題と関連付けます。

10
Ankit

フロントエンドとバックエンドは、これらのインターフェースとサービスの初期ユーザーに関連して、プログラムのインターフェースとサービスを特徴付けるために使用される用語です。 (「ユーザー」は人間またはプログラムの場合があります。)

  • 「フロントエンド」アプリケーションは、アプリケーションユーザーが直接操作するアプリケーションです。

  • 「バックエンド」アプリケーションまたはプログラムは、フロントエンドサービスをサポートするために間接的に機能します。通常は、必要なリソースに近いか、必要なリソースと通信する機能を備えています。

バックエンドアプリケーションは、フロントエンドと直接対話する場合があります。または、より一般的には、フロントエンドとバックエンドのアクティビティを仲介する中間プログラムから呼び出されるプログラムです。

フロントアプリケーションは、ゲーム、課金ソフトウェアなどのように表示、編集、または作業できるアプリケーションです。バックエンドアプリケーションは、フロントエンドが要求したときに実行されるデータのコレクションを持つデータベースです。コーディングを行う人はフロントエンドの設計で、残りはバックエンドです。

  • フロントエンドには、RTLの説明、シンセサイザ、verilog/vhdlエンティティ、シミュレータが含まれています...

  • バックエンドには、フロアプラン、配置配線、パッケージング、テストが含まれます...

Visual BasicはフロントエンドですAccessはバックエンドです

2
udayanga

顧客はおそらく、バックエンドまたはフロントエンドが何であるかを知ったり、気にする必要はありません。ユーザーにとってそれは単なるウェブサイトであり、彼らが心配しているのは彼らが必要とすることをするために働くウェブサイトだけです。このような詳細の複雑さは、問題ではなく私たちが関心を持っているものであるため、顧客に説明しようとすることは、ソフトウェアをより使いやすくするという目的を打ち負かしています。

参照: http://en.wikipedia.org/wiki/Front_and_back_ends

Front endは、ユーザーが表示して操作するものです。 Back endは、データを処理するものです。 back endは、front endによって作成されたフォーマットと検証を利用するか、これらのタスク自体を実行します。例えばfront endがユーザー入力に限定され、検証がサーバー側で行われる場合。

2
dnozay

1つの方法は、顧客を教育することです。彼にウィキペディアを読んでもらい、現在の知識と記事に違いがあるかどうか尋ねます。

フロントエンドは、ユーザーからのさまざまな形式の入力を収集し、バックエンドが使用できる仕様に準拠するように処理する責任があります。フロントエンドは、ユーザーとバックエンド間のインターフェースです。

ソフトウェアアーキテクチャでは、ハードウェアとエンドユーザーの間に多くの層が存在する場合があります。それぞれ、フロントエンドとバックエンドがあると言えます。 フロントは抽象化されており、ユーザーフレンドリーなインターフェースを提供することにより、基盤となるコンポーネントを簡素化しています。

参照: Wikipedia-フロントエンドとバックエンド

もう1つの方法は、車のダッシュボードやフロントエンドのすべてのドライバーコントロール、エンジン、ステアリングメカニズム、バックエンドのブレーキ機能などのメタファーを使用することです。

2
Benny Skogberg

クライアントは「バックオフィス」と「バックエンド」という用語を混同しています。これは悪くありませんドメイン内。適切な言語で適切な対象者とコミュニケーションをとる方法を説明します。

1
New Alexandria

クライアントに高級ホテルについて考えてもらいます。

フロントエンドは、ホテルでの立ち入りが許可されているすべての場所のインテリアデザインに加えて、直接対応するスタッフのマナーとドレスで構成されています。

バックエンドは、キッチン、ボイラー室、大量の洗濯を行う部屋、無限に曲がりくねった空洞のある従業員専用の地下室の廊下とダクト、積み込みドック、必要な数百人から数百人で構成されます。これらすべてを舞台裏でスムーズに動作させるために。

あなたの特定のクライアントの混乱に対処するために、確かに-それは彼または彼女のものを知っている世界クラスのシェフによって運営されているという理由で、キッチンは本当に素敵で超ハイテクに見えるでしょう。ホテルの常連客が実際に自分の部屋に置きたいと思うようなものであるかもしれませんが、ホテル全体の料理はまだインフラストラクチャの懸念事項であるため、そうしない理由はそうではありません。

クライアントの管理パネルはまったくバックエンドではありませんが、ホテルの常連客の部屋の電話(または裕福な場合はコンシェルジュ)と同じように、バックエンドを制御するための素晴らしい抽象化または単純なダイヤルのセットです。ホテルのインフラストラクチャ機能のほとんどを呼び出すことができる抽象化。

1
Montagist

長期的には、Webサーバーとクライアントマシン間の相互作用を説明するのが最適です。つまり、クライアントがWebページを受信する前に初期バックエンドコードがどのように実行されるか、および追加のバックエンド相互作用が更新するためにサーバーからのリクエストがさらに必要になるページ。

ただし、メタファーを使用する必要がある場合は、Webページのフロントエンドコードはスケルトン、スキン、反射筋と言ってください。つまり、HTMLコントロールのレイアウト、CSSコントロールの外観、JavaScriptコントロールの基本的な相互作用です。 バックエンドコードは頭脳です、つまりフォームの送信とあらゆる種類のデータベースの相互作用を処理するコード。

1
Tim Huynh

フロントエンドは、通常はHTMLで記述されたブラウザーのWebページであることを伝えます。バックエンドは、ブラウザのHTMLフロントエンドページと通信するサーバー上のソフトウェアです。彼らのために絵を描いてください。

場合によっては、ソフトウェア開発の詳細に関するいくつかの基本的な質問をされることがあります。それはそのうちの1つです。バックエンド開発とフロントエンド開発の違いは何ですか?より詳細な回答が必要な場合は、ブログで説明を確認してください。ここでは、質問を簡単に説明します。フロントエンドとバックエンドのソフトウェア開発:実際にはどのように違い、何が関係していますか? http://ddi-dev.com/blog/programming/backend-and-frontend-web-development-comparison/

フロントエンド

この用語は一目瞭然です。フロントエンドは、ボタン、メニュー、画像、テキストなど、ユーザーがWebサイトで表示および操作できるすべてのものを表します。基本的に、フロントエンドは、コードで記述されているため、生命を吹き込んだデザインです。ボタンをクリックするか、ボタンの上にマウスを置くだけで、色の変化やアニメーションの発生を確認するたびに、フロントエンドコードが機能します。フロントエンド開発は実装の点で少し簡単であると考えられていますが、常にそうであるとは限りません。ビューポートのサイズを変更すると動的に変化するレスポンシブデザイン、クロスブラウザーの互換性、そして単に一般的な操作感と外観には、エンジニアリングの複雑さが多く含まれています。

バックエンド

クリックしてサインインするか、ソーシャルメディアリストで友達を探すたびに、バックエンドコードが発生します。バックエンドは、Webサイトをサポートするロジックを強化します。ログインの例は、データベースでアカウントデータを検索し、入力を検証して、アカウントが存在し、入力したパスワードで保護されていることを確認するだけなので、おそらく最も単純な例です。バックエンド部分の複雑さは、ウェブサイトが何ができるかに直接依存します。たとえば、Facebookニュースフィードエンジンは、世界で最も複雑なバックエンドアルゴリズムの1つです。アクションを学習し、フィードを変更して、可能な限り魅力的なものにします。それが少数の一般的な機能を備えたeコマースWebサイトである場合、バックエンドの複雑さはそれほど印象的ではない可能性があります。

0
Maryna Blynova