SlideShare una empresa de Scribd logo
1 de 90
Your first RubyMotion
     Application

      Amit Kumar
About me
About me




• Ruby’ist
About me




• Ruby’ist
• Consultant: Tata Consultancy Services Ltd
About me




• Ruby’ist
• Consultant: Tata Consultancy Services Ltd
• Github: toamitkumar
About me




• Ruby’ist
• Consultant: Tata Consultancy Services Ltd
• Github: toamitkumar
• Twitter: toamit
About me




• Ruby’ist
• Consultant: Tata Consultancy Services Ltd
• Github: toamitkumar
• Twitter: toamit
• toamitkumar.github.com
RubyMotion
RubyMotion
RubyMotion

revolutionary toolchain for native iOS application development using Ruby language
RubyMotion

revolutionary toolchain for native iOS application development using Ruby language




                                                neighbor's envy coder’s delight; happiness;
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 code




Automatic object memory allocation and reclaim
A What ??

Fork of MacRuby                 Compiles into optimized machine code




Automatic object memory allocation and reclaim
A What ??

Fork of MacRuby                                      Compiles into optimized machine code




Automatic object memory allocation and reclaim


Ruby-runtime tightly integrated with Obj-C runtime
A What ??

Fork of MacRuby                                      Compiles into optimized machine code




Automatic object memory allocation and reclaim


Ruby-runtime tightly integrated with Obj-C runtime




 Same ancestor as Obj-C
A What ??

Fork of MacRuby                                      Compiles into optimized machine code




Automatic object memory allocation and reclaim


Ruby-runtime tightly integrated with Obj-C runtime




 Same ancestor as Obj-C                        Object can be shared with no performance cost
Download & Install
Download & Install
Download & Install




http://sites.fastspring.com/hipbyte/product/rubymotion
The ‘motion’ command
The ‘motion’ command
The ‘motion’ command
The ‘motion’ command
The ‘motion’ command
The ‘motion’ command




Protip: Forcing update to a particular version:
The ‘motion’ command




Protip: Forcing update to a particular version:
The ‘motion’ command




Protip: Forcing update to a particular version:

sudo motion update --force-version=1.2
The ‘motion’ command
The ‘motion’ command

the ‘motion’ support
The ‘motion’ command

the ‘motion’ support
The ‘motion’ command

the ‘motion’ support
The ‘motion’ command

the ‘motion’ support
The famous ‘Rake’
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’
The Soul
The Soul


Console REPL - Read Evaluate Print Loop
The Soul


Console REPL - Read Evaluate Print Loop




     You feel in-control
The Soul


Console REPL - Read Evaluate Print Loop




You feel in-control
The Soul


                     Console REPL - Read Evaluate Print Loop




                     You feel in-control


An excellent in-browser demo of REPL:  https://www.pieceable.com/rubymotion-console
RubyGems
RubyGems

Normal RubyGems won’t work
RubyGems

Normal RubyGems won’t work




Load gems in Rakefile of the application
RubyGems

Normal RubyGems won’t work




Load gems in Rakefile of the application




Use Bundler
RubyGems

Normal RubyGems won’t work




Load gems in Rakefile of the application




Use Bundler
RubyGems

Normal RubyGems won’t work




Load gems in Rakefile of the application




                              source :rubygems

                              gem 'rake'
Use Bundler                   gem 'bubble-wrap'
                              gem 'motion-cocoapods'
                              gem 'motion-redgreen'
                                      Gemfile
RubyGems

Normal RubyGems won’t work




Load gems in Rakefile of the application




                              source :rubygems

                              gem 'rake'
Use Bundler                   gem 'bubble-wrap'
                              gem 'motion-cocoapods'
                              gem 'motion-redgreen'
                                      Gemfile
RubyGems

Normal RubyGems won’t work




Load gems in Rakefile of the application




                              source :rubygems

                              gem 'rake'               require ‘bundler’
Use Bundler                   gem 'bubble-wrap'        Bundler.require
                              gem 'motion-cocoapods'
                              gem 'motion-redgreen'           Rakefile
                                      Gemfile
RubyGems contd...
RubyGems contd...
Bubblewrap
RubyGems contd...
Bubblewrap

teacup
RubyGems contd...
Bubblewrap

teacup

sugarcube
RubyGems contd...
Bubblewrap

teacup

sugarcube

formotion
RubyGems contd...
Bubblewrap

teacup

sugarcube

formotion

Nitron
RubyGems contd...
Bubblewrap

teacup

sugarcube

formotion

Nitron

motion-redgreen
RubyGems contd...
Bubblewrap

teacup

sugarcube

formotion

Nitron

motion-redgreen

motion-logger
RubyGems contd...
Bubblewrap

teacup

sugarcube

formotion

Nitron

motion-redgreen

motion-logger

MotionData
RubyGems contd...
Bubblewrap

teacup

sugarcube

formotion

Nitron

motion-redgreen

motion-logger

MotionData

NativeJSBridge
RubyGems contd...
Bubblewrap

teacup

sugarcube

formotion

Nitron

motion-redgreen

motion-logger

MotionData

NativeJSBridge

SegmentTab
SURVEY APP
The ‘Survey’ app
The ‘Survey’ app

Dynamically create Surveys on the fly without code compilation
The ‘Survey’ app

Dynamically create Surveys on the fly without code compilation




Survey question data is JSON based
The ‘Survey’ app

Dynamically create Surveys on the fly without code compilation




Survey question data is JSON based



