Ruby’izing iOS   DevelopmentAmit Kumar
About me• Ruby’ist• Consultant: Tata Consultancy Services Ltd• Github: toamitkumar• Twitter: toamit• toamitkumar.github.com
Released in May, 2012
Released in May, 2012
RubyMotion
RubyMotionrevolutionary toolchain for native iOS application development using Ruby language
RubyMotionrevolutionary toolchain for native iOS application development using Ruby language                              ...
A What ??
A What ??
A What ??Fork of MacRuby
A What ??Fork of MacRuby          Compiles into optimized machine code
A What ??Fork of MacRuby                                  Compiles into optimized machine codeAutomatic object memory allo...
A What ??Fork of MacRuby                                  Compiles into optimized machine codeAutomatic object memory allo...
A What ??Fork of MacRuby                                  Compiles into optimized machine codeAutomatic object memory allo...
A What ??Fork of MacRuby                                  Compiles into optimized machine codeAutomatic object memory allo...
A What ??Fork of MacRuby                                      Compiles into optimized machine codeAutomatic object memory ...
A What ??Fork of MacRuby                                      Compiles into optimized machine codeAutomatic object memory ...
A What ??
A What ??Fork of MacRuby                                      Compiles into optimized machine codeAutomatic object memory ...
A What ??Fork of MacRuby                                      Compiles into optimized machine codeAutomatic object memory ...
Motion Runtime
Motion Runtime
Motion Runtime
Motion Runtime  Shared Runtime
Motion Runtime  Shared Runtime
Motion Runtime  Shared Runtime
Motion RuntimeFoundation Framework  (NSObject - Kernel)      Shared Runtime
Motion RuntimeFoundation Framework  (NSObject - Kernel)      Shared Runtime
Motion RuntimeFoundation Framework  (NSObject - Kernel)      Shared Runtime
Myths
MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?
MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn w...
MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn w...
MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn w...
MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn w...
MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn w...
MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn w...
MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn w...
MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn w...
Download & Installhttp://sites.fastspring.com/hipbyte/product/rubymotion
The ‘motion’ command
The ‘motion’ command
The ‘motion’ command
The ‘motion’ command
The ‘motion’ command
The ‘motion’ commandProtip: Forcing update to a particular version:
The ‘motion’ commandProtip: Forcing update to a particular version:
The ‘motion’ commandProtip: Forcing update to a particular version:sudo motion update --force-version=1.2
The ‘motion’ command
The famous ‘Rake’
The famous ‘Rake’
The famous ‘Rake’
The famous ‘Rake’
The famous ‘Rake’
The famous ‘Rake’
Configuration ‘options’
Configuration ‘options’
Configuration ‘options’
Configuration ‘options’
Configuration ‘options’
Configuration ‘options’
Configuration ‘options’Pro-tip: Other configuration options
Configuration ‘options’Pro-tip: Other configuration optionsapp.file_dependencies ‘app/controllers/curves_controller.rb’ => ‘a...
Configuration ‘options’Pro-tip: Other configuration optionsapp.file_dependencies ‘app/controllers/curves_controller.rb’ => ‘a...
The SoulConsole REPL - Read Evaluate Print Loop
The SoulConsole REPL - Read Evaluate Print Loop     You feel in-control
The SoulConsole REPL - Read Evaluate Print Loop     You feel in-control
The Soul                     Console REPL - Read Evaluate Print Loop                           You feel in-controlAn excel...
Build Process
Build ProcessCOMPILING
Build ProcessCOMPILING               LINKING
Build ProcessCOMPILING               LINKINGPACKAGING
Build ProcessCOMPILING               LINKINGPACKAGING          CODE SIGN
Testing your code
Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’
Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’    <motion_root>/spec/main_sp...
Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’    <motion_root>/spec/main_sp...
Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’    <motion_root>/spec/main_sp...
Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’    <motion_root>/spec/main_sp...
Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’    <motion_root>/spec/main_sp...
Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’    <motion_root>/spec/main_sp...
Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’    <motion_root>/spec/main_sp...
Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’    <motion_root>/spec/main_sp...
Continuos Integration              Jenkins setup on mac-mini          App Store WebHook                                  P...
Using External Libraries
Using External LibrariesRubyGems
Using External Libraries                     Objective-CRubyGems                       Project
Using External Libraries                      Objective-CRubyGems                        ProjectNative-C
Using External Libraries                      Objective-CRubyGems                        ProjectNative-C              Coco...
RubyGems
RubyGemsNormal RubyGems won’t work
RubyGemsNormal RubyGems won’t workMotion::Project::App.setup do |app|  # Load files from gemend
RubyGemsNormal RubyGems won’t workMotion::Project::App.setup do |app|  # Load files from gemendUse Bundler
RubyGemsNormal RubyGems won’t workMotion::Project::App.setup do |app|  # Load files from gemend                            ...
RubyGems contd...
RubyGems contd...BubblewrapteacupsugarcubeformotionNitronmotion-redgreenmotion-loggerMotionModelNativeJSBridgeSegmentTab
Using Obj-C code
Using Obj-C codeStatically Compiled app.vendor_project(   “vendor/project-name”, #should have both .h and .m file   :static )
Using Obj-C codeStatically Compiled app.vendor_project(   “vendor/project-name”, #should have both .h and .m file   :static )
Using Obj-C codeStatically Compiled app.vendor_project(   “vendor/project-name”, #should have both .h and .m file   :static...
Using native C code
Using native C code         Basic Types in C                            Ruby data types(bool, char, int, long, float, doubl...
Using native C code         Basic Types in C                            Ruby data types(bool, char, int, long, float, doubl...
Using native C code         Basic Types in C                            Ruby data types(bool, char, int, long, float, doubl...
Using native C code         Basic Types in C                            Ruby data types(bool, char, int, long, float, doubl...
Using native C code         Basic Types in C                                        Ruby data types(bool, char, int, long,...
Using native C code         Basic Types in C                                        Ruby data types(bool, char, int, long,...
CocoaPods
CocoaPodsis a dependency manager for Obj-C projects
CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapods
CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapodspod setup # this may not be required for ever...
CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapodspod setup # this may not be required for ever...
CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapodspod setup # this may not be required for ever...
CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapodspod setup # this may not be required for ever...
CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapodspod setup # this may not be required for ever...
Long way to go !
Long way to go !RM is only ~4 months old
Long way to go !RM is only ~4 months oldSomething it lacks: - Debugger (but REPL kind of makes it easy) - Some dynamic cod...
RM applications on AppStore
RM applications on AppStoreEverclip
RM applications on AppStoreEverclipCabify
RM applications on AppStoreEverclipCabifySurvey
RM applications on AppStoreEverclipCabifySurveyhttp://signup.bigdayreminder.com/
RM applications on AppStoreEverclipCabifySurveyhttp://signup.bigdayreminder.com/http://jukely.com/
THANK YOU
One more thing !15% discount toamitkumar@gmail.com
Ruby'izing iOS development
Upcoming SlideShare
Loading in...5
×

Ruby'izing iOS development

656

Published on

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

No Downloads
Views
Total Views
656
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
25
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Ruby'izing iOS development

    1. 1. Ruby’izing iOS DevelopmentAmit Kumar
    2. 2. About me• Ruby’ist• Consultant: Tata Consultancy Services Ltd• Github: toamitkumar• Twitter: toamit• toamitkumar.github.com
    3. 3. Released in May, 2012
    4. 4. Released in May, 2012
    5. 5. RubyMotion
    6. 6. RubyMotionrevolutionary toolchain for native iOS application development using Ruby language
    7. 7. RubyMotionrevolutionary toolchain for native iOS application development using Ruby language neighbors envy coder’s delight; happiness;
    8. 8. A What ??
    9. 9. A What ??
    10. 10. A What ??Fork of MacRuby
    11. 11. A What ??Fork of MacRuby Compiles into optimized machine code
    12. 12. A What ??Fork of MacRuby Compiles into optimized machine codeAutomatic object memory allocation and reclaim
    13. 13. A What ??Fork of MacRuby Compiles into optimized machine codeAutomatic object memory allocation and reclaim
    14. 14. A What ??Fork of MacRuby Compiles into optimized machine codeAutomatic object memory allocation and reclaimCompiles the interfaces built in IB of XCode
    15. 15. A What ??Fork of MacRuby Compiles into optimized machine codeAutomatic object memory allocation and reclaimCompiles the interfaces built in IB of XCode
    16. 16. A What ??Fork of MacRuby Compiles into optimized machine codeAutomatic object memory allocation and reclaimCompiles the interfaces built in IB of XCodeRuby-runtime tightly integrated with Obj-C runtime
    17. 17. A What ??Fork of MacRuby Compiles into optimized machine codeAutomatic object memory allocation and reclaimCompiles the interfaces built in IB of XCodeRuby-runtime tightly integrated with Obj-C runtime Same ancestor as Obj-C
    18. 18. A What ??
    19. 19. A What ??Fork of MacRuby Compiles into optimized machine codeAutomatic object memory allocation and reclaimCompiles the interfaces built in IB of XCodeRuby-runtime tightly integrated with Obj-C runtime Same ancestor as Obj-C
    20. 20. A What ??Fork of MacRuby Compiles into optimized machine codeAutomatic object memory allocation and reclaimCompiles the interfaces built in IB of XCodeRuby-runtime tightly integrated with Obj-C runtime Same ancestor as Obj-C Object can be shared with no performance cost
    21. 21. Motion Runtime
    22. 22. Motion Runtime
    23. 23. Motion Runtime
    24. 24. Motion Runtime Shared Runtime
    25. 25. Motion Runtime Shared Runtime
    26. 26. Motion Runtime Shared Runtime
    27. 27. Motion RuntimeFoundation Framework (NSObject - Kernel) Shared Runtime
    28. 28. Motion RuntimeFoundation Framework (NSObject - Kernel) Shared Runtime
    29. 29. Motion RuntimeFoundation Framework (NSObject - Kernel) Shared Runtime
    30. 30. Myths
    31. 31. MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?
    32. 32. MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn what advantage do I get with RubyMotion ?
    33. 33. MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn what advantage do I get with RubyMotion ? Pros:
    34. 34. MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn what advantage do I get with RubyMotion ? Pros: - Very easy to get started; as we all know HTML/JS/CSS
    35. 35. MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn what advantage do I get with RubyMotion ? Pros: - Very easy to get started; as we all know HTML/JS/CSS Cons:
    36. 36. MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn what advantage do I get with RubyMotion ? Pros: - Very easy to get started; as we all know HTML/JS/CSS Cons: - Its a bridge that makes native api calls
    37. 37. MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn what advantage do I get with RubyMotion ? Pros: - Very easy to get started; as we all know HTML/JS/CSS Cons: - Its a bridge that makes native api calls - Runs in single thread of UIWebView which is painfully slow
    38. 38. MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn what advantage do I get with RubyMotion ? Pros: - Very easy to get started; as we all know HTML/JS/CSS Cons: - Its a bridge that makes native api calls - Runs in single thread of UIWebView which is painfully slow - Limited support of direct access to native APIs
    39. 39. MythsCan I code using RubyMotion without the pain to learn Cocoa Framework ?PhoneGap like tools are much easier to learn what advantage do I get with RubyMotion ? Pros: - Very easy to get started; as we all know HTML/JS/CSS Cons: - Its a bridge that makes native api calls - Runs in single thread of UIWebView which is painfully slow - Limited support of direct access to native APIs - Debugging becomes extremely difficult when you make native api calls
    40. 40. Download & Installhttp://sites.fastspring.com/hipbyte/product/rubymotion
    41. 41. The ‘motion’ command
    42. 42. The ‘motion’ command
    43. 43. The ‘motion’ command
    44. 44. The ‘motion’ command
    45. 45. The ‘motion’ command
    46. 46. The ‘motion’ commandProtip: Forcing update to a particular version:
    47. 47. The ‘motion’ commandProtip: Forcing update to a particular version:
    48. 48. The ‘motion’ commandProtip: Forcing update to a particular version:sudo motion update --force-version=1.2
    49. 49. The ‘motion’ command
    50. 50. The famous ‘Rake’
    51. 51. The famous ‘Rake’
    52. 52. The famous ‘Rake’
    53. 53. The famous ‘Rake’
    54. 54. The famous ‘Rake’
    55. 55. The famous ‘Rake’
    56. 56. Configuration ‘options’
    57. 57. Configuration ‘options’
    58. 58. Configuration ‘options’
    59. 59. Configuration ‘options’
    60. 60. Configuration ‘options’
    61. 61. Configuration ‘options’
    62. 62. Configuration ‘options’Pro-tip: Other configuration options
    63. 63. Configuration ‘options’Pro-tip: Other configuration optionsapp.file_dependencies ‘app/controllers/curves_controller.rb’ => ‘app/controllers/main_controller.rb’
    64. 64. Configuration ‘options’Pro-tip: Other configuration optionsapp.file_dependencies ‘app/controllers/curves_controller.rb’ => ‘app/controllers/main_controller.rb’app.vendor_project
    65. 65. The SoulConsole REPL - Read Evaluate Print Loop
    66. 66. The SoulConsole REPL - Read Evaluate Print Loop You feel in-control
    67. 67. The SoulConsole REPL - Read Evaluate Print Loop You feel in-control
    68. 68. The Soul Console REPL - Read Evaluate Print Loop You feel in-controlAn excellent in-browser demo of REPL:  https://www.pieceable.com/rubymotion-console
    69. 69. Build Process
    70. 70. Build ProcessCOMPILING
    71. 71. Build ProcessCOMPILING LINKING
    72. 72. Build ProcessCOMPILING LINKINGPACKAGING
    73. 73. Build ProcessCOMPILING LINKINGPACKAGING CODE SIGN
    74. 74. Testing your code
    75. 75. Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’
    76. 76. Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’ <motion_root>/spec/main_spec.rb
    77. 77. Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’ <motion_root>/spec/main_spec.rb $ rake spec
    78. 78. Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’ <motion_root>/spec/main_spec.rb $ rake spec‘MacBacon’ has almost all ‘syntactic sugar’ that you are accustomed in RSpec:
    79. 79. Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’ <motion_root>/spec/main_spec.rb $ rake spec‘MacBacon’ has almost all ‘syntactic sugar’ that you are accustomed in RSpec: - Assertions
    80. 80. Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’ <motion_root>/spec/main_spec.rb $ rake spec‘MacBacon’ has almost all ‘syntactic sugar’ that you are accustomed in RSpec: - Assertions - Matchers
    81. 81. Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’ <motion_root>/spec/main_spec.rb $ rake spec‘MacBacon’ has almost all ‘syntactic sugar’ that you are accustomed in RSpec: - Assertions - Matchers - before/after blocks
    82. 82. Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’ <motion_root>/spec/main_spec.rb $ rake spec‘MacBacon’ has almost all ‘syntactic sugar’ that you are accustomed in RSpec: - Assertions - Matchers - before/after blocksView testing:
    83. 83. Testing your codeLike Rails, RubyMotion comes bundled with ‘RSpec’ like framework ‘MacBacon’ <motion_root>/spec/main_spec.rb $ rake spec‘MacBacon’ has almost all ‘syntactic sugar’ that you are accustomed in RSpec: - Assertions - Matchers - before/after blocksView testing: - Loading the nib/xib/storyboard file
    84. 84. Continuos Integration Jenkins setup on mac-mini App Store WebHook PushSetup for local deployment and testing
    85. 85. Using External Libraries
    86. 86. Using External LibrariesRubyGems
    87. 87. Using External Libraries Objective-CRubyGems Project
    88. 88. Using External Libraries Objective-CRubyGems ProjectNative-C
    89. 89. Using External Libraries Objective-CRubyGems ProjectNative-C CocoaPods
    90. 90. RubyGems
    91. 91. RubyGemsNormal RubyGems won’t work
    92. 92. RubyGemsNormal RubyGems won’t workMotion::Project::App.setup do |app| # Load files from gemend
    93. 93. RubyGemsNormal RubyGems won’t workMotion::Project::App.setup do |app| # Load files from gemendUse Bundler
    94. 94. RubyGemsNormal RubyGems won’t workMotion::Project::App.setup do |app| # Load files from gemend source :rubygems gem rake require ‘bundler’Use Bundler gem bubble-wrap Bundler.require gem motion-cocoapods gem motion-redgreen Rakefile Gemfile
    95. 95. RubyGems contd...
    96. 96. RubyGems contd...BubblewrapteacupsugarcubeformotionNitronmotion-redgreenmotion-loggerMotionModelNativeJSBridgeSegmentTab
    97. 97. Using Obj-C code
    98. 98. Using Obj-C codeStatically Compiled app.vendor_project( “vendor/project-name”, #should have both .h and .m file :static )
    99. 99. Using Obj-C codeStatically Compiled app.vendor_project( “vendor/project-name”, #should have both .h and .m file :static )
    100. 100. Using Obj-C codeStatically Compiled app.vendor_project( “vendor/project-name”, #should have both .h and .m file :static )XCode project: app.vendor_project( “vendor/project-name”, :xcode, :xcodeproj => “project-name.xcodeproj”, :target => “project-name”, :products => [“libproject-name.a”], :headers_dir => “project-name” )
    101. 101. Using native C code
    102. 102. Using native C code Basic Types in C Ruby data types(bool, char, int, long, float, double) (true/false, Fixnum, Bignum, Float)
    103. 103. Using native C code Basic Types in C Ruby data types(bool, char, int, long, float, double) (true/false, Fixnum, Bignum, Float) C Complex Data Structures
    104. 104. Using native C code Basic Types in C Ruby data types(bool, char, int, long, float, double) (true/false, Fixnum, Bignum, Float) No corresponding Ruby Data C Complex Data Structures Types
    105. 105. Using native C code Basic Types in C Ruby data types(bool, char, int, long, float, double) (true/false, Fixnum, Bignum, Float) No corresponding Ruby Data Types C Complex Data Structures
    106. 106. Using native C code Basic Types in C Ruby data types(bool, char, int, long, float, double) (true/false, Fixnum, Bignum, Float) No corresponding Ruby Data Types C Complex Data Structures BridgeSupport
    107. 107. Using native C code Basic Types in C Ruby data types(bool, char, int, long, float, double) (true/false, Fixnum, Bignum, Float) No corresponding Ruby Data Types C Complex Data Structures RubyMotion BridgeSupport
    108. 108. CocoaPods
    109. 109. CocoaPodsis a dependency manager for Obj-C projects
    110. 110. CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapods
    111. 111. CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapodspod setup # this may not be required for everyone, it never worked for me
    112. 112. CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapodspod setup # this may not be required for everyone, it never worked for mehttps://github.com/CocoaPods/Specs - lists all the pods
    113. 113. CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapodspod setup # this may not be required for everyone, it never worked for mehttps://github.com/CocoaPods/Specs - lists all the podsIt has been integrated with RubyMotion which comes as a gem
    114. 114. CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapodspod setup # this may not be required for everyone, it never worked for mehttps://github.com/CocoaPods/Specs - lists all the podsIt has been integrated with RubyMotion which comes as a gemsudo gem install motion-cocoapods
    115. 115. CocoaPodsis a dependency manager for Obj-C projectssudo gem install cocoapodspod setup # this may not be required for everyone, it never worked for mehttps://github.com/CocoaPods/Specs - lists all the podsIt has been integrated with RubyMotion which comes as a gemsudo gem install motion-cocoapodsInclude it in your Rakefile:require ‘moion-cocoapods’Motion::Project::App.setup do |app| # ... app.pods do dependency JSONKit dependency iActiveRecord endend
    116. 116. Long way to go !
    117. 117. Long way to go !RM is only ~4 months old
    118. 118. Long way to go !RM is only ~4 months oldSomething it lacks: - Debugger (but REPL kind of makes it easy) - Some dynamic code doesn’t work (but hey !!!)
    119. 119. RM applications on AppStore
    120. 120. RM applications on AppStoreEverclip
    121. 121. RM applications on AppStoreEverclipCabify
    122. 122. RM applications on AppStoreEverclipCabifySurvey
    123. 123. RM applications on AppStoreEverclipCabifySurveyhttp://signup.bigdayreminder.com/
    124. 124. RM applications on AppStoreEverclipCabifySurveyhttp://signup.bigdayreminder.com/http://jukely.com/
    125. 125. THANK YOU
    126. 126. One more thing !15% discount toamitkumar@gmail.com
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×