SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
the future of
RubyMotion
@clayallsopp

-   http://rubymotion-tutorial.com
-   http://github.com/clayallsopp/
    -   Formotion, Routable, and more
-   http://bubblewrap.io
-   Upcoming RubyMotion PragProgs book
Where are we now?
              May 2012 - Sept 2012




-   Production, award-winning apps shipping
-   New RM features and bugfixes weekly-ish
-   Awesome, active community
Where are we going?
  → Community will make or break RM
1:1 ObjC → Ruby
                          Wave 1

             # NSSearchPathForDirectoriesInDomains...

BubbleWrap
             App.documents_path

             # NSBundle.mainBundle.resourcePath
             App.resources_path

             # NSNotificationCenter.defaultCenter
             App.notification_center
Wrapping ObjC
                             Wave 2
                BW::Location.get do |result|
                  p "From Lat #{result[:from].latitude},

 BubbleWrap            Long #{result[:from].longitude}"
                  p "To Lat #{result[:to].latitude},
                       Long #{result[:to].longitude}"
                end


                Twitter::Composer.compose(tweet: 'Hello RubyMotion!',
                    urls: ["http://clayallsopp.com"]) do |composer|
                  if composer.error
                    # ...
                  elsif composer.cancelled?
                    # ...

Twittermotion     elsif composer.done?
                    # ...
                  end
                end
New Metaphors
                                        Wave 3
Teacup::Stylesheet.new(:some_view) do
  style :root,
    landscape: true

  style :field,
    left:   10,
    top:    10,                             class SomeController < UIViewController
    width: 200,                               stylesheet :some_view
    height: 50,
    landscape: {                              layout :root do
      width: 360                                subview(UITextField, :field)
    }                                           @search = subview(UITextField, :search)
                                              end
  style :search, extends: :field,           end
    left: 10,
    top: 70,
    placeholder: 'Find something...'

  style UITextField,
    textColor: UIColor.redColor
end




                                        Teacup
New Metaphors
                                            Wave 3

class User
  include Formotion::Formable

  form_property :name, :string
  form_property :score, :number

  form_property :team, :picker, items: ["Red", "Blue", "Green"]

  form_title "Edit User"
end

# ...

user = User.new("Harry", 100, "Green")
controller = Formotion::FormableController.alloc.initWithModel(user)
self.navigationController << controller




                                         Formotion
New Metaphors
                               Wave 3
                                               class Task < Nitron::Model
                                                 def self.all
                                                   order("due")
                                                 end
                                               end




class TaskListViewController < Nitron::TableViewController
  collection { Task.all }
end




                               Nitron
New Metaphors
       Wave 3




[YOUR LIBRARY HERE]
The Killer Framework

-   API-driven apps are dead simple
-   UI scaffolding based on models
-   Completely abstracts the UIKit/Cocoa
Sources

•   https://github.com/rubymotion/bubblewrap

•   https://github.com/clayallsopp/twittermotion

•   https://github.com/rubymotion/teacup

•   https://github.com/clayallsopp/formotion

•   https://github.com/mattgreen/nitron

•   Also: http://rubymotion-wrappers.com

Mais conteúdo relacionado

Mais procurados

Crowdsourcing with Django
Crowdsourcing with DjangoCrowdsourcing with Django
Crowdsourcing with DjangoSimon Willison
 
Mojolicious, real-time web framework
Mojolicious, real-time web frameworkMojolicious, real-time web framework
Mojolicious, real-time web frameworktaggg
 
Frameworks da nova Era PHP FuelPHP
Frameworks da nova Era PHP FuelPHPFrameworks da nova Era PHP FuelPHP
Frameworks da nova Era PHP FuelPHPDan Jesus
 
Mojolicious - A new hope
Mojolicious - A new hopeMojolicious - A new hope
Mojolicious - A new hopeMarcus Ramberg
 
Building Web Applications in Go
Building Web Applications in GoBuilding Web Applications in Go
Building Web Applications in Gomicrypt
 
A piece of sugar in your client-side development
A piece of sugar in your client-side developmentA piece of sugar in your client-side development
A piece of sugar in your client-side developmentNicolas Blanco
 
Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!Anatoly Sharifulin
 
Découplez votre appli en micro-APIs
Découplez votre appli en micro-APIsDécouplez votre appli en micro-APIs
Découplez votre appli en micro-APIsNicolas Blanco
 
Clase 15 FOS
Clase 15 FOSClase 15 FOS
Clase 15 FOShydras_cs
 
How Kris Writes Symfony Apps
How Kris Writes Symfony AppsHow Kris Writes Symfony Apps
How Kris Writes Symfony AppsKris Wallsmith
 
