ホームページ  >  記事  >  バックエンド開発  >  phpとjavaの違いは何ですか?

phpとjavaの違いは何ですか?

青灯夜游
青灯夜游オリジナル
2019-10-14 11:29:263444ブラウズ

現在市場に流通している電子商取引ソフトウェアは、基本的に PHP 陣営と Java 陣営の 2 つの陣営に分けることができます。しかし、EC時代ではないユーザーにとっては、見た目だけを見ることが多く、実際の違いがわかりにくいのが現状です。実際、PHP MySQL の価値は電子商取引ソフトウェアに限定されず、PHP MySQL が開発したソフトウェアは、Java が開発したソフトウェア全体に匹敵するものではありません。なぜphp mysql電子ビジネスはお金の問題ではないのでしょうか?最初に理解する必要があるのは、php と Java の違いです。

phpとjavaの違いは何ですか?

#1. 起源

Java の当初の設計意図は、家庭用電化製品用の分散コード システムを開発することでした。

PHP はインターネット アプリケーションのために生まれました。

2. システムの技術アーキテクチャの比較

階層化は、システムを効果的に組織する方法です。コンピュータ分野では非常に重要な考え方です。適切な階層化のアイデアに基づいて、「高い凝集性と低い結合性」を実現でき、特定の問題を分離できるため、リソースの制御、拡張、割り当てが容易になります。

PHP5 バージョン以降、PHP はシステム アーキテクチャにおいても質的な飛躍を遂げました。 ShopNCはPHP言語を使用して開発されており、多層アーキテクチャの配布を完全に実現できます。 MVC 設計パターンを使用すると、電子商取引ソフトウェアはより効率的で合理的なシステム アーキテクチャを持つことができます。これにより、システムの拡張性と需要への適応性が Java で書かれた電子商取引ソフトウェア システムと同等になります。

Gutmans は一昨年、マルチコア環境におけるマルチスレッド (JVM) とマルチプロセス (LAMP) の比較について詳しく説明した記事を公開しました。その中で、マルチコア システムは LAMP アーキテクチャのマルチプロセス アプローチに非常に適していると述べられています。チップ業界は現在、ハイパー スレッディング テクノロジではなくマルチコアに重点を置いているため、JVM のようなマルチスレッド環境の利点は、今日のハードウェアでは十分に活用されなくなります。マルチプロセスアプローチにより、安定性と信頼性が向上します。

このラウンドでは、PHP が勝利しました。

3. データベース アクセスの比較

PHP は、多くのデータベースに接続する関数にコンパイルできます。データベースに間接的にアクセスするための独自の周辺関数を作成します。このようにして、使用するデータベースが変更された場合、そのような変更に適応するためにコーディングを簡単に変更できます。

同時に、PHP は統合データベース インターフェイス PDO を提供するようになり、データベース インターフェイスの問題を考慮することなく、Oracle、MySQL、SQL2000 などのさまざまなデータベースへのアクセスをブリッジ経由で完了できるようになりました。同時に、MYSQL データベースのサポートを強化するために、PHP はより効率的で安全な MySQLi データベース接続も開始しました。

Java は、JDBC を通じてデータベースにアクセスし、さまざまなデータベース ベンダーが提供するデータベース ドライバーを通じてデータベースにアクセスします。特別な対象を絞った最適化はありません。開発したWebアプリケーションもMYSQLデータからORACLEデータに転送する場合、PHPはPDOインターフェースを使用するため、プログラムの修正はほとんど必要ありません(ShopNCはすでに自社開発のカプセル化データベース層を開発しており、すでに処理を完了できます)複数のデータの)、PDO がなくても、一種のデータベース サポート)。

Java 開発では、特定の変更を実装する必要があります。データベースへのアクセス方法の違いにより、PHP で開発された電子商取引ソフトウェアと Java で開発された電子商取引ソフトウェアの間にはギャップが生じています。Java は伝統的な世代ですが、PHP は新しい技術の開発の結果です。PHP は単に対応できるだけではありません。さらに、速度も着実に向上しており、その効率は Java よりもはるかに強力です。

今回のラウンドでは、Java の印象は若干劣ります。

