友達と大きなPHPプロジェクトを始めようとしています。PHPを使用するのは初めてです。 Linuxはとても人気があるので、私はLinuxでの開発を試みるべきです。
私はLinuxで過去の経験があり、vimを知っているので、エディターの選択は難しくありません(ただし、VS.PHPを調べた結果、変更から戻ってきました)。
PHP(または任意のWeb言語))を開発するときにLinuxを使用することで利点が得られますか?
それはあなたがウェブ開発と呼ぶものとあなたがどう働きたいかによって異なります。
たとえば、Photoshopをネイティブで実行することは不可能です(一部のVMまたは「エミュレーション」を使用して、それを行う方法があるか、単にGIMPを使用できます)。
純粋なコーディングを計画している場合は、開発中に好きなことに依存します。
一方:
つまり、両側とも3ポイントです。全体として、Linuxは単なるOSです。ツールはそれを良くし、それを使う人はそれを速く/遅くします。古いバージョンのphpが必要なときに問題が発生しましたが、全体的に毎日Linuxを使用しています。開発に優れているからではなく、学習曲線が急ですが、OSがはるかに優れているからです。 Linuxでのphpでの開発経験は豊富ではないので、いくつかのポイントを逃している可能性があります。
他のウェブ言語について話す:Rubyについてはあまり知りませんが、gemを簡単にダウンロードできるサービスやシステムツールがあるため、Windowsよりも優れていると聞きました。
DjangoはLinuxの方がはるかに優れています-動作は良好で、Windowsの半分(開発用)の場合と比べてデプロイに半分の時間がかかります。 Linuxサーバーに展開するのは簡単で、Windowsプロダクションサーバーでも同じことをするのはお尻の痛みです。
最後に、私はそれを試すことをお勧めします。それはあなたの開発にいくらかの速度をもたらすかもしれないからではなく、それがLinuxであり、それが素晴らしいからです。
Windowsの改善されたサポートPHPは必ずしもそうではありませんが、展開環境に一致する可能性が高いということです。それは必ずしもそうではありません。 Ruby on Rails with PHPで開発する場合、Linuxを使用してください。データベースドライバーですが、Microsoftは、Webプラットフォームインストーラーや新しいWebmatrix IDEなど、PHPをより適切にサポートするために多くの作業を行ってきました。
Linuxでこれを行うことには多くの利点があると思います。
最初に、かなりシンプルなオペレーティングシステム環境を扱います。適切に文書化されており、ソースが利用可能な環境です。バグを見つけたら、それを理解できるという自信を持つことができます。 Windowsに問題があるのか、コードに問題があるのか、そして前者の場合はどう対処するのかを決定する必要がある、奇妙で抜け道のないことはしません。
次に、同じハードウェア上でLinuxはWindowsよりもパフォーマンスが優れています。業界紙の不調にもかかわらず、これは議論の余地がない。古いハードウェア、遅いハードウェア、または最新でないハードウェアを簡単に利用できます。
第3に、LinuxとX11ウィンドウシステムは、Windowsよりはるかにカスタマイズ可能です。フォーカスフォローマウスまたはさらに悪いことに、Windowsではマウスの後にフォーカスが遅れます。 Microsoft Deems Bestとしてではなく、好きなようにウィンドウ操作を設定できます。
第4に、LinuxファイルシステムはNTFSよりもはるかに理にかなっています。 「ケース保存」ファイル名?聖人は私たちを守ります!代替データストリーム?ディレクトリの何が問題になっていますか?なぜすべてのファイルをディレクトリにするのですか? 「CONS」、「AUX」、「LP」などの魔法のファイル名?それらの発明者が罰せられることを願っています。 Linuxファイルシステムには単一のルートがあり、個々のディスクは簡単には見えないので、「C:」と「C:\ something」を扱う特別なケースが山ほどありません。
第五に、物事を試すことは金銭的に安価です。紛れもない。
開発環境に最適なのは、最も生産性の高い環境です。それはすべて個人的な好みに帰着します。そうは言っても、多くのWebサイトとアプリ(特にphpで書かれたもの)はLinuxサーバーにデプロイされています。将来的に.NET以外のテクノロジに取り組むことを計画している場合、回避策を知らないと、道路沿いのどこかでお尻に噛みつく可能性があります。したがって、少なくともある時点で、Linuxの基本的な使用法に慣れる必要があります。あなたがこのプロジェクトでそれをやるべきか、いつか後でやるべきかどうかは言い難い。学習中に生産性が低下する可能性がありますが、Linux環境での動作方法を理解すると、生産性が向上する可能性があります。