2013年11月24日日曜日

ゆっくりとRuby on RailsからPHPに移行(回帰)しています。

時々、ウェブ関連のシステムを組むことがあります。
そういう仕事が入った場合、ここ数年は、Ruby on Railsを使ってきました。
でも、ここしばらくで、ゆっくりとPHPに移行しようとしています。フレームワークも、必要に迫られなければ使わないで、できるだけplainなPHPで仕事しようとしています。
plainなPHPのほうがRailsよりずっと昔からポピュラーだった技術ですので、現在Rubyをメインに使っている人の中には、PHPの経験豊富な人も多いと思います。けれど、僕は、Rubyメインで仕事をするようになる前は、ずっと、JavaとPerlをメインに仕事をしてきました。ですので、PHPを仕事の中心にしようとするのは、今が初めてです。

ひょっとしたら、時代に逆行しているのかもしれませんね。

PHPに移行(回帰?)しようと考えている理由は、以下のとおりです。

1,RoRは変化が早くてついていくのが大変。
Railsは頻繁にバージョンアップがあり、バージョンアップの際、下位互換性が犠牲になることが多いです。もちろん、このことは決して悪いことばかりではありません。フレームワークが新しい技術を取り込めば、開発者は、新しい便利な技術を簡単にとりいれることができますから。新技術の取り込みと下位互換性は、トレードオフの関係にあります。Railsは新技術の取り込みの方に重点を置いている、というだけのことです。
ただ、今の僕にとって、ウェブ開発は仕事の中心ではありません。そういう僕にとって、新バージョンにキャッチアップするコストは馬鹿にならないのです。

2,RoRは手離れが悪い。
僕は、兼業でエンジニアをやっているので、時間の都合上、作ったプログラムの運用までやっていられません。納品後は、基本的に、発注者の方で運用してもらうことになります。
ところが、Railsを使って作ったサイトは、非常に手離れが悪いのです。
随分改善されたとはいえ、Railsで作ったシステムは、動作環境を選びます。とりあえずApacheさえあればあまり環境を選ばず動くPHPに比べると、Railsは、運用したときにトラブルが起こることが案外多いのです。自然、納品後のサポートが必要になることが多いです。それに、フレームワークの進歩が早いので、Railsを使って作った古いサイトにちょっとした機能追加をしようとしたりすると、新バージョンのRailsに合わせてコードの多くを書き換える必要が出てくることが多いです。そうしますと、ちょっとした仕様変更の際に、どうしても、最初の開発者が面倒を見る必要が出てきてしまうことが多いように思います。

3,開発環境を選ぶ。
現在、僕は、コード書きをはじめ、PCを使って行う仕事のほとんどを、Linuxをインストールしたやや小さめのノートPCを持ち歩いて行っています。仕事の中には、ワードやエクセルの文書を作ったりするものもあります。
仕事の場所を選ばず、スキマ時間で仕事ができるのがメリットです。
ただ、最近、持ち歩いているノートPCを重たく感じるようになってきました。老化したんでしょうかね。そこで、持ち歩くマシンを、より軽量のノートか、もしくはタブレットに変えたいと思っています。
問題は、
A, RoRは、Windows版のrubyでは、結構トラブルが多い(そうなるとRoRの開発には、LinuxかMacOSX、もしくはvirtualboxのような仮想環境が必須になります)。
B, virtualboxをストレスなく動かすには、結構高いスペックのPCが必要(安価なタブレットPCにはハードルが高い)。
C, 最近のWin8搭載のタブレットPCには、OSをLinuxに置き換えて安定して動かした実績のあるものが少ない。
D, 必然的に、購入候補はMacBookAir一択になっちゃうんだけれど、僕はマック嫌いなんだなぁ。

というわけで、買うものがなくなってしまうのです。これが、PHPであれば、Windows上のApacheでもなんとか動作環境を整えられる(もちろん、本格的な開発には苦しいこともあるのですが、とりあえずこれで十分だと思います。必要なときにはvirtualboxを使えばいいのですから。)ので、随分選べるものが増えます。
特に、最近、物欲が刺激されて仕方がないSurfacePro2が選べるのは大きいです。

そんなわけで、ゆっくりとPHPに移行しています。ただ、実際に移行し始めると、Railsでは簡単にできたコレがPHPでは難しいなぁ、と感じることも多くて、結構大変です。

近いうちに、そのへんのことも書こうと思います。

それではまた

0 件のコメント:

コメントを投稿