質問: Webアプリ開発の際の開発言語の選定について教えて下さい。 現在一般的にWebサイトなどを構築する際にはPHP、Javalなどが使用されてMicrosoftのASP.netなどはほとんど使用されていないようです。(私見ですが・・・。) 業務アプリのWeb化やある程度以上の規模の開発工数がかかる場合ではSilver lightやASP.netを使用した方が生産性の面で有利に働き、Windows Serverの導入費用を考えても上記言語を選択するより、いい場合というのが多々あるように思うのですが、なぜちまたでは上記言語で多くのサイト、Webアプリが作成されているのでしょうか? ・サーバOSとしての性能がLinux系よりWindows系の方が劣るから? ・Windowsサーバはセキュリティの虚弱性がよく指摘されて不安だから? ・そもそもWeb系の開発者にWindows系アプリに対する嫌悪感のようなものがある? ・Apacheなどに比べてIISの性能が劣る? ・LinuxにもWindowsにも導入可能な為? 私見ですが思いつく理由を上げてみました。 実際のところはどうなのでしょうか? 規模やユーザ要求、金額によっても変わってくるものなのでしょうが・・・。
回答: 私がいる会社の状況です。 私がいる地方会社では質問で示された全ての構成で開発があります。 言語的はPHP、Java、ASPと言ったところでしょうか。これらはほぼ枯れた技術です。残念ながらRIAまで進出していません。最近、Rubyに力を入れています。 OSもLinux、Windows、UNIX(HP-UX、AIX)と色々です。 WebサーバーもApache、IISどちらもあります。IISはWindowsしかないのでこれだけは仕方ありません。 運用面からWindowsの方がwebからパッチを当てると言う操作が容易であり積極的に押すこともあります。 SEが常駐しているようなお客様ではHP-UX+Apache+Servlet+Javaといった構成もあります。このような場合にはSEがタイミングを見て(深夜の運用停止時間)提供されるパッチを当てることになります。このような場合には大変です。Linuxもやや大変です。 このようなことからOSを選択することもあります。 開発性はPHPが良いと聞いたことがあります。ASPも良いです。Javaについては独自にフレームワークを構築しておりCOBOL並みのコーディングが出来ます。悪ければそれなりに良くしています。 単体の性能的にはApache、IISも差異はありません。全体的な性能は導入マシンで調整しています。 私のいる会社では今のところJavaシステムパッケージ(自社製)を使ったものがスケールアウトに対応しており柔軟性が高くなっています。だから良くこれを勧めることがあります。 その他についてはあまり感想はありません。お客様の予算によって最適解を求めると言うことになります。また会社の方針があるのでそれに従うことになります。 私感です。 WebシステムであればPHPは知っておいて損はないと思います。容易に構築できるそうです。