kuguru[クグル]kuguru[クグル]|人が、ITの世界をくぐり抜けるためのアイデアを。railsとは?特徴とできること皆さん、Rubyという言葉を聞いたことがありますか?Rubyは最近急速に利用が進んでいるプログラミング言語です。Webシステム開発に利用されることが多く、食べログやCookpadといった大規模なサイトでも使われている、非常に優秀な言語です。rails」というフレームワークです。railsを使うと、簡単にWebシステムを開発できるため、あっという間に広まりました。railsがどういったものかを、特徴やできることを含めて解説していきます。railsは、RubyでWebシステムを開発する作業を楽にするための道具、という理解をしていただければ良いかと思います。railsはWebシステム開発用のフレームワークです。特徴としては、なんと言ってもMVCアーキテクチャを採用していることでしょう。MVCとはModel、View、Controllerの略で、Webシステムの機能をこの3つに分類して開発を進めていくスタイルです。Modelはデータベースなど、永続化されたデータとビジネスロジックの処理を担当します。Viewはユーザが操作する画面の入出力や描画を担当します。Controllerは、ViewとModelの仲介をして、全体を制御します。このように役割分担することで、どこに何を書けば良いのかが明確になり、効率よく開発ができるようになります。Yourself)原則に基づいているので、同じコードを何度も書かなくてもいいように工夫されています。テストを自動化する仕組みを持っているので、従来のようにWebブラウザを立ち上げて操作しなくても、テストすることができます。最後の特徴は、データベースを直感的に操作できる機能が提供されていることです。railsではSQLを使わなくてもデータベースの操作が可能です。railsを使えば、簡単にWebシステムを作ることができます。Chromeなど)だけあればパソコンに何もインストールしなくても動くシステムのことです。スマホアプリのサーバ側処理を開発することもできます。railsが使えるというわけです。railsで構築することもできます。railsはとにかく開発速度が速いので、業務要件がコロコロと変わるような業務システムでもすぐに対応できるという特徴があります。フレームワークって何?フレームワークという言葉は、Ruby専用用語ではありません。他のプログラミング言語にも有名なフレームワークは数多く存在します。フレームワークとは、共通的な処理や何度も書かなければいけない処理などを事前に準備してくれている便利なツール群のことです。フレームワークを利用しなければ、すべての処理をいちから記述しなければなりませんが、フレームワークがあれば、基本的な処理はすべて用意されているので、やりたいことだけを記述すればすむようになります。料理に例えるなら、シチューの元といったところでしょうか。シチューをいちから作るとなると、まずはホワイトソースから作らなければなりません。シチューの元を使えば、後は具材を入れて煮ればOKですよね。した手軽さがフレームワークの利点です。プロの現場では、フレームワーク抜きで一からシステムを構築することは、まずありません。初心者でも、「簡単なWebシステムを作ってみたい!」という場合は、フレームワークが有効に活用できます。railsのヘルパーの機能Viewは基本的にHTMLで作成するのですが、動的なコンテンツ(例えば検索キーを元にデータベースから取得したデータを一覧で表示するなど)を記述するには、HTMLの中にRubyコードを埋め込みます。簡単なコードなら問題は無いのですが、複雑なコードをHTMLの中に埋め込むと、非常に読みづらくなります。共通的な処理の場合は、同じRubyコードを何度もHTMLに混ぜて記述することになるため、もしその共通的な処理に変更が生じたら、全部の箇所をひとつずつ変更しなければなりません。これはDRYの原則に反していて、保守性を大きく低下させてしまいます。そこで登場するのがヘルパーという機能です。ヘルパーは、Viewから呼び出すことができるメソッドを定義することができる機能です。先ほどお話した、長い処理や何度も出てくる共通処理は、ヘルパーに記述しておいて、Viewからは1行で呼び出しを書けばよいのです。モジュールとの違いRubyにはモジュールという概念があります。便利な共通機能を外出しのプログラムとしてまとめておき、必要に応じてそれを呼び出す、という考え方です。して外出しにしたプログラムの集まりをモジュールと呼びます。先ほどご紹介したヘルパーは、このモジュールの一種で、Viewから呼び出すことができる特別なモジュールのことです。railsについて、その特徴やできることについて解説しました。railsはWebシステム開発用のフレームワークで、これを利用すると簡単にWebシステムが開発できます。railsも無料で入手できますので、興味がある方はインストールして触ってみてください。きれいなMVCアーキテクチャなので、MVCモデルの勉強にもなります。