090821 Ruby Sapporo Night Ruby Cocoa

1,238 views

Published on

Published in: Technology, Education
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,238
On SlideShare
0
From Embeds
0
Number of Embeds
112
Actions
Shares
0
Downloads
3
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

090821 Ruby Sapporo Night Ruby Cocoa

  1. 1. RubyCocoaLiveCoding2009-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 ViewController
  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の本が出ます

×