アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


【Ruby on RailsとDjango】プログラミング初学者はどちらを選ぶべきか

今までPythonフルスタックフレームワークDjango
一年ほど使って開発をやってきましたが、
この度思い立ってRuby on Railsを勉強し始めてみました。

DjangoからRoRに移ってきた人の触りの感想などまとめてみました。

結論としては、よほど何か理由がない限り、Ruby on Railsを選ぶべきです。
国内でもPython熱は高まってきていますが、
プログラミング初学者で、両方を経験した者として、断然オススメはRoRです。

その理由は、

日本語ドキュメントの多さ

言い古されたことですが、これにつきます。

#Ruby/RoRPython/Djangoはに比べて日本での開発者人口が多い

Rubyの開発者は日本人というのもあり、
日本でWEBアプリケーションフレームワークといえば、RoRがダントツで人気です。

なので、日本語ドキュメントや参考資料はDjangoに比べて格段に多いです。
原因不明のエラーが出た場合、Djangoだと英語のドキュメントに行き着いて、
慣れない英語を読み解いていく、、、という作業がつきものなので、
どうしても時間がかかります。

一方、RoRだと、だいたい日本語のドキュメントに行き着きます。
エラーの解決にかかる時間の差は歴然です。

しかし、Djangoのおかげで、英語のドキュメントに対する
恐怖心みたいなものは拭われました。
ありがとぅんす、Django

気をつけるべきだと思ったこと

RoRは非常に洗練されていて、
最初の学習コストさえクリアできれば、 裏で何が起こっているかを全く意識すること無く開発ができます。

これは便利な反面、何か応用を行いたい際や、トラブルが起こった際に
対処できなくなるという危険も同時にはらんでいます。

特に僕みたいな初学者は
「やべー!俺プログラミングできちゃってるよ!!ヒャッホー!!」
ってなって、「自分はプログラミングのことならだいたいわかる」と
思い込んでしまいがちです。

でも実際はRoRのレールの上でシュポシュポと走っているだけなので、
裏側でどのようなことが行われているかも併せて学ぶ必要があるのかなと思いました。

なので、RoRがある程度使えるようになったら、
次は軽量フレームワークSinatraあたりもきっちり勉強して、
その上でRoRを使うのがいいのかなと。
( PythonならFlaskがそんな感じですかね。)

Sinatra

http://www.sinatrarb.com/intro-jp.html

WEBアプリケーションフレームワーク
裏で何をやってるか理解しながら作るのとそうでないのとでは
のちのち大きな差を産む気がしています。

てな感じで、仲間も多くて快適な、RoRライフを楽しもうと思います!!