Upgrade to Pro — share decks privately, control downloads, hide ads and more …

From Ruby to Rubymotion

From Ruby to Rubymotion

Valencia.rb 7/22

Marco Alacot

July 22, 2014
Tweet

Other Decks in Programming

Transcript

  1. Valencia.rb 7/22
    From Ruby to
    Rubymotion

    View full-size slide

  2. malacot
    Marco Alacot
    Developer @ peerTransfer
    marcoalacot
    Mostly Ruby,
    NO previous experience with
    mobile development

    View full-size slide

  3. What is this all about?
    Show how it’s like opening the box of
    Rubymotion from the perspective of a Ruby
    developer.

    Enumerate the possibilities and the biggest
    challenges

    Explain how it works showing some internals
    and some code.

    View full-size slide

  4. How I met with RubyMotion?

    View full-size slide

  5. Why Rubymotion?
    We wanted to do a spike of a mobile app

    No iOS nor Android developers

    No time nor willing to learn Objective C

    Many Ruby developers...

    View full-size slide

  6. RubyMotion it’s a
    toolchain from Hipbyte

    It was created after MacRuby by an ex-Apple
    employee

    it allows to develop native apps for iOS and
    OS X (Android coming soon) using Ruby.
    What is Rubymotion?
    COMMERCIAL

    View full-size slide

  7. Ok… It’s a commercial
    product, but…

    How much it cost?
    iOS developer license: 99$ per year
    Rubymotion: 199$
    TOTAL: 298$

    View full-size slide

  8. Also, you said that

    I only need to know
    Ruby, right??

    View full-size slide

  9. Also, you said that I
    only need to know
    Ruby right??

    View full-size slide

  10. initWithNib
    UIControl
    didFinishLaunchingWithOptions:launchOptions
    NSSetUncaughtExceptionHandler
    UIEdgeInsetsMake(0, inset, 0, 0)
    Also, you said that I
    only need to know
    Ruby right??

    View full-size slide

  11. First challenge:

    You will need to

    know the platform
    API’s.

    View full-size slide

  12. Main features

    View full-size slide

  13. Ruby statically compiled

    View full-size slide

  14. Rake based toolchain

    View full-size slide

  15. Keep your own editor!

    View full-size slide

  16. Rspec like testing
    framework

    View full-size slide

  17. Second challenge:

    How MVC applies to
    a mobile application?

    View full-size slide

  18. We said that we need to
    know the iOS API´s
    But, is there a way to
    “rubify” a little bit it’s
    syntax?

    View full-size slide

  19. Alternatives to
    Rubymotion?

    View full-size slide

  20. Alternatives to
    Rubymotion
    MobiRuby
    Ruboto

    View full-size slide

  21. Android support

    View full-size slide

  22. Ruby Statically compiled

    Terminal based toolchain

    No need to use Eclipse (Keep your
    favourite editor!)

    Rspec like testing framework

    Easy debugging with REPL
    Same features:

    View full-size slide

  23. Ok, that looks good,

    but we have Swift now..

    View full-size slide

  24. Swift VS Rubymotion
    “Your customers care about what’s on the surface of your app:
    does it look, interact, and feel like an iOS app? If you can do
    that, the language doesn’t matter.

    !
    There is no right answer to this question. Choose what the
    language that speaks to you and then go build something
    awesome.”

    !
    Justin Williams, Learning How To Make Sausage

    View full-size slide

  25. Conclusions
    Rubymotion it’s not only the possibility to
    use Ruby for develop iOS and Android apps

    The framework API’s have always been the
    secret sauce. Whether you’re using
    Objective-C, Swift, C#, or Ruby you’re still
    going to have to learn how to use a
    UIButton or a UITableView.

    Swift, Ruby or Objective C are only tools,
    you can do great thinks with any, choose
    what tool you love the most!

    View full-size slide

  26. Where can I find help?
    Rubymotion Documentation

    Rubymotion Google user group (very active)

    Motioninmotion.tv

    View full-size slide

  27. Thank you!!!

    View full-size slide