Successfully reported this slideshow.

[RubyMotion LT] nitronに見るiosアプリ開発の未来

6

Share

Loading in …3
×
1 of 20
1 of 20

[RubyMotion LT] nitronに見るiosアプリ開発の未来

6

Share

Download to read offline

Transcript

  1. 1. RubyMotion LT nitronに見る iOSアプリ開発の未来 西見 公宏 / Masahiro Nishimi (@mah_lab) SonicGarden Inc.
  2. 2. 自己紹介 http://thinkit.co.jp/book/2012/06/07/3569
  3. 3. 提供 http://www.sonicgarden.jp/
  4. 4. RubyMotionを はじめて見る人のイメージ もしかして: Objective-Cのコードを Rubyで書き直しているだけ
  5. 5. 事実 Objective-Cのコードを Rubyで書き直しているだけ
  6. 6. いやいや、これはちょっと。。 もう少しRubyっぽくならんか? Railsみたいな感じに開発でき んものか?
  7. 7. そこでnitronですよ https://github.com/mattgreen/nitron
  8. 8. nitronとは ● Master-Detailなテーブルビューを持つアプリを 超高速に作れるようになるラッパーライブラリ。 ● CoreDataにActiveRecordっぽい文法でアクセス する機能もサポート。(でもRelationはサポートし てない!) ● データバインディングとアウトレットを無理やりサ ポート。
  9. 9. 2012/7/20現在テストコードが1 行も書かれていない強気なGem ですが、RubyMotionで書くコー ドって後々こうなっていくんだろ うなーという希望を持てるGemで す。
  10. 10. 開発の流れ (1) プロジェクトを作成してnitronをBundle $ motion create task $ vi Gemfile source :rubygems gem "rake" gem "nitron" $ bundle install $ rm app/app_delegate.rb
  11. 11. 開発の流れ (2) Rakefileの設定 $:.unshift("/Library/RubyMotion/lib") require 'motion/project' require 'rubygems' require 'bundler' Bundler.require Motion::Project::App.setup do |app| ...
  12. 12. 開発の流れ (3) StoryboardとCoreDataの用意 XcodeでMaster-Detailプロジェクトを作り、 生成されたStoryboardとxcdatamodeldを Xcodeプロジェクトからコピーする。
  13. 13. 開発の流れ (4) CoreDataの設定 Taskエンティティを作成する。
  14. 14. 開発の流れ (5) Taskモデルを作成する class Task < Nitron::Model def self.all order("due") end def due primitiveValueForKey("due").to_s end end
  15. 15. 開発の流れ (6) コントローラを作成する # task_list_view_controller.rb class TaskListViewController < Nitron:: TableViewController collection { Task.all } end # task_detail_view_controller.rb class TaskDetailViewController < Nitron::ViewController end
  16. 16. 開発の流れ (7) データバインディング
  17. 17. 開発の流れ (8) 動かしてみる $ rake (rake) Task.create(title: "Buy a pony", due: NSDate.date)
  18. 18. Railsっぽい! 例では紹介できなかったのですが、コントローラに アウトレットのイベントを書いてハンドリングすること もできます。 class TaskCreateViewController < Nitron::ViewController on :cancel do close end end
  19. 19. これからのRubyMotion iOS LibraryのレイヤーをRubyっぽくラップ したRailsみたいなGemの出現によって、一 気に盛り上がるような気がします。nitronか らはそんな流れが 垣間見れたのでした。
  20. 20. Have a good RubyMotion!!

Transcript

  1. 1. RubyMotion LT nitronに見る iOSアプリ開発の未来 西見 公宏 / Masahiro Nishimi (@mah_lab) SonicGarden Inc.
  2. 2. 自己紹介 http://thinkit.co.jp/book/2012/06/07/3569
  3. 3. 提供 http://www.sonicgarden.jp/
  4. 4. RubyMotionを はじめて見る人のイメージ もしかして: Objective-Cのコードを Rubyで書き直しているだけ
  5. 5. 事実 Objective-Cのコードを Rubyで書き直しているだけ
  6. 6. いやいや、これはちょっと。。 もう少しRubyっぽくならんか? Railsみたいな感じに開発でき んものか?
  7. 7. そこでnitronですよ https://github.com/mattgreen/nitron
  8. 8. nitronとは ● Master-Detailなテーブルビューを持つアプリを 超高速に作れるようになるラッパーライブラリ。 ● CoreDataにActiveRecordっぽい文法でアクセス する機能もサポート。(でもRelationはサポートし てない!) ● データバインディングとアウトレットを無理やりサ ポート。
  9. 9. 2012/7/20現在テストコードが1 行も書かれていない強気なGem ですが、RubyMotionで書くコー ドって後々こうなっていくんだろ うなーという希望を持てるGemで す。
  10. 10. 開発の流れ (1) プロジェクトを作成してnitronをBundle $ motion create task $ vi Gemfile source :rubygems gem "rake" gem "nitron" $ bundle install $ rm app/app_delegate.rb
  11. 11. 開発の流れ (2) Rakefileの設定 $:.unshift("/Library/RubyMotion/lib") require 'motion/project' require 'rubygems' require 'bundler' Bundler.require Motion::Project::App.setup do |app| ...
  12. 12. 開発の流れ (3) StoryboardとCoreDataの用意 XcodeでMaster-Detailプロジェクトを作り、 生成されたStoryboardとxcdatamodeldを Xcodeプロジェクトからコピーする。
  13. 13. 開発の流れ (4) CoreDataの設定 Taskエンティティを作成する。
  14. 14. 開発の流れ (5) Taskモデルを作成する class Task < Nitron::Model def self.all order("due") end def due primitiveValueForKey("due").to_s end end
  15. 15. 開発の流れ (6) コントローラを作成する # task_list_view_controller.rb class TaskListViewController < Nitron:: TableViewController collection { Task.all } end # task_detail_view_controller.rb class TaskDetailViewController < Nitron::ViewController end
  16. 16. 開発の流れ (7) データバインディング
  17. 17. 開発の流れ (8) 動かしてみる $ rake (rake) Task.create(title: "Buy a pony", due: NSDate.date)
  18. 18. Railsっぽい! 例では紹介できなかったのですが、コントローラに アウトレットのイベントを書いてハンドリングすること もできます。 class TaskCreateViewController < Nitron::ViewController on :cancel do close end end
  19. 19. これからのRubyMotion iOS LibraryのレイヤーをRubyっぽくラップ したRailsみたいなGemの出現によって、一 気に盛り上がるような気がします。nitronか らはそんな流れが 垣間見れたのでした。
  20. 20. Have a good RubyMotion!!

More Related Content

Slideshows for you

Related Audiobooks

Free with a 30 day trial from Scribd

See all

×