deha magazine / Ruby on Rails / Ruby on Railsで作れることの6選|できないことも解説
Ruby on Railsで作れることの6選|できないことも解説
2021/09/30
Ruby on Railsは、プログラミング言語Rubyのフレームワークであり、Web開発に非常に強いです。
今回はRuby on Railsを作って作れるものと、逆にRuby on Railsでは難しいことについてまとめます。
Ruby on Railsで出来ること
Ruby on Railsは、Web開発に非常に強く、短い記述で多くの機能をかんたんに実装できるのが特徴です。
Gemと呼ばれるライブラリを使って拡張することで更に短い時間で、様々なWebアプリを実装できます。
以下に、Ruby on Railsで開発できる代表的なシステムをまとめます。
ブログシステム(CMS)
WordPressのようなブログシステムのことをCMS(コンテンツ管理システム)と言いますが、Ruby on Railsを使えばオリジナルのCMSを作成することができます。
PHPで作られているCMSであるWordPressは有名ですが、内部のソースが複雑だったり、速度が遅かったりなどの問題も抱えています。
企業のオウンドメディア開発など、独自の機能を柔軟に追加したい場合や大規模サイトを作成したい場合、Ruby on RailsでオリジナルのCMSを用意したほうが良いこともあります。
ECサイト
ECサイトやネットショップも、Ruby on Railsで開発できます。
ECサイト作成で大変なのは決済部分の処理ですが、Ruby on RailsでできているSolidusというシステムや、pay.jpのAPIを活用することで比較的かんたんに導入することが可能です。
SNS
Ruby on Railsには、ログイン機能など、SNSに必須の機能を実装するためのGem(ライブラリ、拡張機能のようなもの)が多数あります。
TwitterのようなSNSも、Ruby on Railsで開発できます。実際、初期のTwitterはRuby on Railsで作られていました。
スクレイピング
ウェブサイトから表示されている情報を抜き出す技術をウェブスクレイピングと言います。
Gemの一つであるNokogiriを使えば、かんたんにスクレイピングすることができます。
業務システム
業務システムと言っても様々なものがありますが、基本的にはログイン機能や特定のデータの管理が必要になってくるかと思います。
そういった機能は、Ruby on Railsで比較的かんたんに実装できるでしょう。
組み込み開発
Ruby on Railsというフレームワークからは外れますが、実はRubyは組み込み開発でも使うことができます。
ロボットの動作などをプログラミングすることを組み込み開発と言います。組み込み開発では、プログラミングの実行環境のリソースが限られているので、C言語などのより機械語に近い言語を用いることが多いです。
mruby VMとよばれるシステムを使うことで、少ないリソースでもRubyを実行できる環境を用意できます。
mrubyではRubyとC言語を一緒に使えたり、一つのソースで複数のデバイスに対応できたりというメリットもあります。
Ruby on Railsでできないこと(向いていないこと)
一方で、Ruby on Railsを使って作るのには向いていないものもあります。
スマホアプリ開発
一つはスマホアプリです。スマホアプリは、iTunesストアやGoogle Playストアなどからアプリをインストールすることで使えますが、Ruby on Railsではこのアプリを作ることが難しいです。
一応、RUBYMOTIONというソフトを使えば、iOSアプリやAndroidアプリを作ることができます。
ですが、iOSアプリの開発はSwift、Androidアプリの開発はJavaやKotlinを使うのが一般的です。
特別な理由がない限り、Ruby on Railsで作る意味はありません。
機械学習
機械学習も、Ruby on Railsには向いていないです。やろうと思えばRubyを使って機械学習を行うことも不可能ではありませんが、Rubyの機械学習のライブラリはそれほど充実していません。
Pythonは機械学習関連のライブラリが充実しているため、機械学習メインであればPythonを使うほうが良いでしょう。わざわざRubyを使って開発するのは非常に効率が悪いです。
ウェブアプリ開発ならdehaにご相談ください
まとめるとRuby on Railsは、Web開発にはとても強いですが、スマホアプリ開発や機械学習には向いていません。一応、スマホアプリも機械学習もできますが、わざわざRuby on Railsを使う必要はないでしょう。
dehaは、過去5年間に渡ってベトナムオフショア開発を行ってきました。ウェブアプリ開発の実績も多数あります。
ウェブアプリ開発を考えられている企業様、ウェブアプリ開発案件を受注したものの開発リソースが足りないITベンダー様は、ぜひ一度dehaにご相談くださいませ。