web-dev-qa-db-ja.com

PHPまたはASP.NET?

私はPHPとASP.NETを使用してWebアプリケーションの開発に幅広く取り組んできましたが、顧客から常に尋ねられる質問の1つは、php WebサイトとASPのどちらを使用するかです。ネットのウェブサイト。

当然、最初に頭に浮かぶのは、次のような質問に答えることです。

PHPはオープンソースで、ASP.NETはMicrosoftが提供しています。

通常、そのようなことが言われた後、顧客はその顔を真っ白に見ています。明らかに、一方がオープンソースであり、もう一方がオープンソースではないという事実は、実際にはそれらを混乱させません。そして、それは私が最初に聞いたとき、それが本当に私にほとんど話さないので、そしてそれには正当な理由があります。

私は両方で作業することから、ウェブサイトの開発に関してそれぞれに違いがあることを知っています。

私の質問は、ASP.NETとPHPまでの違いは何ですか?

  1. 特徴
  2. 安全保障
  3. 拡張性
  4. フレームワーク
  5. 平均開発時間

適切な開発プラットフォームで情報に基づいた選択ができるように、顧客と比較できるようにファクトのリストを編集しようとしています。

46
Edward

機能セキュリティ、および拡張性はほぼ同じになります。 PHPで実行できることは、ASP.NETで実行できます。

Frameworks —繰り返しますが、フレームワークのfeaturesに関しては、多かれ少なかれ同じです。ただし、言語自体よりもより具体的であるため、次の点を検討する必要があります。

  • 開発者が最も満足していること。 知識=効率
  • プロジェクトごとに、1つの言語の1つのフレームワークは、別の言語のフレームワークよりも自然に適合する場合があります。言語自体よりも具体的であることは、フレームワークは、一部のタスクには適しているが、他のタスクにはあまり適していないことを助けることができないことを意味します。

平均開発時間 —非常に小さなプロジェクトの平均開発時間可能性がありますPHP Webホストは非常に見つけやすく、開発マシンは非常に簡単にセットアップできます。ただし、優れた開発者がいるか、すでにどちらかに設定されている限り、もっと大きなものを使用すると、おそらく問題になります。


