SlideShare una empresa de Scribd logo
1 de 15
ASP.NET MVC開発者が
Railsはじめてみた
ーRails哲学にふれる
Ruby/ Ruby on Railsビギナーズ勉強会 第4回
2015/04/19 平田智子
about me
• 平田智子(ひらたともこ)
• 新潟県生まれ、大阪出身です
• 三年前に就職のため上京
• 普段はvisualstudio(vb.net)で開発しています
web開発経験はASP.NET MVC4のみ
attention
• Ruby on Rails vs ASP.NETMVC ではないです
• ソースコードはありません(・∪・)/★
• 「Ruby on Railsチュートリアル」は3章まで済
• ビギナー中のビギナー
Railsを始めたきっかけ
なんか新しい言語はじめてみたいなー
「ビギナーズ」って書いてある!!怖くなさそう!
Ruby on Railsと
ASP.NETMVCの関係は??
Ruby on RailsとASP.NETMVC
一方、Ruby on Railsの作成者であるデビッド・ハイネマイアー・ハンソン氏は、
MicrosoftがMVC分野に進出するのを歓迎している。
「MVCは、Webアプリケーションの構造を分割するためのシンプルで素晴らしい方法
であり、ほとんどあらゆる環境で人々に恩恵をもたらすだろう。業界の視点から見れば、
Microsoftがついに関心を持ち始めたのは良いことだ」とハンソン氏は米eWEEKの取材で
語った。 (略)
「MicrosoftがMVCに注目しているのは間違いない」と同氏は話す。「ASP.NET用として
提案されたMVC拡張機能は、われわれがRailsに実装した手法と酷似している。われわれ
が何年も前から提唱してきたアイデアの多くを、Microsoftのような巨人がまねようとし
ているというのは、もちろん名誉なことではあるが、彼らはパーティーに少し遅刻したよ
うだ」。
引用元:Ruby on Railsを見習うASP.NET
原文:ASP.NET to Follow Ruby on Rails Lead
(2008-02-13)
Ruby on RailsとASP.NETMVC
Ruby on Rails
•Ruby環境で動作する
Webアプリケーション
フレームワーク
•MVCアーキテクチャ
•2005年にバージョン
1.1 がリリース
ASP.NETMVC
•ASP.NET上で動作する
Webアプリケーション
フレームワーク
•MVCアーキテクチャ
•2009年にMVC1がリ
リース
他、Railsの影響をうけたフレームワーク
PerlのCatelyst
PHPのCakePHP
JavaのPlayFramework
JavaのGrails
2008年 正式版リリース
2005年 Cakeフレームワーク公開
2007年 ver1.0リリース
2009年 ver1.0リリース
2008年 ver1.0リリース
PHPのSymfony
Railsの影響って??
RailsのMVCアーキテクチャ
• Controller:Action Controller
• View:Action View
• Model:データ保持はActive Record
というコンポーネントが担当
参考:Ruby on Railsチュートリアル
Railsの基本理念
• 「同じことを繰り返さない」
• DRY:Don't Repeat Yourself
• 「設定より規約」
• CoC:Convention over Configuration
まとめ & 感想
まとめ&感想
• Ruby on Railsの理念を理解するということは‥
• =影響を受けたフレームワークの理解に役立つ
• =その逆もあり(私はこのパターン)
• 個人的には統合環境とコマンドラインでの開発の
違いに苦労しました‥ (´`)
参考文献&Webサイト
• ドットインストール #02 DRY/CoC/MVCアーキテクチャとは?
http://dotinstall.com/lessons/basic_rails_v2/24902
• Ruby on Railsガイド
http://railsguides.jp/
• パーフェクトRuby on Rails
• 素材提供:ヒューマンピクトグラム2.0
余談
• 当初の予定ではRuby on RailsとASP.NETMVCの
ソースコード比較とかやろうとしてました‥
• 次回(または別の機会)の宿題ということで!

Más contenido relacionado

Destacado

React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようReact系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようKazuhiro Hara
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてHirata Tomoko
 
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)K Tsukada
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiTiago Knoch
 
はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.jsHiroki Toyokawa
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!Yuji Nojima
 
PHP実践 ~外部APIを使って情報を取得する~
PHP実践 ~外部APIを使って情報を取得する~PHP実践 ~外部APIを使って情報を取得する~
PHP実践 ~外部APIを使って情報を取得する~schoowebcampus
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造Takuya Akiba
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Yohei Yasukawa
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Takuro Sasaki
 

Destacado (13)

React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようReact系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えよう
 
Railsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えてRailsチュートリアル(second)を終えて
Railsチュートリアル(second)を終えて
 
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
RESTful開発フロントエンド編(SPA・AltJS・フレームワーク)
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
はじめよう Backbone.js
はじめよう Backbone.jsはじめよう Backbone.js
はじめよう Backbone.js
 
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
 
PHP実践 ~外部APIを使って情報を取得する~
PHP実践 ~外部APIを使って情報を取得する~PHP実践 ~外部APIを使って情報を取得する~
PHP実践 ~外部APIを使って情報を取得する~
 
プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造プログラミングコンテストでのデータ構造
プログラミングコンテストでのデータ構造
 
Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)Railsチュートリアルの歩き方 (第4版)
Railsチュートリアルの歩き方 (第4版)
 
Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発Swaggerで始めるモデルファーストなAPI開発
Swaggerで始めるモデルファーストなAPI開発
 
MVC 01
MVC 01MVC 01
MVC 01
 
MVC 02
MVC 02MVC 02
MVC 02
 
MVC 03
MVC 03MVC 03
MVC 03
 

Más de Hirata Tomoko

Let's try to use Background sync
Let's try to use Background syncLet's try to use Background sync
Let's try to use Background syncHirata Tomoko
 
Use Laravel telescope
Use Laravel telescopeUse Laravel telescope
Use Laravel telescopeHirata Tomoko
 
Start PWA from vuejs+github pages
Start PWA from vuejs+github pagesStart PWA from vuejs+github pages
Start PWA from vuejs+github pagesHirata Tomoko
 
エンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったことエンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったことHirata Tomoko
 
Rails5クイックスタート
Rails5クイックスタートRails5クイックスタート
Rails5クイックスタートHirata Tomoko
 
Electronからはじめるnodejs
ElectronからはじめるnodejsElectronからはじめるnodejs
ElectronからはじめるnodejsHirata Tomoko
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるHirata Tomoko
 

Más de Hirata Tomoko (9)

Goの深め方
Goの深め方Goの深め方
Goの深め方
 
Let's try to use Background sync
Let's try to use Background syncLet's try to use Background sync
Let's try to use Background sync
 
Use Laravel telescope
Use Laravel telescopeUse Laravel telescope
Use Laravel telescope
 
Start PWA from vuejs+github pages
Start PWA from vuejs+github pagesStart PWA from vuejs+github pages
Start PWA from vuejs+github pages
 
Walking front end
Walking front endWalking front end
Walking front end
 
エンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったことエンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったこと
 
Rails5クイックスタート
Rails5クイックスタートRails5クイックスタート
Rails5クイックスタート
 
Electronからはじめるnodejs
ElectronからはじめるnodejsElectronからはじめるnodejs
Electronからはじめるnodejs
 
Railsのフロントエンド開発を考える
Railsのフロントエンド開発を考えるRailsのフロントエンド開発を考える
Railsのフロントエンド開発を考える
 

ASP.NETMVC開発者がRailsはじめてみた

Notas del editor

  1. モデル/ビュー/コントローラは頭文字を取ってMVCアーキテクチャーと呼ばれるもの ・アプリケーションをモデル(データを扱う部分) ・ビュー(ユーザーに見える結果を作る部分) ・コントローラ(ユーザーからの要求を処理し、モデルやビューと連携を行なう)
  2. DRY例:modelの検証ロジックを新規作成時/編集時に利用 CoC:規約にのっとってプログラミングすることで、余計なプログラミングや設定を省くことができます。