SlideShare a Scribd company logo
MacRuby
        For fun...
       and profit!


Presented by: Joshua Ballanco
A quick introduction...
• Been using Ruby since 2004
• MacRuby Core Team member
• Worked for Apple 2006 to 2010
• Currently at Patch (AOL)
• https://github.com/jballanc
• @manhattanmetric
Overview
• Using MacRuby as a Cocoa REPL
• Cocoa Development with MacRuby
 •   Getting Started

 •   Building and Running

 •   Hooking Up a UI

 •   Using Gems

 •   Packaging and Shipping
What is MacRuby?

• http://www.macruby.org
• http://www.macruby.org/files/
• http://www.macruby.org/files/nightlies/
• Available from RVM (but not recommended)
• Source at GitHub:
  https://github.com/MacRuby/MacRuby
What is MacRuby?
• Compiling MacRuby:
 •   Need LLVM *2.9* (see the README)

 •   rake ; sudo rake install

• Bugs – https://www.macruby.org/trac/report
• MacRuby-devel mailing list
• @macruby, #macruby
Ruby Syntax
Ruby Syntax




                             Parser
                            MRI’s parse.y




                           Compiler
                      RoxorCompiler <C++>




     VM (sans GVL)
                                            LLVM (with JIT)
RoxorVM & RoxorCore <C++>




                     Objective-C Runtime
MacRuby for Fun!
• REPL – Read Eval Print Loop
MacRuby for Fun!
• REPL – Read Eval Print Loop
• Useful tool for learning, development, and
  debugging
MacRuby for Fun!
• REPL – Read Eval Print Loop
• Useful tool for learning, development, and
  debugging
• LISP, Python, Ruby all benefit from a REPL
• C, C++, Java do not
MacRuby for Fun!
• REPL – Read Eval Print Loop
• Useful tool for learning, development, and
  debugging
• LISP, Python, Ruby all benefit from a REPL
• C, C++, Java do not
• Obj-C ...has MacRuby!
MacRuby for Fun!
MacRuby for Fun!

• Let’s learn CoreData!
MacRuby for Fun!

• Let’s learn CoreData!
• There sure is a lot of documentation on
  http://developer.apple.com about CoreData
Core Data Utility Tutorial
Data Management




        2010-09-19
Contents

Introduction          Introduction to Core Data Utility Tutorial 7

                      Who Should Read This Document 7
                      Organization of This Document 7
                      See Also 8


Chapter 1             Overview of the Tutorial 9

                      Task Goal 9

Chapter 2             Creating the Project 11

                      Create a New Project 11
                         Create the project 11
                         Link the Core Data framework 11
                         Adopt Garbage Collection 12
                      What Happened? 12

Chapter 3             Creating the Managed Object Model 13

                      Specifying the Entity 13
                      Create the Managed Object Model 13
                         Create the Model Instance 13
                         Create the Entity 14
                         Add the Attributes 14
                         Add a Localization Dictionary 15
                      Instantiate a Managed Object Model 16
                      Build and Test 16
                      Complete Listing 16


Chapter 4             The Application Log Directory 19

                      The applicationLogDirectory Function 19
                      Update the main Function 20
                      Build and Test 20


Chapter 5             Creating the Core Data Stack 21

                      Overview 21
                      The managedObjectContext Function 21
                        Create the Context Instance 21
                        Set up the Persistent Store Coordinator and Store 22


                                                                               3
            2010-09-19 | © 2005, 2010 Apple Inc. All Rights Reserved.
CHAPTER 8
     Complete Source Listings




          if ([key isEqualToString:@"processID"]) {
              self.processID = 0;
          }
          else {
              [super setNilValueForKey:key];
          }
     }

     @end




38   The Run Class
     2010-09-19 | © 2005, 2010 Apple Inc. All Rights Reserved.
MacRuby for Fun!

• Let’s learn CoreData!
• There sure is a lot of documentation on
  http://developer.apple.com about CoreData
MacRuby for Fun!

• Let’s learn CoreData!
• There sure is a lot of documentation on
  http://developer.apple.com about CoreData
