Ruby
Rubyやってみたよ
イブリン
公開日:2024/02/29
こんにちは。イブリンです。
趣味とかで、新しいことをはじめて、それにちょっと手慣れできたら横方向でいろいろ模索し出しちゃう時期ありませんか?
それがいまの私です()
Rubyについて
WEB開発においての両大勢力、PHPとRuby。
当社のシステム開発ではPHPを使用していますが、Rubyの噂もちょくちょく聞きます。
なんならRubyエンジニアの給与がPHPエンジニアより2倍近くも高いのだとか・・
https://survey.stackoverflow.co/2023/#section-salary-salary-and-experience-by-language
というわけで敵陣に潜入してきました。
Ruby on Rails
Rubyにおいて一番支持されているフレームワーク、Ruby on Railsを触ってみました。
見やすい・読みやすいという噂を聞いておりますが、実際にどうでしょうか。
下記はコントローラーの例です。カッコなどの区切りシンボル(個人的な呼び方です)がほぼなく、主に英単語でシンタックスが構成されています。
1 2 3 4 5 6 7 8 9 |
class ArticlesController < ApplicationController def index @articles = Article.all end def show @article = Article.find(params[:id]) end end |
PHP(Laravel)だとこのようになりますね。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php namespace App\Http\Controllers; class ArticlesController extends Controller { public function getIndex() { $articles = Article::select('*') ->get(); return view('article', $articles); } public function getEntry() { $article = Article::find(1) ->get(); return view('detail', $article); } } |
確かにPHPと比べるとかなり簡潔に見えますね。
慣れてくるとコーディングの効率も上がるのでしょうか。
Railsを触ってる中で一番感心したのがコマンドラインでモデルの操作ができるということでした。(厳密に言うとモデルを操作するための機能ではないですが)
公式ドキュメントでも記載がある通り、RailsではConsoleという、開発しているアプリケーションのソースとRailsを考慮したinteractive Ruby(irb)を備え付けています。
interactive Rubyとは、コマンドラインでプログラミングができるインターフェースだそうです。
ちょっとしたデバッグでこのロジックの結果見たいのにあっちこっちにvar_dump・・・PHPユーザーとしてのあるあるではないでしょうか。(え?私だけ?)
詳しい操作方法は、下記公式の6.3でめちゃくちゃわかりやすく説明しているので割愛しますが、即時にプログラムを走らせるのが非常にデバッグがしやすそうに思いました。
https://guides.rubyonrails.org/getting_started.html
ビューに関してはBladeと似たようなシンタックスとなっているので、Laravel経験者であればすぐわかるのではないでしょうか。
1 2 3 4 5 6 7 8 9 |
<h1>articles</h1> <ul> <% @articles.each do |article| %> <li> <%= article.title %> </li> <% end %> </ul> |
以上を踏まえて、今回の成果は下記の通り:
いろいろあって公式のチュートリアル分のforeachでHello Worldさせることしかできていませんでした・・
またRubyとRailsの勉強続きたいと思います。