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