Building Single Page Apps with Backbone.js, Coffeescript and Rails 3.1
Building Single Page Apps with Backbone.js, Coffeescript and Rails 3.1Building Single Page Apps with Backbone.js, Coffeescript and Rails 3.1
Building Single Page Apps with Backbone.js, Coffeescript and Rails 3.1Vagmi Mudumbai
 
Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013
Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013
Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013GetSource
 
The Beauty Of Java Script V5a
The Beauty Of Java Script V5aThe Beauty Of Java Script V5a
The Beauty Of Java Script V5arajivmordani
 
Slim RedBeanPHP and Knockout
Slim RedBeanPHP and KnockoutSlim RedBeanPHP and Knockout
Slim RedBeanPHP and KnockoutVic Metcalfe
 
Minimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team ProductivityMinimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team ProductivityDerek Lee Boire
 
Symfony internals [english]
Symfony internals [english]Symfony internals [english]
Symfony internals [english]Raul Fraile
 

Mais procurados (20)

Mojolicious on Steroids
Mojolicious on SteroidsMojolicious on Steroids
Mojolicious on Steroids
 
Crowdsourcing with Django
Crowdsourcing with DjangoCrowdsourcing with Django
Crowdsourcing with Django
 
Beginner's Sinatra
Beginner's SinatraBeginner's Sinatra
Beginner's Sinatra
 
Mojolicious, real-time web framework
Mojolicious, real-time web frameworkMojolicious, real-time web framework
Mojolicious, real-time web framework
 
Frameworks da nova Era PHP FuelPHP
Frameworks da nova Era PHP FuelPHPFrameworks da nova Era PHP FuelPHP
Frameworks da nova Era PHP FuelPHP
 
Mojolicious - A new hope
Mojolicious - A new hopeMojolicious - A new hope
Mojolicious - A new hope
 
Building Web Applications in Go
Building Web Applications in GoBuilding Web Applications in Go
Building Web Applications in Go
 
A piece of sugar in your client-side development
A piece of sugar in your client-side developmentA piece of sugar in your client-side development
A piece of sugar in your client-side development
 
Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!Mojolicious. Веб в коробке!
Mojolicious. Веб в коробке!
 
Découplez votre appli en micro-APIs
Découplez votre appli en micro-APIsDécouplez votre appli en micro-APIs
Découplez votre appli en micro-APIs
 
Clase 15 FOS
Clase 15 FOSClase 15 FOS
Clase 15 FOS
 
How Kris Writes Symfony Apps
How Kris Writes Symfony AppsHow Kris Writes Symfony Apps
How Kris Writes Symfony Apps
 
Building Single Page Apps with Backbone.js, Coffeescript and Rails 3.1
Building Single Page Apps with Backbone.js, Coffeescript and Rails 3.1Building Single Page Apps with Backbone.js, Coffeescript and Rails 3.1
Building Single Page Apps with Backbone.js, Coffeescript and Rails 3.1
 
The Beauty of Java Script
The Beauty of Java ScriptThe Beauty of Java Script
The Beauty of Java Script
 
Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013
Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013
Image Manipulation in WordPress 3.5 - WordCamp Phoenix 2013
 
The Beauty Of Java Script V5a
The Beauty Of Java Script V5aThe Beauty Of Java Script V5a
The Beauty Of Java Script V5a
 
Slim RedBeanPHP and Knockout
Slim RedBeanPHP and KnockoutSlim RedBeanPHP and Knockout
Slim RedBeanPHP and Knockout
 
Minimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team ProductivityMinimizing Decision Fatigue to Improve Team Productivity
Minimizing Decision Fatigue to Improve Team Productivity
 
Sf2 wtf
Sf2 wtfSf2 wtf
Sf2 wtf
 
Symfony internals [english]
Symfony internals [english]Symfony internals [english]
Symfony internals [english]
 

Destaque

PREVIEW: Unicorns, Magic, and Better Apps with RubyMotion
PREVIEW: Unicorns, Magic, and Better Apps with RubyMotionPREVIEW: Unicorns, Magic, and Better Apps with RubyMotion
PREVIEW: Unicorns, Magic, and Better Apps with RubyMotionClay Allsopp
 
B100 Board
B100 BoardB100 Board
B100 Boardbrolson
 
B100 Board
B100 BoardB100 Board
B100 Boardbrolson
 
Año nuevo de los arboles
Año nuevo de los arbolesAño nuevo de los arboles
Año nuevo de los arbolesAlvaro Cáceres
 
Store and stack kitchen tools and equipment
Store and stack kitchen tools and equipmentStore and stack kitchen tools and equipment
Store and stack kitchen tools and equipmentLeandro Andy Inciong
 
PROPER STORAGE OF CLEANED EQUIPMENT
PROPER STORAGE OF CLEANED EQUIPMENTPROPER STORAGE OF CLEANED EQUIPMENT
PROPER STORAGE OF CLEANED EQUIPMENTRomeline Magsino
 
