Laravel使ってみたのでRailsとざっくり比較(個人開発)

15/08/2019

Laravelで個人開発してみました。

宣伝もしないとなと思いつつもヘボヘボ個人開発なのでブログ書く程度しかできないのですが
目標としては鼻くそほじってるだけで生活できるようになる事なので
ぼちぼち頑張ります。

僕個人について

僕個人は普段Webのフロントコーディングの仕事がメインで日銭を稼いでいるフリーランスです。
なので一応職種としてはフロントエンドエンジニアなのかなと思っております。

とりあえず宣伝

wordstacks

https://wordstacks.nocebo.jp

名言とか格言投稿・共有サービス的な物のつもりです。
投稿すると自動でツイッターとかのシェア用画像が
notosansのちょっとカッコいいフォントで作成されるっていうのが
機能としてはメインのつもり。
だけなのけれどもどうかしら
意識高い系を装いたい人とかネタ的な感じにも使ってもらえると嬉しいなとか考えております。


シェアすると↑こんな感じになります。

railsとlaravelの比較

という訳で本題の比較ですが

ざっくり&ゆるめの比較記事(感想)です

railsもlaravelもフロントの作業だけお願いします。
とか程度はたまにあるのですが
客仕事の業務としてがっつり作業した事はなく
今回のは自分で思いついた事とりあえず形にしてみたただけ。
ぐらいのレベルの感想なので
適当な事も多いと思います。

ゴリゴリエンジニアの方は生暖かい目でみてください。
テストコードとかはろくに書いてない感じです。
しばらくはどうせ誰もみないだろうし。
運良くひと目につくようになったら考えます。

パフォーマンスがどうとか
アーキテクチャが何だとか難しい話も
よく分からないので知りません。

あと以前作ったrailsのサイトもURLとか載せたいところなのですが
SSLの証明書切れて放置しており、そのうち復活させたら載せるかもです。

ざっくり&ゆるめの比較記事ですが
ちょっと触ってみようかしら。って思ってる方の
参考程度になりましたら幸いでございます。

比較表

比較表って言っていいのかなんともだけど、
なんとなくアレでいうコレかな
みたいな比較表です。

             
Laravel Rails
依存管理ツール Composer Bundler
起動とか php artisan serve rails s
ログイン機能 Auth(標準)devise
フロント周り,アセット等 webpack.mix.js asset pipeline
WebSocket Laravel Broadcasting?(laravelでは触れてないので多分) Action Cable
デプロイ deployer capistrano
複数プロセス 多分無い?ような。 foreman

とりあえずの個人的な好みはLaravel

以前railsでCRUD?っぽい物自分で作った事もあったのですが
とりあえず今回laravelで作ってみて、
Laravelでいいじゃんとなりました。
なので良いと思ったところから書いてみます。

言語がPHP

WPとかEC-CUBEは案件でちょくちょく触るので馴染みがあるので
phpは安心します。
あととりあえずサーバーに置けばとりあえずは一応動作するので
そのあたりも気軽です。

rubyにも多分色々あるとは思いますが
webだとrailsぐらいしか使う機会ほぼない?ような。
僕が知らないだけかも。

railsはサーバーでも色々起動だのなんだとひと手間必要になります。
capistranoとか使えばそんなに気にならない所かもですが。
capistranoの設定自体も面倒。

あと僕は個人でやってる事なので関係無いですが、
phpだと使える人がわりと多いのでチームで動く時にも
体制整えやすい。とか聞いた事がありあます。

フロント側の作業的にはLaravelの方がやりやすい。

普段はフロントの仕事やってるのでここは特に思った所かもです。

僕が少し前railsで開発チャレンジしてみた時は
フロントは基本アセットパイプラインで。
というような雰囲気だったと思います。
一応レール(ルール?)に乗ってやってはいたものの
どうにも面倒になってきて途中から別途npm入れて作業してました。
もしかしたら今は事情が変わってる可能性があるかもしれないですが。

Laravelはweppack(mix.js)がデフォルト入ってました。
因みに最近良く聞くVueもデフォルトで使えるっぽいです。

Vue.jsとjQuery

