2012-03-22 3 views
2

私はWebプラットフォーム(主に.Net vs Java)に関する多くの研究を行っており、両方が多くの目的に役立つようです。私が知りたいことは、ASP.Netは、サーバーがWebサイトをホストして実行する方法に関して十分な制御、柔軟性、カスタマイズを提供しているのか、TomcatとSwingやStruts2などのJavaは柔軟性を提供するのでしょうか?Webプラットフォーム - JavaとASP.Netの間の制御量

TomcatはApacheに由来しているので、私が好きなApacheから来たのと同じ設計と方法論を実装したと思います。 IISとWindows Serverが実際にこのようなことを提供しているかどうかは疑問です。私の仮定は正しいのですか?

+0

StackOverflowのQ&Aモデルに合わないディスカッショントピックであるため、「本当の質問ではありません」と投票しました。 –

答えて

2

.NETで4年間、Javaで約5年間働いていた2つのフレームワークを比較した私自身の個人分析です。

NETには、開発スタックのようなクッキーカッターがあります。 Javaにはもう少し自由があります。これは、開発者の好みに応じて、肯定的でも否定的でもよい。言い換えれば、.NETで何かしたいのであれば、標準的な方法があります。これは、あなたの仕事を完了するための無数のライブラリや戦略から選択できるJavaの場合ではありません。私の意見では、Javaは、アプリケーションを設計/構築する際に、より自信を持って能力を持つ、より熟練したコミュニティに対応する傾向があります(特に、ほとんどすべての大手大学がJavaを教えるからです)。これは、両方のプラットフォームで同等のスキルと能力を兼ね備えているため、すべてのJava EEと.NETの開発者の一般化ではありません。私は大規模なコミュニティ全体を一般化しています。終わりには、セットアップと実行がより困難な環境ですが、そのために柔軟性が追加されています。

サーバー環境では、Java EEアプリケーションを複数のサーバー(Tomcat、Glassfish/Apache、JBossなど)でホストできます。それらのほとんどはオープンソースなので、十分に熟練すれば、そのコードを掘り下げて、入手したものを正確に把握し、必要に応じて修正することができます。これは、Microsoftの環境では絶対に当てはまりません。あなたは基本的にIISを実行しているWindowsサーバーを持っており、それはかなりです。私の意見では、IISはまともなWebホスティングツールです。基本を学ぶのは簡単ですが、Apacheを使用して設定できるカスタマイズや設定の近くにはありません。たとえば、サイトに複雑な書き換えルールを作成する場合は、Helicon(またはその他のツール)をIISのアドオンとしてインストールする必要があります。書き換えルールはApacheで簡単に実装できます。

結論として、Java Web環境は設定とサポートが難しくなりますが、言語とサーバー環境に柔軟性を持たせることで、より多くの知識を得ることができます。

+0

これは私が探していた答えのタイプです。ありがとうございました。 – zeboidlund

0

設定の賢明な例はありません。私は、Webサイトを構成するさまざまな方法や、IISコントロールパネルからホスト/実行される方法などさまざまな点があると言っても大丈夫です。そのために、「私は自分のウェブサイトでxをやりたいと思っていた」という状況に遭遇したことはありませんでした。

2

プラットフォームを選択することは、実際にあなたの利用可能な専門知識、つまり、あなた自身またはあなたのリソースに関係しているはずです。

プラットフォームがわかっている場合は、飛行させることができます。 @iamkrillinが述べているように、私もIIS/.Netプラットフォームではまだブロックしていません。これは、私が自分でサイトをホストしているかどうか(colo - 私はハードウェア/ OSなどを所有しているかどうか)、またはホスティングプロバイダを介して真実です。 Windowsホスティングでは、あなたがホストしている場合は賢明に選択してください。ベアメタルアクセスが必要であることが分かっている場合は、ホストすることを選択した人からその特権を取得してください。良い方法は、開発中にアプリケーションをmedium-trustに設定することです。専用のサーバーを使用する場合を除き、共有/クラウド環境でのホスティングプロバイダのアプリケーションセキュリティ設定になる可能性があります。

ルーティングに関しては(@GeorgeMcDowdによって提起された)、IISは現在これを使用しています。あるいは(ASP.Net)アプリケーションレベル(IISではなく)でこれを行うことを好む場合は、それもやってください(RouteTables)。私はあなたのルートがどのように複雑であるか想像していませんので、これらのオプションのいずれかの制限があるかどうかはわかりません。

"標準"または "クッキーカッター"に関する限り、私は実際にその意味がわかりません。あなたは(大規模で成長している).Netベースライブラリ(マイクロソフトから)を持っています。非常に特殊なもの(基本ライブラリでは提供されていないもの)が必要な場合は、アプリケーションで使用できるライブラリのCodeplexや他のソースも調べることができます。 Visual Studioを使用している場合は、数回クリックするだけでNuGetを使用できます。

Microsoftの.Netの管理責任は軽視しないでください。それは一貫して改良され、によってによって更新されました。

マイクロソフトが非常に遅れている地域があります。それはモバイルにあります。 AndroidとIOSとそれぞれのデバイスに対して、Windows(電話、Windows 8タブレットなど)は厳しい状況にあります。ただし、.Netで開発し、いずれかのデバイスにプッシュできるツールがあります。私は個人的にそれに入るようになっているだけなので、それがどれほど完璧か悲惨かを言うことはできません。

残っている唯一のものはコストです。 Windows以外のプラットフォームでホストするのはまだ安いです。あなたが既にWindows以外のプラットフォームで専門知識を持っていれば、そのことは思いがけないものです。ただし、学習曲線(通常は隠れたコスト)があれば、ホスティングコストの差を決定するべきではありません。

+0

偉大な答え、よく客観的な分析。 +1。 – zeboidlund

関連する問題