以下、作業用メモです。
いつか勉強してみたいと思ったRubyという言語とそのフレームワークでもあるRuby on Rails 。
バックエンド未経験の場合、まずはここから学習すると良いと聞いたことがあります。
あるきっかけで触ることになる予定なので、標題のことについて調べてみました。
調べてみたけど多くのWebサービスで使われている
Ruby on Railsを使用して作られた有名なサービス:
- クックパッド (Cookpad): 国内最大級のお料理レシピサイト
- Airbnb: 宿泊施設予約サービス
- Gunosy: ニュース配信サービス
- クラウドワークス (CrowdWorks): クラウドソーシングサービス
- Kickstarter: クラウドファンディングサービス
- 食べログ (Tabelog): レストランレビューサイト
- 価格.com: 商品価格比較サイト
- Twitter: 初期のTwitterはRuby on Railsで作られていました
- Hulu: 動画配信サービス
- GitHub: ソフトウェア開発プロジェクトのホスティングサービス
- Wantedly: ビジネス向けSNSサービス
- freee: クラウド会計ソフト
Ruby on Railsは非常に強力なフレームワークで、様々な種類のアプリケーションを作成することが可能。以下に、Ruby on Railsを用いて作成するのに適したいくつかのアプリケーションの例を挙げる。
- ブログやニュースサイト: Ruby on Railsは、記事の投稿や編集、削除などの基本的なCRUD(Create, Read, Update, Delete)操作を容易に行うことができる。
- ECサイト: 商品の一覧表示、カート機能、決済処理など、ECサイトに必要な機能をRuby on Railsで実装することが可能。
- SNS: ユーザー間のコミュニケーションを可能にする機能、例えばメッセージの送受信、画像のアップロード、コメントの投稿などをRuby on Railsで作成することができる。
- 情報共有アプリ: 例えば、看護師向けの情報共有アプリのように、特定の職業や趣味のコミュニティで情報を共有するためのアプリを作成することも可能。
Ruby on Railsが人気な理由
・初心者でも学びやすい
・少ないコードで書ける
・応用できる
・仕事が獲得しやすい
Ruby on Railsが苦手なこと
・Web系に強い言語・フレームワーク(Webサービスの開発には長けている)で、アプリやゲームにはその分野に強い言語とは見劣りしてしまう。
・人口知能の開発には不向き →AIや機械学習に興味があるならPythonが良いらしい
・直感的にコードが書ける反面、ライブラリなどの拡張機能の組み合わせによるエラーの原因が特定しにくい →コード管理をきちんと行う
・「処理速度が遅い」というデメリットがある →大人数での開発、大規模なデータを扱う開発には不向きで「Java」や「PHP」などが採用されることが多い。
【参考サイト】
Ruby on Rails で開発する流れ
いきなり開発はせずに事前に準備すること。
・アーキテクチャを考える。
→使うフレームワーク、ライブラリ、バージョン管理システム、サーバー、データベース、Gem
・設計
→要件確認、画面設計(ワイヤーフレーム)、データモデル設計、ER図、画面の詳細設計、機能の詳細設計
・事前に効率的な開発手法を調べる
→railsの便利機能を調べる
・WBS(Work Breakdown Structure:作業分解構成図)を作成
→https://products.sint.co.jp/obpm/blog/serial-umeda07
【参考サイト】
マネタイズまで考える際はリーンキャンバスも採用してみる
趣味ではなく、ビジネスとしてサービスを打ち出す際にはここまで考えたいです。
以下の記事でも触れていました。
リーンキャンバスは、ビジネスモデルを9つの要素に分けて可視化するフレームワーク。スタートアップにおいて重要ではない要素を取り除いて仮説と検証を繰り返しながらビジネスを立ち上げるリーンスタートアップで使うために設計されている。
リーンキャンバスは以下の9つの要素で構成されている:
- 顧客のセグメント: 自社サービスや商品を利用する顧客像を設定。
- 顧客の課題: 想定する顧客が抱えている課題(仮説)を、優先度が高い順に3つほど書き出す。
- 独自の価値提案(UVP): 代替サービスにはない自社ならではの強みや価値を書き出す。
- ソリューション(課題解決): 顧客の課題を解決するための具体的な解決策を記述する。
- チャネル(販路): 商品やサービスを顧客に届けるためのチャネルを記述する。
- 収益の流れ: 収益を得るための具体的な方法を記述する。
- コスト構造: ビジネスを運営するために必要なコストを記述する。
- 主要指標: ビジネスの成功を測るための主要な指標を記述する。
- 圧倒的な優位性: 自社が競合他社に対して持つ圧倒的な優位性を記述する。
何はともあれまずは作ってみる
以下サイトを参考に、まずは作ってみる。