- 更新日: 2018年10月08日
- 公開日: 2017年09月27日
【初心者必見】プログラミング言語Rubyでできること10選
プログラミング学習を考えたり調べた時に「Ruby」や「Ruby on Rails」というキーワードに引っかかった方も多いのでは。
なんだか人気のありそうな言語だけど、一体どんなことができるのか、モヤモヤっとしていませんか?
今回は、Rubyでできることの例をいくつかご紹介させて頂きます。
【初心者必見】プログラミング言語Rubyでできること10選
そもそもRubyとは?
Rubyは、他のプログラミング言語と違って、楽しくプログラミングできるように設計された言語になります。 プログラミング言語特有の「記号」をなるべく避け、拡張性を備えたオブジェクト指向を採用し、世界中のWeb開発現場で活用中。 またRubyは、プログラミング未経験者でも比較的早く技術習得できる言語の一つと言われています。
【プログラムの比較】 文字出力のコード
Ruby | PHP |
---|---|
print "HelloRuby" | <?php echo "HelloPHP"; ?> |
PHPに比べてRubyの方がシンプルで読みやすく、書きやすそうなことがわかります。 また数あるプログラミング言語の中でもRubyが注目される理由として、以下のような点が考えられるでしょう。
- 人気のフレームワーク「Ruby on Rails」のベース言語
- Mac PCには、最初からRubyがインストールされている
- スタートアップ企業でよく使われている
- 日本工業規格(JIS)に認定されている
- 名前がかっこいい
【Rubyで作られているWebサービスの例】
- 食べログ
- クックパッド
- クラウドワークス
- Slideshare
- GitHub など
RubyとRailsの違いについて
時々 Ruby = Ruby on Rails(以後Rails) と認識している方がいらっしゃいますが、これは違います。 Rubyはプログラミング言語で、RailsはRubyで作られた「フレームワーク」です。
フレームワークは、Webアプリケーションを作成するための枠組みで、これをベースに様々なプラグインを加えて早く・簡単にアプリケーションを開発することができます。 RubyではRails以外にも、SINATRAやPadrino、Hanamiなどいくつかのフレームワークが存在。
【Ruby on Rails の中身】
Rubyでできること10選
RubyやRailsを使ってできることの例を以下にご紹介させて頂きます。 Rubyのことが分からなくても簡単にインストールしてデモできるものもありますので、パソコンで視聴している方はよかったら試してみてください。
① ブログサイト
ブログ、というとPHPベースに開発された『WordPress』が有名ですが、Rubyでも同じようなブログ管理サイトを構築することができます。
WordPressに比べて必要な機能を自分でセレクトできるため、ページサイズが小さく、本体の更新作業も不要です。
この Tech2GO もRailsで作られていますよ。
【Rubyで作られたブログサイト例】
Bloomberg、アプリ開発会社
② ショッピングサイト
本格的なショッピングサイトから単発的な販売や定期購読の販売など、Webのビジネスモデルを考えていくと様々な形式の「決済」が登場してきます。
Rubyの場合は、一からプログラムを組む方法もありますし、「Solidus」というパッケージを利用して簡単に決済機能を実装することも可能です。
Webアプリケーションのフロント部分からバックサイドまで一貫して開発できるRailsを使うと、早く・小人工で本格的なショッピングサイトも開発することができますね。
Railsのショッピング用パッケージ「Solidus」は、Rubyの知識がなくても起動できますので、パソコンで本稿を見られている方、試してみてください。
【Solidus Smaple】 https://ec-sample-ruby.herokuapp.com/
【Railsのショッピング用パッケージ Solidus を試す】
- SolidusのGitHubにアクセス https://github.com/solidusio/solidus
- Herokuへのリンクをクリック
- Herokuで無料アカウントを作成する
- Solidus用のプロジェクトを作成する
- ダウンロード完了後、「View」をクリック
【Rubyで作られたショッピングサイト例】
Fab、TheArmchair
③ ポータルサイト
一見シンプルそうなポータルサイトもSNS機能やお知らせ機能など、情報のLIVE化が進んでいますよね。
また今後の機能追加やメンテナンス、拡張性を考慮すると「Rails」を採用するケースも増加傾向に。
以下にRails製のポータルサイトをご紹介させて頂きます。
【Rubyで作られたポータルサイト例】
万葉、CirKit
④ SNSサイト
Railsを使うと、SNSに必要なユーザー登録、ログイン、データベースを比較的簡単に作成することができます。
またRailsを使うと、Facebookと連動したログイン機能やスマホ対応のレスポンシブデザインなど、後からの機能追加やデザイン変更も対応可能。
こちらでRailsを使ったシンプルなSNSのデモができますので、よろしければ覗いてみてください。(
SNS Demo 「Socify」)
【Rubyで作られたSNSサイト例】
Airbnb、Wantedly
⑤ アプリケーションサイト
Railsの真骨頂ともいえる「Webアプリケーション」開発、可能性は無限大!?ではないでしょうか。
8,800以上あるRails用パッケージに加えて、無数にあるAPIの数々。
「こんなサービスあったらいいな」をスピーディーに実現することができるでしょう。
【Rubyで作られたアプリケーションサイト例】
クックパッド、GitHub、KICKSTARTER など
⑥ チャットボット
人工知能や機械学習を使ったチャットボットも身近なものとなり、SDKを使ってWebサービスに実装することができます。
【チャットボットのデモ】
https://bot.api.ai/21・・・
(参照:api.ai)
⑦ スマホアプリの開発
AndroidやiOSのアプリ開発というとJavaやSwiftが一般的ですが、Rubyでも「RUBYMOTION」というソフトを使って、AndroidアプリやiOSアプリを開発することができます。
一つの言語で「Web・Android・iOS」のすべてに対応することができるって、いいですね。
⑧ ゲーム制作
ゲーム開発というとC言語やUnityが有名ですが、Rubyでもゲームを作ることができます。
中でも「gosu」というパッケージは人気があって、スーパーファミコンなみのゲームを作ることが可能。
gosuで作ったゲームの数々は、こちらのページから拝見することができます。
⑨ スクレイピング
Web上の特定の情報をゲットしたい時に「スクレイピング」便利ですよね。Rubyの場合、『Nokogiri』という便利なパッケージがあり、プログラミング初心者でも短いコードでスクレイピングを実行することができます。
⑩ クローラー
常時Webサイトを閲覧・データ収集し続けるプログラムを「クローラー」と呼びますが、Rubyを使うと比較的短いコードでクローラーを作成することができます。
短い時間で欲しい情報だけ効率的に集められる「クローラー」、WebやITに限らず様々なビジネス現場で活かせそうですよね。
逆にRubyでできないこと
Rubyは、基本的にはほとんどのものの開発ができ、他の言語と比べてできないことは少ないのですが、強いてい言うならスマートフォンアプリと機械学習分野を苦手としています。
苦手といっても、スマートフォンアプリを作る際、他の言語と同等のパフォーマンスのものを作ること自体は可能です。
しかし、他の言語と違い、アプリ開発用のツールが別途必要になるうえに、Rubyで開発すること自体がメジャーではないので、おすすめはできません。
機械学習においては、Pythonのように特化していいないことに加え、関連のライブラリが充実していないので、現時点ではRubyが機械学習に向いているとは言えません。
Rubyは近年、需要が高まりつつあるので、今後の動向によっては苦手分野を克服することもあるかもしれませんね。
RubyとPythonの得意とする分野の違い
RubyとPythonに共通する特徴は、読みやすく書きやすいという点です。 基本的にRubyでできることはPHPやPythonでもできるのですが、その違いについて説明します。
Rubyが得意とする分野はブログサイトやショッピングサイトのような、Webサイトです。フレームワークを使うことで効率的に作業ができるので、1人でも1日あればサイトを構築できてしまうというのがRubyの最大の強みです。
対するPythonは、統計学や解析、分析に長けており、機械学習や人工知能分野で注目されています。
\Rubyでのサービス開発スキルが身に付く/
まとめ
今回Rubyでできることをご紹介させていただきましたが、基本的にRubyでできることはPHPやPythonでもできます。ただし、同じことをする場合Rubyの方がコードが短い場合が多く、 管理も比較的簡単、そして開発者も多いことからQ&Aや開発の引き継ぎも心配することがありません。
Rubyはじめてみようかな、と思い始めたあなた、確かなスキル習得を実感できるオンライン・マンツーマンレッスンのCodeCamp、いかがでしょうか? まずは無料体験でオンラインレッスンを実感してください。
- この記事を書いた人
- オシママサラ