Controls for question should be controlled by JSON
The ‘Survey’ app

 Dynamically create Surveys on the fly without code compilation




Survey question data is JSON based



Controls for question should be controlled by JSON



Collect response in JSON and make a server API call to POST data
The ‘Survey’ app
The ‘Survey’ app

   JSON Structure
The ‘Survey’ app

   JSON Structure
The ‘Survey’ app

   JSON Structure
The ‘Survey’ app

   JSON Structure
The ‘Survey’ app

   JSON Structure
The ‘Survey’ app

   JSON Structure
The ‘Survey’ app

   JSON Structure
The ‘Survey’ app




  DEMO
THANK YOU

Más contenido relacionado

Destacado (8)

First aid
First aidFirst aid
First aid
 
Introduction to First Aid
Introduction to First AidIntroduction to First Aid
Introduction to First Aid
 
Basic first aid
Basic first aidBasic first aid
Basic first aid
 
1.3.1 introduction to first aid
1.3.1 introduction to first aid1.3.1 introduction to first aid
1.3.1 introduction to first aid
 
First aid
First aidFirst aid
First aid
 
First aid ppt
First aid pptFirst aid ppt
First aid ppt
 
Final first aid slides (presentation)
Final first aid slides (presentation)Final first aid slides (presentation)
Final first aid slides (presentation)
 
First aid & bandaging
First aid & bandaging First aid & bandaging
First aid & bandaging
 

Similar a Your fist RubyMotion Application

JRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyJRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRuby
elliando dias
 
Socket applications
Socket applicationsSocket applications
Socket applications
João Moura
 

Similar a Your fist RubyMotion Application (20)

Rocket Fuelled Cucumbers
Rocket Fuelled CucumbersRocket Fuelled Cucumbers
Rocket Fuelled Cucumbers
 
Crate - ruby based standalone executables
Crate - ruby based standalone executablesCrate - ruby based standalone executables
Crate - ruby based standalone executables
 
Creating Ruby Gems
Creating Ruby Gems Creating Ruby Gems
Creating Ruby Gems
 
Ruby - The Hard Bits
Ruby - The Hard BitsRuby - The Hard Bits
Ruby - The Hard Bits
 
The Ruby Racer: under the hood
The Ruby Racer: under the hoodThe Ruby Racer: under the hood
The Ruby Racer: under the hood
 
JRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyJRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRuby
 
Heroku + Jeweler & Gemcutter
Heroku + Jeweler & GemcutterHeroku + Jeweler & Gemcutter
Heroku + Jeweler & Gemcutter
 
Outside-in Development with Cucumber and Rspec
Outside-in Development with Cucumber and RspecOutside-in Development with Cucumber and Rspec
Outside-in Development with Cucumber and Rspec
 
Cucumber
CucumberCucumber
Cucumber
 
RubyConfBD 2013 decouple, bundle and share with ruby gems
RubyConfBD 2013   decouple, bundle and share with ruby gems RubyConfBD 2013   decouple, bundle and share with ruby gems
RubyConfBD 2013 decouple, bundle and share with ruby gems
 
Padrino - the Godfather of Sinatra
Padrino - the Godfather of SinatraPadrino - the Godfather of Sinatra
Padrino - the Godfather of Sinatra
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory CourseRuby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
 
Taming monolithic monsters
Taming monolithic monstersTaming monolithic monsters
Taming monolithic monsters
 
Socket applications
Socket applicationsSocket applications
Socket applications
 
JRuby - Java version of Ruby
JRuby - Java version of RubyJRuby - Java version of Ruby
JRuby - Java version of Ruby
 
Merb For The Enterprise
Merb For The EnterpriseMerb For The Enterprise
Merb For The Enterprise
 
Rails On Spring
Rails On SpringRails On Spring
Rails On Spring
 
Maglev Rubyfuza, Cape Town, 2012
Maglev Rubyfuza, Cape Town, 2012Maglev Rubyfuza, Cape Town, 2012
Maglev Rubyfuza, Cape Town, 2012
 
Top 15 Ruby on Rails (RoR) Gems by Code Garage Tech
Top 15 Ruby on Rails (RoR) Gems by Code Garage TechTop 15 Ruby on Rails (RoR) Gems by Code Garage Tech
Top 15 Ruby on Rails (RoR) Gems by Code Garage Tech
 

Más de toamitkumar (6)

Agile+DevOps - do we understand it?
Agile+DevOps - do we understand it?Agile+DevOps - do we understand it?
Agile+DevOps - do we understand it?
 
Digital Transformation with 2 Speed IT & Agile Scrum
Digital Transformation with 2 Speed IT & Agile ScrumDigital Transformation with 2 Speed IT & Agile Scrum
Digital Transformation with 2 Speed IT & Agile Scrum
 
404 not found
404 not found404 not found
404 not found
 
Ruby conf'11
Ruby conf'11Ruby conf'11
Ruby conf'11
 
Micro-Blogging for The Enterprise (MongoDB)
Micro-Blogging for The Enterprise (MongoDB)Micro-Blogging for The Enterprise (MongoDB)
Micro-Blogging for The Enterprise (MongoDB)
 
Fibered rails
Fibered railsFibered rails
Fibered rails
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

Your fist RubyMotion Application

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. \n
  60. \n
  61. \n
  62. \n
  63. \n
  64. \n
  65. \n
  66. \n
  67. \n
  68. \n
  69. \n
  70. \n
  71. \n
  72. \n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n
  85. \n
  86. \n
  87. \n
  88. \n