どのOSでプログラミングするのが好きですか? クライアントまたはサーバー
ただし、(ほとんどの場合) Web プログラミング (またはその他のサーバー ベースのコード) を行っている場合は、アプリが実行される環境に近いサーバー OS を開発マシンに使用する必要があります。
更新:追加する必要がありますが、これは実際にはWindowsの群衆に向けられています
どのOSでプログラミングするのが好きですか? クライアントまたはサーバー
ただし、(ほとんどの場合) Web プログラミング (またはその他のサーバー ベースのコード) を行っている場合は、アプリが実行される環境に近いサーバー OS を開発マシンに使用する必要があります。
更新:追加する必要がありますが、これは実際にはWindowsの群衆に向けられています
わかりました、あなたが主に Windows について話していることは知っていますが、...
以前は、* nix サーバーに展開するために Windows で開発していました。確かに、この作業方法には多くの落とし穴がありましたが、慣れるだけです。
2005 年 10 月に、最初は実験として Linux に切り替えましたが、元に戻すことはありませんでした。急な学習曲線がありました。10 年間 *nix を扱ってきたので、*nix についてはかなりよく知っていると思っていましたが、デスクトップ マシンで *nix を使用して学んだことと比べて何も知りませんでした。
ワークフローは、同様のプラットフォームへの開発と展開が非常にスムーズになりました。
最近では、Ubuntu サーバーを実行しているサーバーの選択も開始したため、Ubuntu デスクトップ開発マシンに最も近いものになりました。
デスクトップ版とサーバー版の違いについて話しているのであれば、気にする必要はないと思います。ある OS で別の OS に展開するために開発している場合は、デスクトップ プラットフォームを変更することを検討します。
ただし、(ほとんどの場合) Web プログラミング (またはその他のサーバー ベースのコード) を行っている場合は、開発マシンにサーバー OS を使用する必要があります。
これは、Webの「アプリケーション プログラマー」よりも「システム プログラマー」に当てはまると思います。なんで?日々 OS などと一緒に生活するように、プラットフォームを詳しく知ることには間違いなく大きな価値があります。しかし、誰もがそこに行くことができる、または行く必要があるわけではありません。
私の主な実稼働環境は RHEL4 ですが、Linux はデスクトップでは機能しません。ただし、OSXでの作業は十分に近いと思います。XP ボックスではなく、Mac で作業するのが好きです。
私は Java のことをやっていますが、「一度書けばどこでも実行できる」という誇大宣伝は実際に私にとってはうまくいきます。:)
更新:追加する必要がありますが、これは実際にはWindowsの群衆に向けられています
分遅れました、少し短かったです ;) タイトルも編集したほうがいいかもしれません...
問題は、同じ OS のサーバー バージョンとクライアント バージョンのどちらを使用するかということです。したがって、私の答えは次のとおりです。クライアントは問題ないはずです。Windows、OS X、および Linux のクライアント バージョンで、さまざまなフレーバーの Web アプリケーションを開発およびテストできます。OS X と Linux では、Apache がプリインストールされているため、明らかに Apache ベースのアプリが少し簡単になりますが、XAMPP または WAMPP をダウンロードすると、Windows ボックスが LAMP アプリケーション用の堅牢な開発プラットフォームにすぐに変わります。
また、ASP.NET を使用している場合、開発ツール (Visual Studio ラインの何かを使用している場合) には、テスト サーバー メカニズムが組み込まれています。
したがって、サーバー バージョンが必要な場合を除き、私はクライアントを使用します。お金もかからず、サーバー版は本当に必要ありません。
クライアントとサーバーの OS の問題は、MS プラットフォームにのみ関連します。そして、それはあなたが開発しているものに依存します。
私が理解する限り、Sharepoint の開発では、コードを実行するためにサーバー OS が必要です。ごく普通の ASP.Net のことをしているだけなら、それはほとんど個人的な好みです。
編集 タイラーがコメントしたように、Vista で MOSS/WSS を実行できますが、サポートされていません。または、クライアント OS で開発し、VM のサーバー OS で共有ポイントを実行することもできます。
これは少し奇妙な答えになるでしょうが、私はワークステーションとして Windows 2008 と Hyper-V の大ファンです (私は知っています)。基本的に、ワークステーションには Office のようなソフトウェアのみをインストールし、すべての開発は仮想マシンで行います。
利用可能な Win2k8/Hyper-V がないと仮定すると、私は喜んで古い WinXP (ただし Virtual PC 付き) で解決します。
Hyper-V を使用すると、実行する .VHD VM から優れたパフォーマンスを得ることができます。Virtual PC と Virtual Server はどちらも (ビールのように) 無料で、仮想マシン (つまり、ベース マシン、差分ディスク、元に戻すディスク) を再利用できる大量のインフラストラクチャをセットアップできます。.VHD は交換可能であるため、以前に使用していた .VHD を再ホストして、他の開発者が仮想サーバーで使用できるようにすることも、開発者がそのコピーを取得して仮想マシンの名前を変更し、すぐに使用できる環境を使用することもできます。いくつかの仮想PC!
これは、チーム メンバーが 10 分未満で (環境に関して) スピードアップするのに最適です。また、セットアップ/構成に数日かかるマシンを非常に迅速にプロビジョニングするためにも使用できます。
異なる OS からテストする機能や、元に戻すディスクを使用して変更をロールバックできる優れた機能を気にする必要はありません。VM は命の恩人です! 人々の仮想化を始めましょう!
仮想マシン/差分ディスクの大きな利点のいくつかについては、Andrew Connell によるこの投稿を検討してください。
実際に話しているオペレーティング システムに関係なく、それは問題ではありません。あなたが作成するほとんどのアプリケーションは、違いを気にする必要はありません (実際に違いがある場合)。ごくまれに、OS の「サーバー」エディションでしか利用できない特定の機能を使用することがあります。
その他の考慮事項があります。たとえば、Windows サーバー エディションは既定で調整されており、デスクトップ プログラムの優先度と注意が低くなり、ファイル キャッシュなどに注意が向けられます。個人的には、選択した OS の「クライアント」エディションを常に選択します。
個人的には Windows Vista を使っていますが、それは私が好きなものであり、うまく使えているからです。しかし、正直なところ、それは問題ではありません。OS は、快適に使用でき、生産性を高めるために必要なツールを備えている必要があります。
テスト環境は、本番環境にできるだけ近づける必要があると言えます。私はVistaでRoRを書いていますが、Webサーバーと同じようにLinux VMセットアップでテストしています。職場では.NetサイトをテストするためにIIS6がインストールされたWin2k3サーバーがありますが、IIS7を使用してVistaで開発しています。
ワークステーションとしてセットアップされた Windows Server 2003 を使用しています。これは私が数年間使用したガイドです。本当にそれが好き。