各種プログラム言語と開発環境まとめ(PHP、Python、Ruby)

 ここではWebプログラミング言語としてポピュラーなPHP、Python、RubyのIDE開発環境とフレームワークについてまとめます。
 いずれも動的なWebページを生成するために用いる、インタプリタ方式の言語です。
 中でもPythonは、ここ数年で急激に人気のプログラムとして注目されるようになり、2021年のプログラミング言語利用実態調査では首位になっています。
 尚、Perlは、過去Webプログラミング言語として最も利用されていたプログラム言語ですが、近年、利用されることがほとんどなくなりましたので割愛します。

目次
1.PHP
1- 2.PHPのIDE
1- 3.PHPその他
2.Python
2- 2.PythonのIDE
2- 3.Pythonその他
3.Ruby
3- 2.RubyのIDE
3- 3.Rubyその他

1.PHP

 PHPはWEBプログラミング言語のシェアにおいて80%を超えています。Webアプリケーション開発のデファクトスタンダードとなっており、フレームワーク含め活発に各コミュニティが活動しています。

PHP(http://php.net/)

1-1.PHPのフレームワーク

CakePHP

 日本国内においては最も利用されているWEBアプリケーションフレームワークです。無償、商用可、OSSのMIT Licenseで運用されています。

CakePHP(https://cakephp.org/)


Laravel

 MVCモデルを強く意識したWEBアプリケーションフレームワークです。世界的に見た場合、最も利用されているフレームワークです。無償、商用可、OSSのMIT Licenseで運用されています。

Laravel(https://laravel.com/)


Symfony

 MVCモデルを強く意識したWEBアプリケーションフレームワークです。拡張性に優れたフレームワークとしても知られます。日本語のドキュメントが少ないのが難点です。無償、商用可、OSSのMIT Licenseで運用されています。

Symfony(https://symfony.com/)


1-2.PHPのIDE


Visual Studio Code

 マイクロソフトが提供する、ほぼ全てのプログラム言語に対応する軽量IDEです。別ページでまとめています。

Eclipse

 JavaのIDEとして有名なEclipseですがPHP開発にも使用できます。別ページでまとめています。

NetBeans

 JavaのIDEですが、PHPも利用できるIDEです。NetBeansについては、別ページでまとめています。

PhpStorm

 チェコの企業、JetBrainsが提供する、PHP用の有償IDEです。日本語化されていないので、必要に応じてPleiadesを利用して日本語化します。


 ~ 価格 ~ 

使用年数 価格
1年目 \22,487 ※
2年目 \17,967 ※
3年目以降 \13,447 ※

※推定小売価格。1ドル113円で換算。


PhpStorm(https://www.jetbrains.com/phpstorm/)


1-3.PHPの高速化

 PHPはインタプリタ方式のため、どうしても速度的にボトルネックとなることがあります。これを解決する方法として以下のような対策があります。

Webサーバーによるアプローチ

 PHPではなく、Webサーバー側でレスポンス向上を図ります。
 例えばApacheにはモジュールモードとCGIモードがあります。
 モジュールモードとは、Apacheのプロセスで直接CGIを処理する方法です。
 CGIモードとは、Apacheで直接処理せず、CGIプログラムを別途起動して処理する方法です。つまりユーザーからアクセスがあった際にApacheのプロセスとCGIのプロセスを順に作成するためモジュールモードよりも処理時間がかかります。
 モジュールモードの方が速度が速いですし、すべてモジュールモードにすれば良いのですが、セキュリティ面で、サーバーの運用難易度が高くなり、ホスティングサービスでは、上位プランでのみモジュールモードを利用できる場合が多いです。
 また、最近ではApacheのモジュールモードとCGIモードという話ではなく、Apache自体を、別の超高速WebサーバーであるLiteSpeedに置き換える動きが強まっています。LiteSpeedに置き換えるとApacheに比べ、10倍近いレスポンス速度向上が期待できると云われています。


Memcached

 このMemcachedは、MySQLなどデータベースへの問い合わせ結果を、メモリ内にキャッシュするキャッシュサーバーです。これによりデータベースから読み出しを行う回数を減少させ、データベースを用いたWebサイトのレスポンスを高速化することが出来ます。
 大企業向けの製品としてOracle Databasae In-Memoryというデータベースがありますが、これは、I/Oを発生させずメモリ上でDBを運用することで高速化を図るアプローチです。この製品は高額でかつ技術的な難易度が高いと言われています。
 これに対し、MemcachedはDBMSに依存しない独立したキャッシュサーバの役割を果たし、インメモリ型データベースの高速化の利点を、別のアプローチから実現していると言えます。無償、商用可、OSSのBSD Licenseで運用されています。ただし、効果的な設定を行うためには技術的な理解が必要であり、その難易度は高いです。
 PHPと併せて利用されることが多いですが、他のWEBプログラミング言語でも利用できます。
 YouTube、Wikiを始め多くの大規模サイトで利用されています。

Memcached(http://memcached.org/)


2.Python

 軽量でシンプルな構成のプログラミング言語です。文法も分かりやすく、学習しやすいWEBアプリケーション開発のプログラミング言語としてLinixユーザーを中心に人気がありましたが、ここ数年で急激に人気のプログラムとして注目されるようになり、2021年のプログラミング言語利用実態調査では首位になっています。
 理由は、IoT、組み込みシステム分野でMicroPythonが、そしてAI、データサイエンス分野でPythonが多くの新規開発で採用されたからです。今後も大きくシュアを伸ばす可能性が高く、最も注目されるプログラム言語です。

Python(https://www.python.org/)

2-1.Pythonのフレームワーク

Django

 Django(ジャンゴ)は、Pythonで最もポピュラーなWEBアプリケーションフレームワークです。無償、商用可、OSSのBSD Licenseで運用されています。

Django(https://docs.djangoproject.com/ja/2.0/)


Bottle

 Pythonで最も軽量なWEBアプリケーションフレームワークです。シンプルに1ファイルのみで構成されています。無償、商用可、OSSのMIT Licenseで運用されています。

Bottle(https://bottlepy.org/docs/dev/)


Flask

 Pythonで人気のある軽量WEBアプリケーションフレームワークです。無償、商用可、OSSのBSD Licenseで運用されています。

Flask(http://flask.pocoo.org/)



2-2.PythonのIDE

Visual Studio Code

 マイクロソフトが提供する、ほぼ全てのプログラム言語に対応する軽量IDEです。別ページでまとめています。

Eclipse

 JavaのIDEとして有名なEclipseですがPython開発にも使用できます。別ページでまとめています。

PyCharm

 チェコの企業、JetBrainsが提供する、Python用の有償IDEです。日本語化されていないので、必要に応じてPleiadesを利用して日本語化します。


 ~ 価格 ~ 

使用年数 価格
1年目 \22,487 ※
2年目 \17,967 ※
3年目以降 \13,447 ※

※推定小売価格。1ドル113円で換算。


PyCharm(https://www.jetbrains.com/pycharm/)


2-3.Pythonその他

Tornado

 サーバーサイドPythonを実行するためのアプリケーションサーバーです。JavaScriptのNode.Jsと役割は同じです。無償、商用可、OSSのApache_Licenseで運用されています。

Tornado(http://www.tornadoweb.org/en/stable/)


3.Ruby

 日本人が開発した、初心者にも分かりやすいと言われるオブジェクト指向のスクリプト言語です。
 異論はあるかも知れませんが、Linux上での運用には向きますが、Windows上での運用は厳しいと考えます。アプリケーションサーバーであるPassengerやunicornがWindowsに対応していないのです。サーバーサイドでの利用ができないという訳ではありませんが、色々と機能制限があります。また、C、C++で書かれたモジュールに対応するため、DevKitというWindows上でC,C++のネイティブ実行を可能にするプログラムモジュールを追加する必要があるのですが、ここまですると、無理やりの運用です。
 近年ではPythonにかなり押されているイメージです。無償、商用可、OSSのBSD LicenseとRuby License(GNUとGPL併用)で運用されています。

Ruby(https://www.ruby-lang.org/ja/)

3-1.Rubyのフレームワーク

Ruby on Rails

 Ruby用のWebアプリケーションフレームワークです。Rubyのフレームワークは、ほぼRuby on Rails一択です。PHPやPythonではフレームワークを利用しない場合もある中、RubyについてはRuby on Railsをほぼセットにして利用されています。商用可、OSSのMIT Licenseで運用されています。

Ruby on Rails(http://rubyonrails.org/)


3-2.RubyのIDE

Visual Studio Code

 マイクロソフトが提供する、ほぼ全てのプログラム言語に対応する軽量IDEです。こちらでまとめています。

Eclipse

 JavaのIDEとして有名なEclipseですがRuby開発にも使用できます。こちらでまとめています。

RubyMine

 チェコの企業、JetBrainsが提供する、Ruby用の有償IDEです。日本語化されていないので、必要に応じてPleiadesを利用して日本語化します。


 ~ 価格 ~ 

使用年数 価格
1年目 \22,487 ※
2年目 \17,967 ※
3年目以降 \13,447 ※

※推定小売価格。1ドル113円で換算。


RubyMine(https://www.jetbrains.com/ruby/)


3-3.Rubyその他

RubyGems

 パッケージ管理システムであり、Ruby固有のGemと呼ばれる形式のライブラリパッケージをインストール・削除・更新します。また、RubyGemsサイトにおいて数多くのRubyライブラリが提供されています。無償、商用可、OSSのRuby Licenseで運用されています。

RubyGems(https://rubygems.org/)


Bundler

 RubyGemsと併せて利用することでGemパッケージのバージョン管理と複数ユーザーによる利用の際、同一バージョンのGemを一括配布が可能になります。無償、商用可、OSSのRuby Licenseで運用されています。

Bundler(https://rubygems.org/gems/bundler/versions/1.11.2)


unicorn

 サーバーサイドRubyを実行するためのアプリケーションサーバーです。現状Linuxのみ対応しており、Windowsで実行する場合、別途DevKit等のインストールが必要になります。無償、商用可、OSSのRuby Licenseで運用されています。

unicorn(https://rubygems.org/gems/unicorn/versions/5.1.0)


Capistrano

 Rubyで作成されたアプリケーションサーバーの各モジュールを一括デプロイするツールです。現状Linuxのみ対応です。無償、商用可、OSSのMIT Licenseで運用されています。

unicorn(https://rubygems.org/gems/capistrano)



おすすめの関連記事

各種プログラム言語と開発環境まとめ(概要)
プログラム言語の概要についてまとめました。