4. セキュリティの比較

オープンソースはセキュリティの最大の利点であり、LIUNX は非常に成功した証拠です。

PHP 開発プログラムは、他の人がコードを入手した後で簡単に変更できます。 Java で開発されたプログラムは、完全なソース コードを見ることはできず、コンパイルされた一部のクラス ファイルしか見ることができません。したがって、基礎となるアーキテクチャの多くの隠れた危険性を事前に予測することはできません。致命的なエラーが発生すると、その結果は深刻になります。

PHP コードを暗号化する場合は、Zend の権威製品である Zend Guard を暗号化に使用して、製品の知的財産権を確保することもできます。 PHPとJavaをセキュリティの観点から比較するなら、ほぼ同じとしか言えませんが、差があるとすれば開発プログラマのレベルによっても決まります。

このラウンドでも、両者は依然として互角です。

5. インターネット アプリケーションへの先見性と拡張性

全体的に、PHP はインターネット アプリケーションに適していますが、Java 言語は最初から設計されていませんでした。 . WEB中心ではなくサービス全般を中心としています。 PHP はインターネット アプリケーションを最大限に活用でき、Java は標準または非標準のフレームワークを通じて WEB アプリケーションのニーズに応えます。

なぜ PHP がインターネット アプリケーションに適しているのですか?

まず第一に、PHP は大きなシステム負荷に対して分散配置を採用できます。データベース、アプリケーション ロジック層、およびプレゼンテーション ロジック層を互いに分離し、トラフィックに基づいて同じ層を分離します。 PHP はこの点で優れた仕事をします。

第二に、PHP は多数のデータベース インターフェイスと統合インターフェイスを提供しており、複数の異なるデータベースからのデータを統合するのに多くの労力はかかりません。 Java は、クラスおよび EJB を通じてスケール サポートを取得することもでき、多くのベンダーから EJB/CORBA およびアプリケーション サーバーを通じて構造サポートを取得することもできます。既存の Java または .NET アプリケーションとの通信に関して、PHP は既存の API インターフェイスを介して通信できます。データ通信で使用されるデータはXMLやJSONなどに他なりません。

PHP をインターネット上の最優秀パフォーマンス賞にたとえると、PHP は単独で機能します。そうすれば、Java は、重いフレームワークと面倒な効率だけを備えたヨーロッパの中世の戦士のように、イノベーションが最も少ない賞を受賞するはずです。

当時の SUN でさえ、J2EE ソリューションで JRuby と Jython をサポートしていたのも不思議ではありません。 IBM Websphere は、J2EE が WEB には適していないことに気づき、Project Zero プロジェクトを開始しました。その結果は? Project Zero の主任アーキテクトも、「Java は今や単なるシステム言語とみなされ、Web アプリケーションの構築には適していない」と渋々ながらも公に認めました。

実際、Java はエンタープライズ レベルの電子化や主要なビジネス アプリケーションに深く根付いていますが、Web アプリケーションでは Java 言語の市場シェアは急激に低下しており、その衰退は明らかです。

つまり、このラウンドでは、Java は言葉もなく負けました。

6. 製品化の程度

Java で開発する場合、すべてカプセル化されたクラスであるため、最初から始めるプログラマーはほとんどいません。実はこれが、Java の製品化が難しい大きな理由です。なぜなら、ほとんどすべてのプログラマーは比較的浅いアプリケーション開発を行うことができるからです。

Java クラスに関する限り、インターネット上に公開すると、重いと言えるものは 1 つだけです。 Java が常に主張してきた唯一のクロスプラットフォームの優位性は、実際には初心者プログラマーに対する一種のプロパガンダであり、上級プログラマーにとっては冗談で朝飯前です。

多くの大規模プロジェクトを経験した上級開発者は、開発の開始時にプログラムを実行する必要があるプラットフォームが決定されることを知っています。プロジェクトが大規模であればあるほどその確実性は高まり、プラットフォームの移植は容易には検討されない。

他のプラットフォーム上で新たなサービスを立ち上げる必要がある場合でも、追加アイテムは新しいプラットフォーム上で開発され、既存製品との連携もWebサービスで解決できます。そしてデータベースは関係ありません。 ACCESS を使って大規模な商用プログラムを開発する人はいないと思います。

