RubyMotion: The sleeper has awakened!

RubyMotion: The sleeper has awakened!

Why RubyMotion is awesome, the story behind Basecamp for iPhone, and more. Beta tested at WNYRuby, given at #inspect and PGH.rb.

Eb8975af8e49e19e3dd6b6b84a542e26?s=128

Nick Quaranto

March 28, 2013
Tweet

Transcript

  1. RubyMotion: The sleeper has awakened! Nick Quaranto - @qrush

  2. Buffalo, NY

  3. 37signals

  4. <3 RubyMotion!

  5. Basecamp for iPhone

  6. awakening

  7. I kept getting stuck.

  8. None
  9. TORONTO DRIFT

  10. Break the cycle!

  11. Files - the first app

  12. None
  13. None
  14. and got rejected Rejected.

  15. None
  16. None
  17. None
  18. None
  19. I could not have done this without RubyMotion

  20. was a roadblock

  21. None
  22. FREEDOM.

  23. +

  24. +

  25. what awakened?

  26. style

  27. I write to learn about software, and I learn software

    by writing it.
  28. snake_case def foo_bar(a, b) camelCase def fooBar(a, b: c)

  29. classic dialect

  30. ruby dialect

  31. eventmachine dialect

  32. jruby dialect

  33. objective-c dialect

  34. community

  35. RubyMotion Google Group

  36. github.com/rubymotion

  37. RubyMotion YARDocs

  38. github.com/HipByte/RubyMotion-Samples

  39. gem 'bubble-wrap'

  40. HTTP requests NSNotificationCenter Quick persistence Lots of shortcuts gem 'bubble-wrap'

  41. HTTP requests NSNotificationCenter Quick persistence App.run_after Device.screen gem 'bubble-wrap'

  42. gem 'motion-settings-bundle'

  43. # in your Rakefile require 'motion-settings-bundle' Motion::SettingsBundle.setup do |app| app.text

    "Version", key: "version", default: "1.0.0" app.toggle "Awesome?", key: "awesomeOn", default: true app.child "Acknowledgements" do |ack| ack.child "AwesomeOSSLibrary" do |lic| lic.group "Copyright 2013 AwesomeOSSContributor" lic.group "A bunch of legal stuff" end end end
  44. None
  45. None
  46. None
  47. # horizontal "|-10-[switch]-10-|" "|-10-[help]-10-|" # vertical "|-15-[switch]-10-[help(==switch)]-15-|"

  48. DSL for NSLayoutConstraint iOS6+ Only Extracted from Basecamp.app No tests,

    but examples! gem 'motion-layout'
  49. Motion::Layout.new do |lay| lay.view self.view.tableFooterView lay.subviews "switch" => @switch, "help"

    => @help lay.vertical "|-15-[switch]-10-[help(==switch)]-15-|" lay.horizontal "|-10-[switch]-10-|" lay.horizontal "|-10-[help]-10-|" end
  50. resource

  51. None
  52. None
  53. None
  54. +

  55. yours?

  56. thanks