Ruby on Railsは、プログラミング言語Rubyのフレームワークであり、Web開発に非常に強いです。
今回はRuby on Railsを作って作れるものと、逆にRuby on Railsでは難しいことについてまとめます。
Ruby on Railsは、Web開発に非常に強く、短い記述で多くの機能をかんたんに実装できるのが特徴です。
Gemと呼ばれるライブラリを使って拡張することで更に短い時間で、様々なWebアプリを実装できます。
以下に、Ruby on Railsで開発できる代表的なシステムをまとめます。
WordPressのようなブログシステムのことをCMS(コンテンツ管理システム)と言いますが、Ruby on Railsを使えばオリジナルのCMSを作成することができます。
PHPで作られているCMSであるWordPressは有名ですが、内部のソースが複雑だったり、速度が遅かったりなどの問題も抱えています。
企業のオウンドメディア開発など、独自の機能を柔軟に追加したい場合や大規模サイトを作成したい場合、Ruby on RailsでオリジナルのCMSを用意したほうが良いこともあります。
ECサイトやネットショップも、Ruby on Railsで開発できます。
ECサイト作成で大変なのは決済部分の処理ですが、Ruby on RailsでできているSolidusというシステムや、pay.jpのAPIを活用することで比較的かんたんに導入することが可能です。
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を使って作るのには向いていないものもあります。
一つはスマホアプリです。スマホアプリは、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を使って開発するのは非常に効率が悪いです。
まとめるとRuby on Railsは、Web開発にはとても強いですが、スマホアプリ開発や機械学習には向いていません。一応、スマホアプリも機械学習もできますが、わざわざRuby on Railsを使う必要はないでしょう。
dehaは、過去5年間に渡ってベトナムオフショア開発を行ってきました。ウェブアプリ開発の実績も多数あります。
ウェブアプリ開発を考えられている企業様、ウェブアプリ開発案件を受注したものの開発リソースが足りないITベンダー様は、ぜひ一度dehaにご相談くださいませ。
近年、開発コスト削減やリソース確保を目的として「オフショア開発」を導入する企業が増えています。 その中でも開発スタイルとして注目されているのが「請負型(受託型)」の契約形態です。 この記事では、請負型の基本的な概要から、メリット・デメリット、向いているプロジェクトの特徴、活用シーンまでを徹底解説します。 オフショア開発が気になる方 請負型について気になる方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばオフショア開発の請負型について メリットデメリットがわかるだけでなく活用できるシーンまで丸わかりですよ。 (more…)
ITの進化が止まらないベトナム。国策としてのIT教育が充実していて、若者のIT人口が多いのも特徴です。 そんなベトナムIT企業のランキング指標として、毎年発表されているのが「ベトナムIT企業トップ10」(前身:ベトナムIT企業 トップ50+10社)というものです。 この記事ではそんな「ベトナムIT企業トップ10」を参考に、ベトナムのIT企業の現状と課題について見ていきましょう。 ベトナムのIT事情が気になる方 オフショア開発が気になる方 ベトナムITの課題を知りたい方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばベトナムのIT企業の現状が丸わかりですよ。 (more…)
安価な労働力を利用して開発コストの削減ができるオフショア開発は中国とインドが中心でしたが、近年ベトナムオフショアに注目が集まっています。 この記事ではそんなベトナムオフショアが選ばれる7つの理由について解説しています。 ・オフショア開発が気になる方・社内のIT人材が不足している事業者の方・ベトナムオフショアについて知りたい方 これらに当てはまる方におすすめの記事となっています。これを読めば今大注目のベトナムオフショアのことがまる分かりですよ。 (more…)
近年、スマートフォンの普及とともに、ユーザーにとって使いやすく、企業にとっても効果的なウェブ体験の提供が求められています。 そうした中で注目されているのが「PWA(Progressive Web Apps)」です。 この記事では、PWAの概要や機能、導入によるメリット、そして具体的な導入事例についてわかりやすく解説します。 PWAが気になる方 アプリ開発をしたい方 開発効率を上げたい方 これらに当てはまる方におすすめの記事となっています。これを読めばPWAの特徴や導入のメリットなども分かりますよ。 (more…)
アプリ開発を検討する企業や個人にとって、最初に直面する課題は「どのようにアプリを作るか」です。 そこで本記事ではアプリ開発について、どのような工程があるのかゼロから徹底解説していきたいと思います。 アプリ開発をしたい方 アプリ開発初心者の方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばアプリ開発の効率の良い方法が丸わかりですよ。 アプリ開発に関わるすべての工程や手法を理解することで、発注者としてより良い判断ができ、プロジェクトを円滑に進めることが可能になります。 (more…)
近年、製造業を中心に広がってきた「チャイナプラスワン(China Plus One、中国+1)」戦略が、IT業界でも注目され始めています。 中国に依存しすぎない経営体制を構築するためのこの動きは、製造業の枠を越え、ソフトウェア開発やITインフラといったデジタル領域にも拡大しています。 この記事では、チャイナプラスワンの概要から背景、IT業界における注目理由、そしてオフショア開発との関係性や活用事例までを詳しく解説します。 チャイナプラスワンについて知りたい方 オフショア開発に興味がある方 社内のIT人材が不足している方 これらに当てはまる方におすすめの記事となっています。これを読めばチャイナプラスワンの概要がわかるだけでなく、今後の展望も分かりますよ。 (more…)