Vueはたまに仕事でVueでお願いします。
とかって依頼もあったりで別に嫌いな訳じゃないけど
とりあえず今回は速度優先で慣れ親しんだjqueryでやりました。
個人的にはプラグインの豊富さだったりでサクッと作るには
jqueryの方が早い気がする。慣れもあるかもですが

DBがMAMPのMySQLでいける(ローカル)

railsも変えればいけるって話ですが
多分デフォルトはsqlite?だったような。
あんまDBの違いとかよく分かってないのですが、
ローカルのMAMPでサクッと作業開始できるのもお手軽でいいなと思いました。
phpmyadminもすでに入っているのでわざわざ入れる必要なし。

学習コスト

前にrails作ってみてたので一応MVCとかの知識が
ゆるいながらソコソコあったのがかなり大きいと思いますが、
それ鑑みても多分Laravelの方がコスパいいような?気がします。

今回Laravelで作ったサイトは
デザインって程の物でもないけれどもレイアウト
等も含みで一旦の公開まで約一ヶ月程でできました。

因みに個人的なサイト作る時は
fontawesomeとかbrowserSyncとか入れちゃえばphotoshop
チマチマ触るのも面倒で直で書いてった方が早い気がするので
いきなりフロントのコーディングから入ります。

普段デザイン再現重視のフロント仕事が多いので
bootstrapって色々ぶつかったりして面倒なだけでない?って思ってたけど、
とりあえずサクっと作りたい時は便利ですね。

逆にlaravelで少し気になった点

違うフレームワークなので違って当然なのですが、
あれ?これは?む?およよ?と思った点も少しありました。

scaffoldが無い

railsだとコマンド一つで色々自動で作ってくれるscaffoldですが
Laravel標準だとないです。
追加でcomposerで入れればいい。はずなのだけれども
バージョン依存の問題なのか、色々面倒な事が起こったりで
まぁ無くても出来るしもういいや、と僕は切ってしまいました。

レールとかルールはゆるめ、な気がする。

適当開発なのでいいか悪いかわからないのですが
google先生で情報探してみてもここはこう書きましょう。
っていうのが色んなパターンがあって迷う。

これはモデルに書くべきなの?コントローラー?って場面が結構あったように思います。
個人的には割と動けばなんでもいい派なので別にいいのですが。

railsはそのあたりやっぱりしっかりしてるような印象があるかもです。
複数人&コードレビューとかで管理するような
プロジェクトだと多少影響あるのかな?
レビューする側に回った事がないので知りませんが。

https起動が面倒

特にローカルで面倒な気がする
railsだとpumaのssl_bindでサクッとできたように思うのだけども
laravelの場合はdockerとかapache色々設定しないと?いけないような。

ngrok使えば良いという情報も見かけつつ、
別になくてもとりあえず公開自体はできるので後回しにしてますが
oauthのcallbackとかでhttpsしか指定できない場合とかあったような気がするので
そのうちやらないとなとは思っています。

envとかのステージの切り替えが少し手間

ステージ?っていう言い方でよいのかなんともですが、
developmentとかproductionとかの環境別の処理が書きにくいような気がしないでもない。
railsだとデフォルトでステージ別のファイルがあったりするので
ああ、コレ変えればいいのね、ってなるような。

デプロイ

railsとlaravelっていうよりは
capistranoとdeployerの話になると思うけども
ちょっとcapistranoと比べて面倒だったような気がします。
sudo周りとか特に手が詰まらなかったような気がするのですが
deployerはなかなかすんなり動いてくれないような印象でした。

あと自分しかgit使ってないので別にいいかとそのまま直書きの状態ですが
capisrano-env的なぱっと探した感じだと無いのかな?多分。

以上です。

作ってる途中に感じた事思い出しながら書いてる感じなので
また何か思いだしたら書くかもです。
ゆるい感想的な比較ですが参考になりましたら幸いでございます。

初学者の方にはLaravelがおすすめ

プログラム的な物の初学者の方には
個人的にはどちらかというとLaravelがおすすめかなという気がしますが
どちらを選んでも頑張ればある程度の物はできると思うし
知識的にはその後に生きると思うので
今勢いがある、とかrailsの方がなんか響き的にカッコいい気がする、
とかの適当な理由で選んでも始めちゃってもいいかなと思います。

以上です。

webLaravel

Posted by admin