Use and Maintain Kitchen Tools and Equipment
Use and Maintain Kitchen Tools and EquipmentUse and Maintain Kitchen Tools and Equipment
Use and Maintain Kitchen Tools and EquipmentBernadeth Ouano
 

Destaque (9)

PREVIEW: Unicorns, Magic, and Better Apps with RubyMotion
PREVIEW: Unicorns, Magic, and Better Apps with RubyMotionPREVIEW: Unicorns, Magic, and Better Apps with RubyMotion
PREVIEW: Unicorns, Magic, and Better Apps with RubyMotion
 
True crypt user guide
True crypt user guideTrue crypt user guide
True crypt user guide
 
B100 Board
B100 BoardB100 Board
B100 Board
 
B100 Board
B100 BoardB100 Board
B100 Board
 
CMHA Thunder Bay Annual Report 2011-12
CMHA Thunder Bay Annual Report 2011-12CMHA Thunder Bay Annual Report 2011-12
CMHA Thunder Bay Annual Report 2011-12
 
Año nuevo de los arboles
Año nuevo de los arbolesAño nuevo de los arboles
Año nuevo de los arboles
 
Store and stack kitchen tools and equipment
Store and stack kitchen tools and equipmentStore and stack kitchen tools and equipment
Store and stack kitchen tools and equipment
 
PROPER STORAGE OF CLEANED EQUIPMENT
PROPER STORAGE OF CLEANED EQUIPMENTPROPER STORAGE OF CLEANED EQUIPMENT
PROPER STORAGE OF CLEANED EQUIPMENT
 
Use and Maintain Kitchen Tools and Equipment
Use and Maintain Kitchen Tools and EquipmentUse and Maintain Kitchen Tools and Equipment
Use and Maintain Kitchen Tools and Equipment
 

Semelhante a The Future of Rubymotion

A tour on ruby and friends
A tour on ruby and friendsA tour on ruby and friends
A tour on ruby and friends旻琦 潘
 
Ruby/Rails
Ruby/RailsRuby/Rails
Ruby/Railsrstankov
 
TorqueBox: The beauty of Ruby with the power of JBoss. Presented at Devnexus...
TorqueBox: The beauty of Ruby with the power of JBoss.  Presented at Devnexus...TorqueBox: The beauty of Ruby with the power of JBoss.  Presented at Devnexus...
TorqueBox: The beauty of Ruby with the power of JBoss. Presented at Devnexus...bobmcwhirter
 
Ruby on Rails - Introduction
Ruby on Rails - IntroductionRuby on Rails - Introduction
Ruby on Rails - IntroductionVagmi Mudumbai
 
Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)bryanbibat
 
Introduction à Ruby
Introduction à RubyIntroduction à Ruby
Introduction à RubyMicrosoft
 
Ruby on Rails at PROMPT ISEL '11
Ruby on Rails at PROMPT ISEL '11Ruby on Rails at PROMPT ISEL '11
Ruby on Rails at PROMPT ISEL '11Pedro Cunha
 
Rails Routing and URL design
Rails Routing and URL designRails Routing and URL design
Rails Routing and URL designhiq5
 
REST APIs in Laravel 101
REST APIs in Laravel 101REST APIs in Laravel 101
REST APIs in Laravel 101Samantha Geitz
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails IntroductionThomas Fuchs
 
Rails antipattern-public
Rails antipattern-publicRails antipattern-public
Rails antipattern-publicChul Ju Hong
 
Rails antipatterns
Rails antipatternsRails antipatterns
Rails antipatternsChul Ju Hong
 
Building web framework with Rack
Building web framework with RackBuilding web framework with Rack
Building web framework with Racksickill
 
Rails web api 开发
Rails web api 开发Rails web api 开发
Rails web api 开发shaokun
 
Pourquoi ruby et rails déchirent
Pourquoi ruby et rails déchirentPourquoi ruby et rails déchirent
Pourquoi ruby et rails déchirentNicolas Ledez
 

Semelhante a The Future of Rubymotion (20)

A tour on ruby and friends
A tour on ruby and friendsA tour on ruby and friends
A tour on ruby and friends
 
Ruby/Rails
Ruby/RailsRuby/Rails
Ruby/Rails
 
TorqueBox: The beauty of Ruby with the power of JBoss. Presented at Devnexus...
TorqueBox: The beauty of Ruby with the power of JBoss.  Presented at Devnexus...TorqueBox: The beauty of Ruby with the power of JBoss.  Presented at Devnexus...
TorqueBox: The beauty of Ruby with the power of JBoss. Presented at Devnexus...
 