• Documentation is boring :-(
setup.rb
MacRuby for Fun!

• Let’s learn CoreData!
• There sure is a lot of documentation on
  http://developer.apple.com about CoreData
• Documentation is boring... :-(
MacRuby for Fun!

• Let’s learn CoreData!
• There sure is a lot of documentation on
  http://developer.apple.com about CoreData
• Documentation is boring... :-(
• REPLs are fun! :-)
MacRuby for Profit!
• Things you will need:
 • MacRuby nightly build (or 0.11 when it
    comes out)
 • Xcode 4.2 (v4.1 is definitely broken, v3-
    series may still work)
 • Gumption (and the mailing list address)
MacRuby for Profit!

• Install Xcode FIRST! then MacRuby
• Start Xcode, choose the MacRuby template
• Build and go!
Building and Running
• MacRuby template already contains targets
    needed to compile, build, and run
•   macruby_deploy does all the hard work...
Hooking Up a UI

• MacRuby classes are Objective-C classes
• Define outlets with attr_* methods
• Any MacRuby method with a single
  argument named “sender” can be used as
  an action
Using Gems

• Install with sudo macgem install <gemname>
• Require Gems in rb
• Use Gems for Development
• Vendor Gems with macruby_deploy --gem
  for Distribution
Packaging and Shipping
• App bundles generated by macruby_deploy
  are relocatable to machines without
  MacRuby (or even with incompatible
  versions of MacRuby)
• Bundles can be signed for App store
  distribution with the codesign CLI tool
• Excellent blog post at: http://astonj.com/
  tech/how-to-submit-your-macruby-app-to-
  the-mac-app-store/
Bonus!
MacRuby...
...and you didn’t even know it!!!
• CocoaPods!
• https://github.com/CocoaPods/CocoaPods
• Like Gems for iOS (and OS X... and
  MacRuby)
• Uses MacRuby under the covers
• Complemented by Laurent Sansonetti!
Thank you!


 *Flame transition quota fulfilled
Questions?


 *Flame transition quota fulfilled

More Related Content

PDF
遇見 Ruby on Rails
Wen-Tien Chang
 
PDF
Java EE 7 Soup to Nuts at JavaOne 2014
Arun Gupta
 
PDF
maven
akd11
 
PPTX
Faster java ee builds with gradle [con4921]
Ryan Cuprak
 
PDF
Command Line Tool in swift
Yusuke Kita
 
PDF
Introducing Immutant
Jim Crossley
 
PPTX
Full stack development with node and NoSQL - All Things Open - October 2017
Matthew Groves
 
PPTX
Utilizing the OpenNTF Domino API
Oliver Busse
 
遇見 Ruby on Rails
Wen-Tien Chang
 
Java EE 7 Soup to Nuts at JavaOne 2014
Arun Gupta
 
maven
akd11
 
Faster java ee builds with gradle [con4921]
Ryan Cuprak
 
Command Line Tool in swift
Yusuke Kita
 
Introducing Immutant
Jim Crossley
 
Full stack development with node and NoSQL - All Things Open - October 2017
Matthew Groves
 
Utilizing the OpenNTF Domino API
Oliver Busse
 

What's hot (20)

PDF
Enabling White-Box Reuse in a Pure Composition Language
elliando dias
 
PPT
Introduction to Play Framework
Warren Zhou
 
PDF
Gradle起步走: 以CLI Application為例 @ JCConf 2014
Chen-en Lu
 
PDF
Building a Spring Boot Application - Ask the Audience!
🎤 Hanno Embregts 🎸
 
PDF
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
chbornet
 
PPTX
Spring Boot Tutorial
Naphachara Rattanawilai
 
PDF
Leveraging Open Source for Database Development: Database Version Control wit...
All Things Open
 
PPTX
Maven
Shraddha
 
PDF
Intro to CakePHP
Walther Lalk
 
PDF
Cannibalising The Google App Engine
catherinewall
 
PPTX
Why jakarta ee matters (ConFoo 2021)
Ryan Cuprak
 
PDF
Jaoo Michael Neale 09
Michael Neale
 
PDF
Intro To OSGi
Stephan Janssen
 
PDF
Ror Seminar With agilebd.org on 23 Jan09
Shaer Hassan
 
PPT
Spring Boot in Action
Alex Movila
 
PDF
#jjug_ccc #ccc_gh5 What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's ...
Toshiaki Maki
 
ODP
Using Apache Camel connectors for external connectivity
Claus Ibsen
 
PDF
What's New in NetBeans IDE 7.x
Geertjan Wielenga
 
PDF
Agile sites311training
Michele Sciabarrà
 
Enabling White-Box Reuse in a Pure Composition Language
elliando dias
 
Introduction to Play Framework
Warren Zhou
 
Gradle起步走: 以CLI Application為例 @ JCConf 2014
Chen-en Lu
 
Building a Spring Boot Application - Ask the Audience!
🎤 Hanno Embregts 🎸
 
JHipster Conf 2018 : Connect your JHipster apps to the world of APIs with Ope...
chbornet
 
Spring Boot Tutorial
Naphachara Rattanawilai
 
Leveraging Open Source for Database Development: Database Version Control wit...
All Things Open
 
Maven
Shraddha
 
Intro to CakePHP
Walther Lalk
 
Cannibalising The Google App Engine
catherinewall
 
Why jakarta ee matters (ConFoo 2021)
Ryan Cuprak
 
Jaoo Michael Neale 09
Michael Neale
 
Intro To OSGi
Stephan Janssen
 
Ror Seminar With agilebd.org on 23 Jan09
Shaer Hassan
 
Spring Boot in Action
Alex Movila
 
#jjug_ccc #ccc_gh5 What's new in Spring Framework 4.3 / Boot 1.4 + Pivotal's ...
Toshiaki Maki
 
Using Apache Camel connectors for external connectivity
Claus Ibsen
 
What's New in NetBeans IDE 7.x
Geertjan Wielenga
 
Agile sites311training
Michele Sciabarrà
 
Ad

Viewers also liked (9)

PDF
A Tale of Two Rubies
Joshua Ballanco
 
KEY
There and Back Again
Joshua Ballanco
 
KEY
MacRuby: What is it? and why should you care?
Joshua Ballanco
 
PDF
RubyMotion: Under the Hood
Joshua Ballanco
 
PDF
Getting Your Ruby EGOT
Joshua Ballanco
 
PDF
Debugging RubyMotion
Joshua Ballanco
 
KEY
Keeping ruby reasonable
Joshua Ballanco
 
PPTX
5分でできる U S T配信(保存用)
Hiroaki Kobayashi
 
PDF
Ruby memory model
Hari Krishnan‎
 
A Tale of Two Rubies
Joshua Ballanco
 
There and Back Again
Joshua Ballanco
 
MacRuby: What is it? and why should you care?
Joshua Ballanco
 
RubyMotion: Under the Hood
Joshua Ballanco
 
Getting Your Ruby EGOT
Joshua Ballanco
 
Debugging RubyMotion
Joshua Ballanco
 
Keeping ruby reasonable
Joshua Ballanco
 
5分でできる U S T配信(保存用)
Hiroaki Kobayashi
 
Ruby memory model
Hari Krishnan‎
 
Ad

Similar to MacRuby for Fun and Profit (20)

PDF
Launchpad: Lessons Learnt
Tim Penhey
 
PDF
WebObjects Developer Tools
WO Community
 
PDF
NA Developer Day - Taking your COBOL apps to Net & JVM
Micro Focus
 
PDF
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
WO Community
 
PDF
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware
 
PDF
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
Marc Dutoo
 
PDF
2.3 (Architecture) Moving to Managed Code
Micro Focus
 
PPTX
Fundamentals of java --- version 2
Uday Sharma
 
PPTX
JavaOne2015-What's in an Object?
Charlie Gracie
 
PPTX
#JavaOne What's in an object?
Charlie Gracie
 
PPTX
Hack Rio/OS
Kishore Neelamegam
 
PDF
Mobile Fest 2018. Алексей Лизенко. Make your project great again
MobileFest2018
 
PDF
RubyStack: the easiest way to deploy Ruby on Rails
elliando dias
 
PPTX
04 integrate entityframework
Erhwen Kuo
 
PPTX
Js tacktalk team dev js testing performance
Артем Захарченко
 
PPTX
Continuous integration by Rémy Virin
CocoaHeads France
 
PPTX
Using puppet, foreman and git to develop and operate a large scale internet s...
techblog
 
PPTX
CNCF Live Webinar: Low Footprint Java Containers with GraalVM
LibbySchulze
 
PDF
Liberty: The Right Fit for Micro Profile?
Dev_Events
 
PDF
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
Michael Vorburger
 
Launchpad: Lessons Learnt
Tim Penhey
 
WebObjects Developer Tools
WO Community
 
NA Developer Day - Taking your COBOL apps to Net & JVM
Micro Focus
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
WO Community
 
OCCIware Project at EclipseCon France 2016, by Marc Dutoo, Open Wide
OCCIware
 
EclipseCon 2016 - OCCIware : one Cloud API to rule them all
Marc Dutoo
 
2.3 (Architecture) Moving to Managed Code
Micro Focus
 
Fundamentals of java --- version 2
Uday Sharma
 
JavaOne2015-What's in an Object?
Charlie Gracie
 
#JavaOne What's in an object?
Charlie Gracie
 
Hack Rio/OS
Kishore Neelamegam
 
Mobile Fest 2018. Алексей Лизенко. Make your project great again
MobileFest2018
 
RubyStack: the easiest way to deploy Ruby on Rails
elliando dias
 
04 integrate entityframework
Erhwen Kuo
 
Js tacktalk team dev js testing performance
Артем Захарченко
 
Continuous integration by Rémy Virin
CocoaHeads France
 
Using puppet, foreman and git to develop and operate a large scale internet s...
techblog
 
CNCF Live Webinar: Low Footprint Java Containers with GraalVM
LibbySchulze
 
Liberty: The Right Fit for Micro Profile?
Dev_Events
 
OpenDaylight Developers Experience 1.5: Eclipse Setup, HOT reload, future plans
Michael Vorburger
 

Recently uploaded (20)

PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 

MacRuby for Fun and Profit

  • 1. MacRuby For fun... and profit! Presented by: Joshua Ballanco
  • 2. A quick introduction... • Been using Ruby since 2004 • MacRuby Core Team member • Worked for Apple 2006 to 2010 • Currently at Patch (AOL) • https://github.com/jballanc • @manhattanmetric
  • 3. Overview • Using MacRuby as a Cocoa REPL • Cocoa Development with MacRuby • Getting Started • Building and Running • Hooking Up a UI • Using Gems • Packaging and Shipping
  • 4. What is MacRuby? • http://www.macruby.org • http://www.macruby.org/files/ • http://www.macruby.org/files/nightlies/ • Available from RVM (but not recommended) • Source at GitHub: https://github.com/MacRuby/MacRuby
  • 5. What is MacRuby? • Compiling MacRuby: • Need LLVM *2.9* (see the README) • rake ; sudo rake install • Bugs – https://www.macruby.org/trac/report • MacRuby-devel mailing list • @macruby, #macruby
  • 7. Ruby Syntax Parser MRI’s parse.y Compiler RoxorCompiler <C++> VM (sans GVL) LLVM (with JIT) RoxorVM & RoxorCore <C++> Objective-C Runtime
  • 8. MacRuby for Fun! • REPL – Read Eval Print Loop
  • 9. MacRuby for Fun! • REPL – Read Eval Print Loop • Useful tool for learning, development, and debugging
  • 10. MacRuby for Fun! • REPL – Read Eval Print Loop • Useful tool for learning, development, and debugging • LISP, Python, Ruby all benefit from a REPL • C, C++, Java do not
  • 11. MacRuby for Fun! • REPL – Read Eval Print Loop • Useful tool for learning, development, and debugging • LISP, Python, Ruby all benefit from a REPL • C, C++, Java do not • Obj-C ...has MacRuby!
  • 13. MacRuby for Fun! • Let’s learn CoreData!
  • 14. MacRuby for Fun! • Let’s learn CoreData! • There sure is a lot of documentation on http://developer.apple.com about CoreData
  • 15. Core Data Utility Tutorial Data Management 2010-09-19
  • 16. Contents Introduction Introduction to Core Data Utility Tutorial 7 Who Should Read This Document 7 Organization of This Document 7 See Also 8 Chapter 1 Overview of the Tutorial 9 Task Goal 9 Chapter 2 Creating the Project 11 Create a New Project 11 Create the project 11 Link the Core Data framework 11 Adopt Garbage Collection 12 What Happened? 12 Chapter 3 Creating the Managed Object Model 13 Specifying the Entity 13 Create the Managed Object Model 13 Create the Model Instance 13 Create the Entity 14 Add the Attributes 14 Add a Localization Dictionary 15 Instantiate a Managed Object Model 16 Build and Test 16 Complete Listing 16 Chapter 4 The Application Log Directory 19 The applicationLogDirectory Function 19 Update the main Function 20 Build and Test 20 Chapter 5 Creating the Core Data Stack 21 Overview 21 The managedObjectContext Function 21 Create the Context Instance 21 Set up the Persistent Store Coordinator and Store 22 3 2010-09-19 | © 2005, 2010 Apple Inc. All Rights Reserved.
  • 17. CHAPTER 8 Complete Source Listings if ([key isEqualToString:@"processID"]) { self.processID = 0; } else { [super setNilValueForKey:key]; } } @end 38 The Run Class 2010-09-19 | © 2005, 2010 Apple Inc. All Rights Reserved.
  • 18. MacRuby for Fun! • Let’s learn CoreData! • There sure is a lot of documentation on http://developer.apple.com about CoreData
  • 19. MacRuby for Fun! • Let’s learn CoreData! • There sure is a lot of documentation on http://developer.apple.com about CoreData • Documentation is boring :-(
  • 21. MacRuby for Fun! • Let’s learn CoreData! • There sure is a lot of documentation on http://developer.apple.com about CoreData • Documentation is boring... :-(
  • 22. MacRuby for Fun! • Let’s learn CoreData! • There sure is a lot of documentation on http://developer.apple.com about CoreData • Documentation is boring... :-( • REPLs are fun! :-)
  • 23. MacRuby for Profit! • Things you will need: • MacRuby nightly build (or 0.11 when it comes out) • Xcode 4.2 (v4.1 is definitely broken, v3- series may still work) • Gumption (and the mailing list address)
  • 24. MacRuby for Profit! • Install Xcode FIRST! then MacRuby • Start Xcode, choose the MacRuby template • Build and go!
  • 25. Building and Running • MacRuby template already contains targets needed to compile, build, and run • macruby_deploy does all the hard work...
  • 26. Hooking Up a UI • MacRuby classes are Objective-C classes • Define outlets with attr_* methods • Any MacRuby method with a single argument named “sender” can be used as an action
  • 27. Using Gems • Install with sudo macgem install <gemname> • Require Gems in rb • Use Gems for Development • Vendor Gems with macruby_deploy --gem for Distribution
  • 28. Packaging and Shipping • App bundles generated by macruby_deploy are relocatable to machines without MacRuby (or even with incompatible versions of MacRuby) • Bundles can be signed for App store distribution with the codesign CLI tool • Excellent blog post at: http://astonj.com/ tech/how-to-submit-your-macruby-app-to- the-mac-app-store/
  • 30. MacRuby... ...and you didn’t even know it!!! • CocoaPods! • https://github.com/CocoaPods/CocoaPods • Like Gems for iOS (and OS X... and MacRuby) • Uses MacRuby under the covers • Complemented by Laurent Sansonetti!
  • 31. Thank you! *Flame transition quota fulfilled
  • 32. Questions? *Flame transition quota fulfilled

Editor's Notes