Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Loading in …3
×
1 of 31

090821 Ruby Sapporo Night Ruby Cocoa

3

Share

Download to read offline

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

090821 Ruby Sapporo Night Ruby Cocoa

  1. 1. RubyCocoa LiveCoding 2009-08-21(Fri.) Ruby Sapporo Night @Apple Store Sapporo まえだ ともき Maeda Tomoki
  2. 2. 前田智樹 / MAEDA Tomoki / tmaeda ✓Ruby暦10年 ✓MacおよびMacプログラミング歴15年 ✓株式会社アンタス勤務 ✓Ruby札幌運営、RubyKaigiスタッフ ✓最近の興味はOCaml、AR(MR)、集合 知プログラミング
  3. 3. 今日のお話 ✓ RubyCocoaとは? ✓ MVCのおさらい ✓ RubyCocoaでアプリ作成の 実演 ✓ RubyCocoaの仕組み
  4. 4. 今日のお話 ✓ RubyCocoaとは? ✓ MVCのおさらい ✓ RubyCocoaでアプリ作成の 実演 ✓ RubyCocoaの仕組み
  5. 5. RubyCocoa
  6. 6. RubyCocoa その前に...
  7. 7. Cocoa ✓MacOSX用の Cocoaアプリ アプリケーション Cocoa フレームワーク Mac OS X ✓ Objective-C で書かれている
  8. 8. Objective-C ✓Cに、Smalltalkから強く影 響を受けた動的なオブジェクト システムを追加した言語
  9. 9. RubyCocoa ✓RubyとCocoaの間の橋渡し をするブリッジ ✓RubyとObjective-Cは性 質が似た言語なのでRubyから Cocoaを自然な形で利用可能 ※MacOSX10.5(Leopard)からOSに標準添付
  10. 10. 今日のお話 ✓ RubyCocoaとは? ✓ MVCのおさらい ✓ RubyCocoaでアプリ作成の 実演 ✓ RubyCocoaの仕組み
  11. 11. 今日のお話 ✓ RubyCocoaとは? ✓ MVCのおさらい ✓ RubyCocoaでアプリ作成の 実演 ✓ RubyCocoaの仕組み
  12. 12. MVC Model View Controller
  13. 13. Model ✓アプリが扱いたいデータ ✓および、そのデータを管理・加工するロ ジック ✓つまりアプリケーションの存在意義 ✓iTunesなら音楽データの管理、検索、変換、再 生がModelに入れるべきロジック ✓メーラーならメールデータ作成、送受信、保 存、検索がModelに入れるべきロジック
  14. 14. View ✓ 「出力」担当 ✓ Modelのデータをいろいろ な見せ方で表示するのみ ✓Modelに対しては基本的に Read Onlyでアクセスする
  15. 15. Controller ✓ 「入力」担当 ✓ キーボード、マウスなどから 入力を受け取り、それを Model内の適切なロジックに 渡す ✓ ModelとViewの仲介役
  16. 16. MVCのキモ ✓アプリケーションのUIと アプリケーションの機能を分離 Controller View Model
  17. 17. MVCのキモ ✓アプリケーションのUIと アプリケーションの機能を分離 Controller View MはVやCのこと を知らない Model
  18. 18. 今日のお話 ✓ RubyCocoaとは? ✓ MVCのおさらい ✓ RubyCocoaでアプリ作成の 実演 ✓ RubyCocoaの仕組み
  19. 19. 今日のお話 ✓ RubyCocoaとは? ✓ MVCのおさらい ✓ RubyCocoaでアプリ作成の 実演 ✓ RubyCocoaの仕組み
  20. 20. 作るもの カウンターアプリ
  21. 21. 今回のアプリでのMVC ソース上には現れて いないが、nibファイル内で 自動的に設定されている target Controller View ib_outlet :countLabel @counter (@countLabel) Model
  22. 22. LiveCoding
  23. 23. MVCの効果1:再利用 ✓VやCは環境に依存するコード になりやすいが、Mの中にVや Cに関するコードを書かないの で、Mは他の環境(Winや Linux)でも動かしやすい
  24. 24. MVCの効果2:テスト ✓MがUIと関連しないので、M に対する自動テストがやりやす い(UIを自動テストでテストす るのは困難)
  25. 25. 今日のお話 ✓ RubyCocoaとは? ✓ MVCのおさらい ✓ RubyCocoaでアプリ作成の 実演 ✓ RubyCocoaの仕組み
  26. 26. 今日のお話 ✓ RubyCocoaとは? ✓ MVCのおさらい ✓ RubyCocoaでアプリ作成の 実演 ✓ RubyCocoaの仕組み
  27. 27. Cocoaアプリの構造 コンパイルされた バイナリ
  28. 28. RubyCocoaアプリの構造 コンパイルされた バイナリ (Rubyインタプリタ を内包)
  29. 29. 今日のお話 ✓ RubyCocoaとは? ✓ MVCのおさらい ✓ RubyCocoaでアプリ作成の 実演 ✓ RubyCocoaの仕組み
  30. 30. 日本初!RubyCocoaの書籍 毎日コミュニケーションズから2009年9月下旬発売予定 著 高尾宏治 監修 木村渡、中川智史
  31. 31. 今日のポイント ✓ロジックを極力Mにを集めるようにし ましょう ✓M内にはVやCに関連したコードを書 かないようにしましょう ✓RubyCocoaアプリはRubyインタ プリタを内包したアプリです ✓もうすぐRubyCocoaの本が出ます

×