CRM、ERP、レポート、文書管理などを含むほとんどのビジネス アプリケーションも Web に移行しており、周囲を見渡すと、驚くほど多くの PHP 製品が存在します。カバー率は99%以上です。

多くの製品の品質にもばらつきはありますが、各方向や分野で代表的な製品がいくつかあります。例には、WordPress、Drupal、mediaWiki、osCommerce、SugarCRM、Discuz、QeePHP、ShopNC などが含まれます。

製品化度は工業化度を直接裏付ける重要なデータです。工業化できない道具というのは、実はそれ自体がとても悲しいのです。

このラウンドでは、Java は完全に負けました。

7. 開発コストとその後のメンテナンスコストの比較

PHP はインターネット アプリケーションの多くの面で Java よりも優れているのに、なぜ Java によって開発された電子商取引製品は異なるのですか? PHP 製品からのアプローチはどうですか? 競争はどうですか? これは、Java 陣営が一般的に政府の方針を取るのに対し、PHP 陣営は国内の方針を取るためです。 Javaは大学教師の言動に頼ってインターネットの世界で唸りを上げますが、PHPは自らの品質に頼って人々の心を掴み、称賛され続けています。

ソフトウェアの価格は、ソフトウェア自体のコストと機能に大きく関係します。 PHP は参入障壁が低いですが、どの側面においてもマスターになることが最も優れたものの 1 つです。 C言語を学んだプログラマの大多数は容易にPHPプログラマに転身できるため、PHPプログラマは国技のように人気があり、専門家も多く、高品質なPHPソフトウェア製品が後を絶たない。

サーバーコストの観点から見ると、PHP の最も古典的な組み合わせは PHP MySQL Apache であり、Java は MySQL Tomcat、JBoss およびその他のソフトウェアと組み合わせられることがよくあります。すべてのソフトウェアはオープンソースで無料であるため、サーバー側への投資はそれほど高くありません。

Java プログラマーの学習コストは PHP の数倍かかりますが、その理由も明確で、Java 自体は WEB 開発に特化した用途ではありません。したがって、Java で電子商取引を開発するコストは、PHP で開発された同様のソフトウェア製品よりもはるかに高くなります。しかし、Java の開発コストは高いため、同じ効果を達成するために同じ製品を開発するには、PHP 開発の N 倍の時間と経済的コストがかかることがよくあります。これは直接的に多大な時間とコストの無駄を引き起こします。

最終ラウンド、WEBバトルではJavaが完敗しました。

上記のデータを通じて、読者は、Java ベースの電子商取引製品を購入すると、その後のメンテナンス期間に多大な経済的コストと貴重な時間をもたらすことを明確に理解することができます。ビジネスチャンスは一瞬であり、テクノロジーの実現を常に長時間待たなければならないのであれば、ニッコウキスゲは消滅してしまうのではないかと危惧しています。

商品を知らないことを恐れる必要はありませんが、商品を比較することを恐れてください。 PHP で開発された製品は広く使用されており、高い評価を得ていますが、Java で開発された製品は拡張が難しく、製品の減少とプロジェクトの種類の増加に直結します。それはまさに、PHP 用に開発された製品の全体的なパフォーマンスが何千ものユーザーによってテストされ、改善されてきたからです。 Java はそこから遠く離れているため、Java が政府のルートを選択し、価格差を利用して購入者の心理のバランスをとることしかできないのは驚くべきことではありません。

すべてを要約すると、PHP は電子商取引ソフトウェアの開発を最も強力に促進するものであり、必然的に一般的な傾向になるでしょうが、これは不可逆的であり、疑問の余地はありません。

PHP であろうと Java であろうと、プログラマーとして。身長の問題に関しては、実は私たちも同じです。このレベルの戦争は、実は大手メーカー間の問題であり、弊社には関係ありません。でも例えばWEB面。まだまだキャンプを応援したい!

PHP 関連の知識の詳細については、PHP 中国語 Web サイト をご覧ください。

以上がphpとjavaの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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