今回、あるシステムを組むことになってRuby on Rails(以下Rails)で開発した。PHPで組むか、Railsで組むか悩んだ結果、Railsで組むことにしたんだけど、Railsで良かったと思う。
僕は色々な言語でWebシステムを組んできたけど、PHPの手軽さが好きで依頼を受けたシステムの多くはPHPで組んできた。でも、今回初めて、Railsでのシステム開発を行って、Railsの魅力にはまってしまった。
いまさらだけど、Railsの良さを知った。ただ、PHPの方が手軽に開発が行える。Railsは配置できるサーバが少ないんだよね。PHPは多くのレンタルサーバで動作できるけど、RailsはVPS(Virtual Private Server)を借りないといけない。
Railsは、その手間を考えるとちょっと敷居が高いような気がします。
PHPとRailsの開発で悩んだ経緯、結果、Railsで良かった理由を書き留めておきます。
PHPとRuby on Rails
RubyでWebシステムの開発を行うときは「Ruby on Rails」を使用することになると思うのでRails中心に話を進める。どちらもWebシステムに特化している。そして手軽なプログラミング言語だと思う。
大規模なシステムだとJavaやC#と言ったプログラミング言語を使うことが多いと思う。僕もJava、C#での開発をした経験があるけど手軽じゃなんだよね。RailsだったらjavaやC#と同等の規模のシステムでもサクサクと組むことができる。
Railsの魅力は、簡単にシステム改修ができること。JavaやC#は改修が発生すると大掛かりな工数がかかってしまうけど、Railsは比較的、簡単に改修が可能。
ちなみに、PHPは小規模で作った後に修正が少ないようなシステムだったら問題ない。だけどシステムはメンテナンスして改修を加えて、使いやすいように成長させる必要があると思う。特に業務で使うようなシステムの場合は。
PHPのシステムの改修って結構、大変なんだけどRailsは、思想が違うと言うか、フレキシブルに対応が可能な気がする。ガチガチに仕様が決まってなくてもプログラミングができて、さらに改修が簡単。
PHP歴10年以上、Railsでの初開発の僕だけど、Railsに肩入れしてしまう。
動作環境の違い
PHPの手軽さは何といっても動作をするレンタルサーバの量、料金の安さが大きい。PHPで作られているWordPressをベースにしてシステム開発を行うなら、立上げはワンクリックで、できちゃう。
RailsはVPSを借りて、Ruby、DB、Webサーバなどなど自分でインストールして環境を作るところから始めないといけない。環境を作るのも、それなりに知識がないと難しいと思う。
でも、一度調べながらでも立ち上げることが出来ちゃえば、ノウハウなんて簡単に身につく。僕も開発環境のサーバを立ち上げ、本番環境のサーバを立ち上げたけど特に問題なく作れた。
実際に環境を立ち上げるのはJavaで公開するくらい面倒くさい(笑)
まあ、PHPをVPSに配置するのも変わらないと思うけど、PHPは使える環境のまま、レンタルされていることがほとんどなので、手軽に公開するならPHPの方が良いと思う。
RailsがいるからRuby
Rubyの場合、Railsっていうフレームワークの存在がデカい。JavaのSpring、Strutsとかのフレームワークとは戦闘能力が違い過ぎる。やれることは同じなんだけど、導入が楽ちん。設定ファイルが乱雑にならないし(Javaをディスっている訳ではありません)MVCの切り分けがしっかりしている。
そしてRailsは一般的に使う機能が用意されていることが多いので必要な機能を選んで、作ることが出来る。詳しくは別記事でまとめようと思っているけど、RailsがいるからRubyで開発をしたいと思う気がする。
PHPも手軽なプログラミング言語だと思うけど、一度、Ruby on Railsを使っちゃうとPHPでのプログラミングが面倒くさく感じてしまう(笑)
選択するための指針
なんか偉そうだけど、PHPとRubyで悩んでいるなら次のことを考えて欲しいと思う。
PHPとRubyのどちらで開発をしようかと悩んでいるときは
システムの改修が多い、規模が大きい場合は間違いなくRailsで開発を行った方が良いです。ただ、環境を整える(VPSを立ち上げる)余裕がない場合はPHPの方が手軽で良いと思います。
なんか、Ruby on Railsの回し者みたいな記事になってしまいましたが、僕はRubyの魅力に取りつかれてしまいました。
ただ日本でRuby on Railsの技術者は、圧倒的に少ないんだよな。
コメント