2019-12-29に投稿

MinQ開発日記 (8) GoからRuby on Railsへ

GoからRuby on Railsへ

変更理由

そもそも自分のサービスをGoで始めたのは

GOなら小さくできるので貧乏VPSでも動くだろう

というのが主要な理由と

デプロイが簡単そう

という理由でした. 使いにくいというわけではないのですが, 個人開発のプロジェクトとして面倒が増えてきました.

  • DBとの連携
  • フロントエンド(主にSPA)との連携

またRuby on Rails(RoR)はAPIサーバー開発が面倒と勝手に思い込んでいたのもありました.

理由 RoRでの対処
DB ActiveRecordがある
SPA webpackオプションが指定できる
APIサーバー apiオプションが指定できる
構成 検索できる

Goのフレームワーク選定がイマイチだったのかもしれませんが, 検索できるってのは安心材料ですし, セキュリティについても懸念が払拭できませんでした. RoRなら素人が頭を悩ますような問題はフレームワーク側でしっかりやってくれているでしょう. 対象が勉強のツールというのもRoRへ変更しようと思った理由です. 開発速度を上げるには多少深い理解を犠牲にして, 作ってしまおうとk我慢できなくなったわけです. これと関連してビルド待ちが面倒というのもあります.

Goをやって良かった所

「俺にはGoは早すぎた」という結論なのですが, Goをやって良かったのはGoは基礎を学ぶのに良い言語だということです. C with Memory Managementという感じのシンプルな文法や比較的低レベルの話がGoでは読めたりしますので, また勉強していきたいです. 後は少しWeb関係の語彙が増えたぐらいでしょうか.

RoRの解法

上述の点をもう少し明確にしておこうと思います.

プロジェクト作成

この辺のGo + Echoでメンドくさかった所です.

rails new project_name

DB連携

DBの指定も簡単です.

rails new project_name --database=mysql
rails new project_name -d mysql

APIサーバー

RoRのことはよく知りませんがMVCパターンでWebアプリを開発するということは知っていました. そのためAPIサーバーの開発に使えるとは思っていませんでした.

rails new project_name -d mysql --api --skip-turbolinks

SPA

Reactも指摘できます.

rails new project_name -d mysql --api  --skip-turbolinks --webpack=react

こんなに簡単でいいんでしょうかって感じですが便利です.

Reference

Using Rails for API-only Applications
Building and Consuming a JSON API with Rails and React

ツイッターでシェア
みんなに共有、忘れないようにメモ

ブレイン

Androidアプリ開発者を目指しています. 興味あることリスト: https://t.co/ew3bb6grdJ Github: https://t.co/9btqysHqWr Qiita: https://t.co/ZVRhjouauX

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント