0
0

More than 3 years have passed since last update.

Rails開発の変遷2020

Posted at

概要

  • webサイトの作成はRailsを使ってきた。
  • 今年はHTML、CSSを学び、UIを作るようになった。
  • vue/nuxtを学んでから、開発の仕方が変わった

Webpack

  • Rails本来のview作成はerb形式。slimで書くのが普通らしい
  • Rails 5.2からWebpackをサポートし、vueを使ってHTMLを作成できるようになった。知らんけど。
  • viewsにはjavascriptを参照する記述のみ。実際の中身はjavascriptディレクトリに作成する

やり方

  • Qiitaにわかりやすいチュートリアルがあるので、それを参考にするのが良い。
  • vue側はvue CLIを使ったほうが開発が捗る。vue CLIである程度完成させてから、railsのjavascriptにコピペするような方法で作成した。

欠点

  • 何も設定せずに開発すると、vueを更新した後にrails sを立ち上げなおす必要がある。
  • vue-routerを使っていると、ホットリロードした時にルーティングエラーがでてしまう。

サーバー側とフロント側を分離して開発

  • railsはサーバーサイドのみに特化し、フロントはvueで作成する。
  • サーバーとフロントの切り分け設計ができるようになった。(APIを意識する)
  • エラーを見つけやすくなり、開発効率アップした
  • DBはfirebaseに移行(それまではpostgreSQLを使っていた)

今年使い方を学んだgem

Rails

active admin

  • 管理者画面を作成できる
  • Railsではデータを作成する時に、コンソールやseedでデータ作成できるが、active adminを使えば画面上で編集できる
  • UIはhtmlテンプレートではない形式で作成されている。そのため、管理者画面にマップとか入れたいと思っても実際無理。
  • firebase storageを使うようになってから使わなくなった。

devise

  • Railsでログイン機能を作るにあたってのデファクトスタンダード
  • session云々やpassword暗号化を良しなに実装してくれる(便利過ぎてsession云々を忘れるくらい)
  • バックとフロントを切り分けて開発するようになってから、ヘルパーメソッドを使えなくなった。
  • firebase authを使うようになって不要になった。

active record

  • Railsで画像をアップしたりする時に使うgem
  • erbでviewを作成するなら、恩恵を存分に受けられる。(controllerだけでURLから画像を取得することもできる)
  • active recordは本来の使い方をすれば便利だろうと思う反面、本来の使い方以外がしにくい(どこで何がどう動いているのか把握しにくい)
  • 画像ファイルのアップロードなら、carrierwaveのほうがどこで何を処理しているのかがわかりやすい

miniMagic

  • Railsで画像を加工・編集するためのgem
  • 参考文献が多くないため、最低限の使い方しかわからない
  • 処理に時間がかかる。LINE Messangerで使おうとしたが、処理スピードが遅く、まともに使えなかった。
  • 画像編集はjavascriptで行い、firestorageに画像ファイルを保存するような設計にしたため、サーバー側で画像を作成してフロント側に送るようなことがなくなった。

今後について

  • RailsでAPIモードで開発するなら、Railsである必要性はないかな、、、
  • node.jsでのexpressかpythonでのfastAPIを検討中
  • とはいえ、rubyは好きな言語であるのでrubyとrailsを使うメリットがあるなら、使っていきたい。
  • railsの活用法があれば教えてください。d
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0