ホームページ  >  記事  >  バックエンド開発  >  PHPを学ぶ際に、なぜPHPがフロントエンドに適し、JAVAがバックエンドに適しているのでしょうか?

PHPを学ぶ際に、なぜPHPがフロントエンドに適し、JAVAがバックエンドに適しているのでしょうか?

小云云
小云云オリジナル
2017-11-09 14:42:304750ブラウズ

このタイトルを見ると、バックエンドにはPHPが使われているのではないかという疑問が湧いてきます。大規模な Web サイトやシステムを対象としたフロントエンドには PHP、バックエンドには JAVA が適しています。単一言語を使用するのは非常に便利です。たとえば、淘宝網のコア開発言語は JAVA を使用しますが、フロントエンドのプレゼンテーション層は PHP を使用します。再質問: Python、Ruby、Perl など、Web 開発言語は多数あります。ネット、なぜ PHP を選ぶのですか?
その理由は次のとおりです:
PHP は柔軟性があり、すぐに開始でき、変更も簡単で、公開も早いという欠点があります (スペルミス、SQL インジェクション、アップロードの実行などのよくあるミス)。 、実行効率が低く、グローバル キャッシュが不足しています。 Java の利点は、安定性と信頼性が高く、操作効率が高く、間違いが起こりにくいことです (強力な型付け、プリコンパイル、例外をインターセプトする必要があるなど)。欠点は、開発と効率が低下することです。リリースは比較的少ないです。これは、ここでは相対的な用語であり、PHP が大規模な Web を開発できないという意味ではありません。また、十分な経験と能力がある人は依然として非常に効率的であるという意味でもありません。
次に、MVC 階層の観点から見ると、一般的な Web サイト プロジェクトの開発サイクルにおいて、要件の変更と調整が最も頻繁に行われるのはビューであり、次にコントローラー、最後にモデルが続きます。これは非常に簡単に理解できます。何もすることがないのに、誰が毎日データ構造を変更するでしょうか。多かれ少なかれ、バージョンがアップグレードされるたびに制御構造を変更する必要があります。 View に関しては、BU、PM、UED が 2 日以内に変更されないのはいつですか?
Web サービス/ヘシアン/RESTful API のいずれであっても、RPC テクノロジーは現在十分に成熟しているため、開発者は異種プラットフォーム間の違いや通信の詳細をあまり考慮する必要がありません。これは、大企業で 2 つの言語を同時に使用するソリューションでも、それほど複雑さや作業負荷がかからないことを意味します。
一般に、ユーザーのフロントエンドに近いところでは、PHPを使用すると、フロントエンドの頻繁かつ些細な更新をより速く完了でき、さまざまなニーズの変化に自由に対応できます。ページ構造の調整、ユーザー入力コンテンツの基本的な検証、ユーザー操作のみに関連する単純なロジックなどはすべて、PHP を使用した開発に適しています。ページの変更は、Smarty などのテンプレート テクノロジーを通じてフロントエンド チームに移行することもできます。基本的なビジネス ロジックとデータ更新は Java を使用して開発されており、再利用性、パフォーマンス、スループットを効果的に向上させ、セキュリティの問題を回避できます。開発効率の多少の低下は保守性の向上につながり、基本的なビジネスロジックの調整は全体的に修正することが多く、レイヤーごとのテストと確認を経てリリースできるため、リリース速度の遅さは問題になりません。 。
そのため、大規模な Web サイトでは、フロントエンドに PHP、バックエンドに Java が使用されます。これは、採用と保守が容易で、システムが安定し、パフォーマンスが高く、セキュリティが大幅に向上します。コードの再利用とドキュメントの完全性も向上しました。上記の利点をすぐに利用できる場合、建築家としてより幅広い知識を必要とすることはまったく問題ありません。

単一の言語を使用しない理由:

単一のソリューションで実際に適切な分離を実現でき、PHP はサービスも提供できます。実際、パフォーマンスの問題は、言語の違いではなく、アルゴリズムとアーキテクチャの問題であることがよくあります。 Velocity や JSTL なども優れた分離ソリューションです。
しかし、現実は多くの場合、理想よりもはるかに貧弱であることは誰もが知っています。これらの解決策は、高圧下では多くの問題を明らかにし、バイリンガリズムの利点を反映しています。これらは、変更が難しいいくつかの点を詳しく説明しています。動的スクリプト言語の特性により、PHP は、動作環境を確立する前に、クラス、関数、定数を含めて繰り返し実行する必要があり、FastCGI の解析速度を確保するために、コンパイルの品質が犠牲になります。他の言語とは異なり、フォーク コストを削減するためにプロセスを再利用するだけです。初期化が完了すると、FastCGI インターフェイスを通じてデータが取得され、対応するインターフェイスでデータが返されます。 JITブランドのスポーツカーでは、Javaのパフォーマンスを元の悪化から回復することは基本的に不可能です。
2. PHP では間違いが起こりやすく、見つけるのが難しいという事実は、公式の Zend Studio を使用したとしても変わりません。プログラムが高品質で大きな間違いがないことを確認するには、次のことが必要です。十分な厳格さと責任ある QA。 Taobao の Huang Shang 氏はかつて IDE について冗談を言いました。 「ミドルウェアの不足」というジョークの背後にある理由は、主に多くのミドルウェアのサポートがより広範囲になり、PHP に恩恵をもたらしたため、近年大幅に改善されましたが、その開発の根幹は依然として C および Java コミュニティにあります。 。パフォーマンスとエラーの発生しやすさは言語の特性に起因する技術的な問題であり、柔軟性と速度の代償として根本的な改善を期待することは困難です。
3. Java の世界には JSTL、Velocity、Freemaker などもありますが、PHP の柔軟で強力な動的機能、豊富な関数とクラス ライブラリ、容易な学習コスト、および法外な量のドキュメントに比べれば、それらは単なるゴミです。 、ただのクズだ! JSTLを変更した後、コンテキストを再起動する必要がありますか?キャッシュが無効になっている場合でも、Velocity を再起動する必要がありますか?キャッシュがオンになっていると Velocity のパフォーマンスが低下する可能性はありますか?これらを無視したとしても、特定のデータ検証ルールを調整する場合、アクションを再起動する必要がありますか?

これで、誰もがこの質問に対する明確な答えを持っているはずです。

以上がPHPを学ぶ際に、なぜPHPがフロントエンドに適し、JAVAがバックエンドに適しているのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。