RubyMotion Success Story: Jukely
blog.rubymotion.com
blog.rubymotion.com
I wish that I had watched PhoneGap more carefully. Had I paid attention, I definitely wouldn't have chosen that route. I make that comparison because the gotchas aren't apparent until you've fully invested. I think that same might be true for RubyMotion. I'm happy to be wrong!
Would love your comments here: http://news.ycombinator.com/item?id=5344037
- From another Cocoa devs, who loves Ruby.
RubyMotion is awesome because it's just a bridge to the iOS frameworks. You'll have to learn the Apple provided frameworks but on the other hand using Ruby and your favourite editor of choice is much easier than doing development with 3 unknowns (Objc, XCode, UIKit) at the beginning.
After some hours you can "migrate" objc code to RubyMotion in seconds, using most Cocoapods is no problem.
BubbleWrap: https://github.com/rubymotion/BubbleWrap
Formotion: https://github.com/clayallsopp/formotion
Sugarcube: https://github.com/rubymotion/sugarcube
I feel like the hurdles of learning Cocoa are far greater than those of Objective C, and potentially even tricker because you've got to translate it into Ruby.
But I acknowledge this concern is not born of experience. Anyone care to comment?
I can't really see RubyMotion working in an app dev team at the moment. In my last iOS job for instance, I was working on legacy Obj-C code. Can this easily be ported over? Does it deal with retain/release well?
Also, can anybody comment on app development times Obj-C vs RubyMotion (given that you know both)?.
My plan was to port an existing application over to RubyMotion so that I could iterate faster on it. After a few days of work, the conclusion I came to was that it wasn't worth porting an existing application over. I didn't try to piece meal it (if someone demonstrates this, it will attract my attention), just a full re-write.
For me the biggest hurdles were debugging. When something goes wrong it has to be relatively easy to debug. I was in on the early days of RubyMotion and found that their debug facilities were not sufficient enough for me (I think I'm more towards the end of the early adopters curve.) It's also my understanding that this has improved drastically since the early days.
With all that said, the number of success stories that are coming out of RubyMotion has my attention (especially 37Signals). I will most certainly consider RubyMotion for any upcoming pet projets. I still won't use it in my business since you need someone versed in Ruby and partially in iOS, so until I have more developers with that skillset it's not worth going with something so esoteric since developers are so hard to come by as is.
I want to call out this particular line: "It felt like I had to write a lot of code to do simple things"
I dived into iOS development full on a couple of months back, and have to say, after extensive experience dealing with Android, BlackBerry and PhoneGap.. the iOS framework is phenomenal. I have found that more often than not you will NOT have to write a lot of code to do simple things (the same may even apply for seemingly complex things!).
It takes a little bit of getting used to, but after it all clicked, I feel like an idiot for feeling intimidated at all. To those that feel intimidated by the thought of iOS/Objective-C, I suggest diving in and giving it a shot. I promise, you'll love it.
After all, you're still using the same iOS framework with RubyMotion.
But you do get to use Ruby, and more interestingly you get to use rake and Cocoa wrappers like BubbleWrap[1].
iOS also helped solidify a lot of basic Computer Science concepts that other languages seemed to hand-hold me through. I'm extremely grateful for taking on learning Objective-C because I feel it matured me professionally.
I like Ruby, it's a great language, but I think projects like RubyMotion and Phonegap are born out of either fear or unwillingness to learn Objective-C + Cocoa. To me, unless RubyMotion is officially adopted by Apple, there will always be drawbacks to using it.