Rails 3のはなし

Preview:

DESCRIPTION

オープンソースカンファレンス 2009 Tokyo/Fall にて http://www.ospn.jp/osc2009-fall/modules/eguide/event.php?eid=45

Citation preview

Rails 3のはなし松田 明 @ OSC2009 Tokyo/Fall

おしながき

1.Railsの2つの最新版2.Rails 3の特徴3.Rails 3の気になる新機能

自己紹介

自己紹介

name: ‘松田 明’,

twitter: @a_matsuda,

github: ‘amatsuda’

Rails Contributor

これ

Rails Bugmasher

なんか賞品もらった

Head First Rails

• Rails 2.3完全対応•超初学社向け入門書•オライリージャパン•この冬発売予定

おしながき

1.Railsの2つの最新版2.Rails 3の特徴3.Rails 3の気になる新機能

Railsの2つの最新版

GitHubのリポジトリ上に

2つのアクティブなブランチ

2つのアクティブなブランチ

•2-3-stable• master

RubyKaigi 2009にて

“use edge”

とか言ったかと思うんですが、

2つのブランチの位置づけ

•2-3-stable=> Railsの先っちょを使いたい人向け

•master=> Railsを開発する人向け

今のmaster

• 動いたり動かなかったり•さわるな危険

言い換えると、

•2-3-stable=> 今現在手に入る最高のRails

• master=> いつか手に入る未来のRails

おしながき

1.Railsの2つの最新版2.Rails 3の特徴3.Rails 3の気になる新機能

Rails 3の特徴•Merbとの統合で話題• is a “big bang” rewrite• 開発メンバー•modularity• freedom

Merbとの統合で話題

•同時多発カミングアウトという演出•あれからもうすぐ1年

どこがやねん

開発メンバー

•ActionPack=> Yehuda Katz

• ActiveSupport=> Jeremy Kemper

この2人

今年、相次いで来日講演

2人が言及

modularity

modularity

• 疎結合化•脱「フルスタック」

疎結合化

•モジュール間のインターフェイスを規定•モジュールレベルでのDuck Typing的な• モンキーパッチ撲滅

脱「フルスタック」

•選択肢が増えてきた•抽象化レイヤー•みんなRailsの子孫たち

選択肢

DMとかSinatraとかJQueryとかHAMLとか

抽象化レイヤー

•Web => Rack• 関係代数 => ARel

みんなRailsの子孫たち

•Railsの思想に影響を受けたプロダクト• Railsちっく• 「Railsの一部」になり得る

Railsnessの変化•Rails 11人で作った1本のレール

• Rails 2みんなで敷いた1本のレール

• Rails 3アプリの数だけレールがあっていいよね

レールとは何なのか?

•Railsらしさのミーム• DHHが教えてくれたもの

DHHが教えてくれたもの• DRY

• CoC

• フルスタック

• MVC

• ActiveRecord

• モデル中心

• REST

• TDD

• ジェネレーター

• DSL

• メタプログラミング

• Ajax

• environments

• プラグイン

• 15分でブログ

• Ruby

Rails != DHH

RubyKakgi 2009で

“political change”

とか言ったかと思うんですが、

freedom

真のアナーキズムの到来、かもね

おしながき

1.Railsの2つの最新版2.Rails 3の特徴3.Rails 3の気になる新機能

気になる新機能•ActiveSupport• ActionPack• ActiveRecord• RailTies• Ruby

ActiveSupport

• 全面的にオープンクラスにスイッチ•パフォーマンス向上•機能単位で分割ロード• extlibとの関係は?

ActionPack• RailsでもMerbでもないものに全面書き換え

• abstract_controller• action_dispatch• new router

ActiveRecord

• ActiveModel• ARel

RubyKaigi 2008で

“named_scopeを使えばRubyのDSLで関係演算が!”

とか言ったかと思うんですが、

ARel

今度こそ真打ち登場か!?

RailTies

• yet another “application.rb”• new initializer• new generator

Ruby

• Ruby 1.9.2 compatible• ruby_version_is “1.8.7”..””

and much more

つづきは 勉強会で

Recommended