返信内容:
実際、私は常に「エンタープライズ レベルのアプリケーション」という用語に混乱していましたが、仕事で少しずつ物事に触れ、さまざまな人々とコミュニケーションを取り、コミュニケーションを行っている今では、エンタープライズ レベルのアプリケーションであることがわかりました。本当にどこにでもいます。
通常、エンタープライズ レベルのアプリケーションでは Java と .NET について言及しますが、PHP が登場する可能性は比較的低いのに、なぜこれら 2 つのテクノロジ プラットフォームがエンタープライズ レベルのアプリケーションで常に言及されるのでしょうか?
私の記憶が正しければ、PHP の正式名は ("
PHP: Hypertext Preprocessor"、ハイパーテキスト プリプロセッサの略語) であるはずです (@张花草に感謝します)。これは明らかに主に, 長い歴史がありますが、歴史から特定の言語設計の当初の意図がわかり、それらは言語の遺伝子となり、言語が発展するにつれて受け継がれます。
Java の誕生は実際には非常に奇妙です。Java は元々インターネットのために生まれたものではありませんでしたが、製品の二次設計中にその真の方向性を見出し、その後の進化の中でネットワークの側面を強化し続けました。 Java の機能パフォーマンスで最も重要なことは、オープンソース コミュニティに対する強力なサポートがあることです。また、オープンソース コミュニティに対する Sun の態度は常に非常に前向きであり、常にオープンソースをサポートし、オープンソース コミュニティの成長を促進しています。 Java 言語は、非常に優れた巨大な生態環境を形成しています。Apache Foundation の下にあるオープンソース プロジェクトが Java エコシステムにどれだけ含まれているかを確認するだけで十分です。 Java の成功は、オープン ソース コミュニティのサポートだけでなく、Lucene や Hadoop などの成功したプロジェクトを見てください。
.NET が誕生したのは、かつて Microsoft が Java に参加したいと考えていたためで、Sun にきっぱり拒否された後、単純に .NET を作成し、ネットワークにちなんで名付けたものです。大きな観点から見ると、.NET の設計は Java よりも優れています。その理由は、Java の設計上の失敗による多くの問題を回避できるためです。また、Microsoft の優れた点を考慮すると、.NET の設計は Java よりも優れています。製品化における実績と、サービスに対するその比類のない意識は、多くのメーカーを興奮させるでしょう。さらに、Microsoft シリーズのテクノロジの普及は常に非常に速く、便利です。大学の教師は、授業中に Windows、VC、VB、SQL Server などをすべて Microsoft 製品として使用しているという事実を教えてくれました。なぜなら、それらは始めるのが簡単で、非常によく製品化されており、教えたり学んだりするのが簡単だからです。そのため、多くの学生は実際には卒業後にマイクロソフトのことしか知らないことになります。
PHP は実際には非常に成功しています。WordPress 単体では非常に成功していますが、エンタープライズ レベルでのアプリケーションは実際にはそれほど多くありません。非常に成功していると言いたいのであれば、Facebook は PHP であると言えます。これは実際のところ、これほど巨大なコミュニティにとって、フロントエンド ページは実際には最も重要で核心的なものではなく、その背後にあるさまざまなサービスだと思います。 C と Java を担当します。 PHP は学びやすく使いやすいのは言うまでもありませんが、多くの問題もあります。しかし、私はあまり使ったことがないので、同僚の話を聞くだけで、あまり表現しませんでした。
実際、どの言語の誕生にも通常、実際の生産ニーズがあり、注意深く観察して分析すると、この生産需要が将来のこの言語の適用範囲と分野を大きく決定します。言語プロジェクトはこれらの制作分野に集中しているため、その理由がより明確になります。
1. エンタープライズアプリケーションシステムにおける、いわゆるフロントエンドシステムの割合はそれほど大きくありませんが、フロントエンドシステム以外のシステム開発分野において、PHPには利点はありますか?たとえば、Web サービス、タスク スケジューリング、デスクトップ アプリケーション、モバイル アプリケーション、メールなどです。
2. PHP の生態環境と java.net 環境は比較するのが困難です。信頼できるオープンソース アプリケーション システムは、少数の Web フレームワークに限定されています
3. オブジェクト指向開発の観点から見ると、PHP は面倒です。メカニックが悪いわけではないのですが、緩いところがあり、品質管理が難しいのです。エンタープライズ アプリケーションの分野では、これまで弱い型付け言語が依然としてニッチであるように思われることを考慮しないわけにはいきません。
PHP は、急速に変化する Web 製品の開発に非常に適しています。利点自体はページの生成にあります。しかし、トランザクション、数学的計算、セキュリティなどの分野では、PHP の蓄積はエンタープライズ分野での応用をサポートするには十分ではありません。
ここでいうエンタープライズ アプリケーションとは、財務、意思決定支援、エンタープライズ リソース管理、その他のシステムなど、ビジネス活動に関連するアプリケーションであると理解しています。社内の企業 Web サイトに PHP を使用することは引き続き可能です。
エンタープライズとアプリケーションとはどういう意味ですか?
エンタープライズに販売されます
半年以上開発しなければ、40 人以上を動員し、十数個のテクノロジーを使用します、エンタープライズアプリケーションと言えるでしょうか?
PHP を使用した開発を 1 週間で完了しました。誰がお金を出しますか?
私には「エンタープライズ レベルのアプリケーション」の開発経験が数年ありますが、PHP に触れたことは一度もなかったので、PHP が「エンタープライズ レベルのアプリケーション」にどれだけ適合するかはわかりません。 「エンタープライズレベルのアプリケーション」を作るという観点から、PHP を知っている人向けにいくつかの質問を列挙します。答えのほとんどが「YES」であれば、PHP を使用するのに問題はないと思います。個人的な好みの問題なので、現在それを使用している人はほとんどいません。一方、答えのほとんどが「いいえ」であれば、PHP がエンタープライズレベルの開発に適していないことは明らかです。
- 私の理解が正しければ、PHP は Web のみをサポートするはずです。多くのエンタープライズ アプリケーションは、Windows アプリケーション (ドライバーや、プリンターやスキャナーなどの周辺機器と連携する必要がある) およびサービス (Web サービスか Windows サービスかを問わず) のサポートも必要とします。一部のシステムでは、Web、Windows クライアント、およびサービスが相互に連携する必要があります。 PHP が Web の一端のみを処理でき、他の 2 端では他の言語が必要な場合、当然、誰もがより強力な Java と .NET を選択するでしょう。
- PHP 開発者は、レイヤーを使用してアプリケーションを開発することに慣れていますか?つまり、プレゼンテーション層 (おそらく MVC パターン)、ビジネス層、データ層です。リモーティングと分散開発はサポートされていますか?異なるサーバーにデプロイして連携させるのは簡単ですか?パフォーマンスがボトルネックに達した後、サーバーを追加するだけで水平方向の拡張を簡単に実現できますか?
- PHP は非同期マルチスレッド プログラミングをサポートしていますか?
- PHP は結局のところスクリプト言語であり、実行前にコンパイルする必要はありません。高い同時実行時のパフォーマンスはどうですか?実行時のメモリ管理は手動介入なしで効率的かつ安定していますか?
- Unicode とタイムゾーン付き時刻のサポートについてはどうですか?
エンタープライズレベルのアプリケーションの要件は、現時点では、セキュリティ、信頼性、拡張性、拡張性、同時実行性のより高い要件にすぎません。それに対する解決策は他にもあります。問題が発生したときに、より多くの手段を使用して解決できると便利です。もちろん、Java と .NET で開発されたアプリケーションは、スパゲッティ コード、わかりにくいロジック、プロセス指向など、不適切に作成される可能性もあります。そうなると、どんな言語を使って実装しても「エンタープライズレベル」とは言えません。企業内で使用されるすべてのアプリケーションが「エンタープライズ レベル アプリケーション」と呼ばれるわけではなく、単に「企業内のアプリケーション」です。
JAVA についてはよくわかりません。Microsoft システムについて話しましょう。
非インターネット企業の中で、最も支配的だと思われるのは...OFFICE です。そうだよ、オフィス。
どのシステムでも、必然的に各従業員の OFFICE ソフトウェアとドキュメントを処理する必要があります。OFFICE プラグインを作成したり、Microsoft 以外の言語で INTEROP を使用したりすることは役に立ちません。
OFFICE があるところには必ず WINDOWS があり、WINDOWS システムでのクライアント開発はほぼ避けられません。
言い換えれば、何があっても .NET を知っている人のグループが存在する必要があります。
.NET はサーバー分野で多くのことを同時に処理でき、VS の使いやすさのおかげで開発効率は必ずしも低くありません。
では、.NET は必要であり、基本的には十分であるのに、なぜわざわざ他のハイエンドのオープンソース フレームワークを考え出す人を探したり、R&D チームをいくつかの切り離された部分に分割したりする必要があるのでしょうか?
PS1 多くの企業が社内で SPS を採用しており、マイクロソフト以外の開発ツールは血を吐き続けています...
PS2 インターネット以外の企業も投資できません運用・保守に多くのリソースが必要ですが、情報システムの安定稼働が求められます。何をするか?購入、購入、購入には、営利企業からの継続的なサポートとメンテナンスが必要です。そこで RHEL や VMWARE などと比較してみると、Microsoft のシステムは実際には高価ではなく、使いやすいです。
1. 国内の大学のコンピュータ教育のほとんどは JAVA と .NET 開発コースのみを提供しており、ほとんどの卒業生は卒業時にのみこれらを知っています。
2. 企業および政府のソフトウェア アプリケーション開発会社は、実際には IT 企業の中でも伝統的な企業であり、そのビジネスは一般にカスタマイズされたソフトウェア プロジェクトの開発に重点を置いています。単一プロジェクトの出力価値はそれほど大きくなく、機能要件は非常に具体的かつ対象を絞っており、再利用性や汎用性は弱いです。したがって、このような企業は一般的に人海戦術、つまりプロジェクトの数は人員の数に比例することに頼っています。
3. IT マネージャーは通常、開発には興味のないコンピューターの専門家ですが、学校で学んだ JAVA および .NET 開発コースも彼らに大きな影響を与えています。
1つはPHP自体の特徴、もう1つはリソースやコミュニティ、情報などPHPを取り巻く環境です。
それ以外の場合は、エンタープライズレベルの開発テクノロジーと呼ばれます。 Shanshou (
php) などの個人開発は問題ありませんが、大企業は絶対に考慮しません。
開発サイクル、メンテナンスの難易度、技術サポートの点で、PHP は Java や .net に大きく遅れをとっています。これにはコミュニティの力が大きな要因となります。開発サイクルについて話しましょう。おそらく、モジュールを最初から開発する場合、Php は Java よりも高速ですが、Java には成熟したオープンソース プロジェクトが多数あり、多くのモジュールを直接使用できます。 PHP ではこれに匹敵するものはありません。