あなたがしなければならない主な考慮事項はクライアントが将来に結び付けられることを望んでいるテクノロジースタックですどちらも(簡単に)他のものとうまく混合しません。彼らはどちらかに精通している開発者を持っているかもしれません。

  • クライアントがマイクロソフトに接続するという考えを気に入っている場合は、ASP.NET。を使用してください。一部のクライアントは、MSでの将来のサポート、アップグレードなどに関してより快適になります。

  • オープンソースとLinuxサーバーのアイデアが気に入ったら、[〜#〜] php [〜#〜]を使用してください。これは、Webホスト、フリーソフトウェアなどの転送可能性のために、一部のクライアントに関心があるかもしれません。

そして最後に、彼らが気にしない場合は次に、最も快適なものを使用してください。それを超えることはあまりありません。

39
Nicole

答えの基礎となる背景を説明するために、6年以上にわたってPHP開発を専門的に行ってきました。過去3〜4か月間、ASP.NET MVCで遊んでいます。そして、私はPHPプログラミングと同じくらい長い間C#プログラミングを行ってきました。

私にとって、これはPHP対ASP.NETの引数よりもPHP対C#の引数の方が多くなります。

機能/拡張性
私はASP.NETがここで勝っていると思いますが、これはC#のような言語を使用できるためです。 C#はPHPよりもはるかに優れた言語であり、OOをサポートしています。私は静的型付け言語を好む人でもあります(C#4.0で考えても、動的型付け変数を実行できると思います)。言語機能に関する限り、PHPがC#よりも優れていたのはオプションのパラメーターだけでしたが、それはC#4.0で追加されたもう1つのものです(まだ試していないため、どれほどうまく機能するかわかりません)。 。

セキュリティ
私はおそらくそれが2つの間の洗い流しであると言うでしょう。どちらもセキュリティに役立つ機能を備えていると思いますが、最終的にはアプリケーションの安全を確保するのがプログラマの仕事です。

フレームワーク
まあPHPは、ASP.NETよりもはるかに多くのメインストリームフレームワーク(CakePHP、Codeigniter、Symfony、Zend Framework)と他の多くの小さなフレームワークを持っているようです。 ASP.NETには、Microsoftの2つのメインフレームワーク、WebForms(まったくのがらくた)とASP.NET MVC(私がASP.NET開発に乗り始めた理由)があります。 PHPにはより多くのフレームワークがありますが、ASP.NET MVC 3フレームワークはどのPHPフレームワークよりも優れていることがわかりました。

平均開発時間
小規模なプロジェクトの場合、PHPの方が開発時間ははるかに優れていると思いますが、プロジェクトのサイズが大きくなると、C#はこの点でより適切にスケーリングされます。

コスト
育てるべきいくつかはコストです。 PHPはこの面で勝利をもたらします。 LinuxのMonoでASP.NETを実行することはできますが、独自の問題が伴います。

中小規模のプロジェクトを行っている場合やコストが要因である場合は、PHPが有利です。大規模なプロジェクトを行う場合は、C#とASP.NET MVCを含むASP.NETを選択します。

29
ryanzec

PHPとASP.NETは、さまざまなソリューションを対象としたリンゴとオレンジを比較するようなものです。

PHPは小規模なスタートアップソリューションに適したフレームワークです。 PHPは動作しますが、Linux、Windowsはあまり要件がありません。MicrosoftASP.NETは、これまでに想像し得なかったすべての機能を備えた強力なフレームワークです。ASP.NETは非常に機能豊富な環境ですすぐに使用可能です。ASP.NETは高価であると多くの人が主張します。これは数年前のことですが、現在ではそうではありません。まず、ツールは無料(Express Edition)、データベースオプションは無料(SQL CompactまたはSQL Server 2005)です。エクスプレス以上)購入ホスティングが非常に安価になったので、どちらが良いかという問題ではありませんが、あなたのソリューションに何が適しているかです。個人的にはASP.NETを好みますが、それは柔軟性とスケーラビリティが非常に重要な企業環境で働いているためです。したがって、ソリューションはフレームワークを決定します。

非常に重要なことは、あなたの得意な言語は何ですか?これは決定の最後の要素になるはずです。

クライアントを納得させることが目標である場合は、asp.netの方が適しています。大企業名が言語を裏付けているため、クライアントは快適に感じることができます。この場合、最適なオプションは(Microsoft)ASP.NETおよび(Oracle)Java JSPです。

編集:豊富な機能-ASP.NETは、WebサイトのWebフォームおよびMVCアプローチを構築するための2つの代替手段を提供します。 .NETフレームワークの一部であるため、非常に強力な機能が必要です。 WF(ワークフロー)、DLR(動的言語ランタイム)、並列Linq、Linq、ルーティング、さまざまな形式のデータ状態管理:HTTPContextアイテム、ViewState、ランタイムキャッシュ、ページ出力キャッシュ、3つの異なるタイプInProc、State、およびSQL Serverのセッション実装の例ASP.NETは、メンバーシッププロバイダーやロールプロバイダーなど、さまざまな形式のセキュリティを実装しています。PHPを使用したくありませんが、ASP.NETは別のリーグに属しています。

8
Nickz

両方で広範囲に作業を行ったので、問題とクライアントによって回答が異なることはすでにわかっています。非常に一般的な意味で:

  • PHPは、予算内で作業する必要があるプロジェクトに最適です。たとえば、大きなデータベースのライセンス料に悩まされることはありません。
  • ASP.NETは、Microsoftが提供するサポートや開発者の文化を必要とするプロジェクトに最適です。

クライアントのために事実のリストをまとめている場合は、知っていることに基づいてください。あなたの研究は、あなたの発見がどのように偏っていても、あなたの箇条書きを取得するのに適しています。

6
Fred Wilson

.netコントロールは、PhPプラットフォームで見つけることができるものよりもはるかに優れています。たとえば、Infragisticsを見てください。LAMPに相当するものは何ですか?

1
Totor