Ruby on Rails - Introduction
Ruby on Rails - IntroductionRuby on Rails - Introduction
Ruby on Rails - Introduction
 
Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)Ruby and Rails by Example (GeekCamp edition)
Ruby and Rails by Example (GeekCamp edition)
 
Introduction à Ruby
Introduction à RubyIntroduction à Ruby
Introduction à Ruby
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Ruby on Rails at PROMPT ISEL '11
Ruby on Rails at PROMPT ISEL '11Ruby on Rails at PROMPT ISEL '11
Ruby on Rails at PROMPT ISEL '11
 
Rails Routing and URL design
Rails Routing and URL designRails Routing and URL design
Rails Routing and URL design
 
SOLID Ruby, SOLID Rails
SOLID Ruby, SOLID RailsSOLID Ruby, SOLID Rails
SOLID Ruby, SOLID Rails
 
REST APIs in Laravel 101
REST APIs in Laravel 101REST APIs in Laravel 101
REST APIs in Laravel 101
 
Ruby On Rails Introduction
Ruby On Rails IntroductionRuby On Rails Introduction
Ruby On Rails Introduction
 
Rails antipattern-public
Rails antipattern-publicRails antipattern-public
Rails antipattern-public
 
Rails antipatterns
Rails antipatternsRails antipatterns
Rails antipatterns
 
Supa fast Ruby + Rails
Supa fast Ruby + RailsSupa fast Ruby + Rails
Supa fast Ruby + Rails
 
Building web framework with Rack
Building web framework with RackBuilding web framework with Rack
Building web framework with Rack
 
Rails web api 开发
Rails web api 开发Rails web api 开发
Rails web api 开发
 
mondrian-olap JRuby library
mondrian-olap JRuby librarymondrian-olap JRuby library
mondrian-olap JRuby library
 
Pourquoi ruby et rails déchirent
Pourquoi ruby et rails déchirentPourquoi ruby et rails déchirent
Pourquoi ruby et rails déchirent
 
Ruby gems
Ruby gemsRuby gems
Ruby gems
 

Último

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Último (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

The Future of Rubymotion

  • 2. @clayallsopp - http://rubymotion-tutorial.com - http://github.com/clayallsopp/ - Formotion, Routable, and more - http://bubblewrap.io - Upcoming RubyMotion PragProgs book
  • 3. Where are we now? May 2012 - Sept 2012 - Production, award-winning apps shipping - New RM features and bugfixes weekly-ish - Awesome, active community
  • 4. Where are we going? → Community will make or break RM
  • 5. 1:1 ObjC → Ruby Wave 1 # NSSearchPathForDirectoriesInDomains... BubbleWrap App.documents_path # NSBundle.mainBundle.resourcePath App.resources_path # NSNotificationCenter.defaultCenter App.notification_center
  • 6. Wrapping ObjC Wave 2 BW::Location.get do |result| p "From Lat #{result[:from].latitude}, BubbleWrap Long #{result[:from].longitude}" p "To Lat #{result[:to].latitude}, Long #{result[:to].longitude}" end Twitter::Composer.compose(tweet: 'Hello RubyMotion!', urls: ["http://clayallsopp.com"]) do |composer| if composer.error # ... elsif composer.cancelled? # ... Twittermotion elsif composer.done? # ... end end
  • 7. New Metaphors Wave 3 Teacup::Stylesheet.new(:some_view) do style :root, landscape: true style :field, left: 10, top: 10, class SomeController < UIViewController width: 200, stylesheet :some_view height: 50, landscape: { layout :root do width: 360 subview(UITextField, :field) } @search = subview(UITextField, :search) end style :search, extends: :field, end left: 10, top: 70, placeholder: 'Find something...' style UITextField, textColor: UIColor.redColor end Teacup
  • 8. New Metaphors Wave 3 class User include Formotion::Formable form_property :name, :string form_property :score, :number form_property :team, :picker, items: ["Red", "Blue", "Green"] form_title "Edit User" end # ... user = User.new("Harry", 100, "Green") controller = Formotion::FormableController.alloc.initWithModel(user) self.navigationController << controller Formotion
  • 9. New Metaphors Wave 3 class Task < Nitron::Model def self.all order("due") end end class TaskListViewController < Nitron::TableViewController collection { Task.all } end Nitron
  • 10. New Metaphors Wave 3 [YOUR LIBRARY HERE]
  • 11. The Killer Framework - API-driven apps are dead simple - UI scaffolding based on models - Completely abstracts the UIKit/Cocoa
  • 12. Sources • https://github.com/rubymotion/bubblewrap • https://github.com/clayallsopp/twittermotion • https://github.com/rubymotion/teacup • https://github.com/clayallsopp/formotion • https://github.com/mattgreen/nitron • Also: http://rubymotion-wrappers.com