Skip to content

Instantly share code, notes, and snippets.

@jamonholmgren
Last active August 28, 2024 15:58
Show Gist options
  • Save jamonholmgren/386fcf56a4d87e8ff95178e6ab2b0d30 to your computer and use it in GitHub Desktop.
Save jamonholmgren/386fcf56a4d87e8ff95178e6ab2b0d30 to your computer and use it in GitHub Desktop.
Forum post that I made about RubyMotion in Jan 2016

(Fetched from https://web.archive.org/web/20171113033553/http://community.rubymotion.com/t/so-react-native-impacts-on-rubymotion/1363)

So, React-Native -- impacts on RubyMotion

Bill - 2016-01-25 15:36:44 UTC

Really don't want to stir up controversy here, but what impacts are we as a community facing or expecting from React-Native? The React-Native story seems compelling, but I have a deep aversion to JavaScript in all its forms and variants. It's one reason I'm doing RubyMotion rather than Rails. 😏

I confess to being at least slightly concerned/disturbed by the significant interest being shown in it by Infinite Red, who have produced gems I rely on. I'm fairly distanced from the broader reaches of the tech community (the nice way to say I'm narrowly focused, I guess) so have no clue how this is landing in the development world at large. But I'm concerned for RubyMotion as I find it a wonderful platform for iOS development. I'm expecting the same to emerge for Android as the various gems proliferate. Will that happen? I wish I knew...

Thoughts? Insights?

Bill Felton
cagttraining.com


jamonholmgren - 2016-01-25 22:28:53 UTC

Hey Bill, thanks for posting the question! You’re right, lately we’ve been posting a lot about React Native. So, I thought I’d give a little context to where we’re at with regard to RubyMotion.

I know we’ve been a little quiet lately on the forum, open source, and Motioneers Slack channel. It’s not because we’re not doing RubyMotion anymore—quite the contrary. We have several RubyMotion projects in progress right now. It’s still in our primary iOS and OSX (and Apple TV!) stacks, and we don’t intend on abandoning it anytime soon.

But to be frank, RubyMotion Android has been a real pain point for us. We’d been working on BluePotion for months leading up to #inspect2015, and when we demonstrated it, it still had a lot of sharp edges, which Darin Wilson was pretty open about in his talk. The two significant RubyMotion Android projects we’ve done ended up costing us a lot in terms of hours burned on avoidable bugs and issues.

React Native has been on our radar for a while, and when the Android version was released in September, it was almost perfect timing for us. We had two new iOS + Android projects that were starting in October (and if you don’t know, ClearSight and InfiniteRed merged to form the new Infinite Red right around then). So, we kicked off the two projects in React Native.

Truth is, we’ve really enjoyed working in React Native, JavaScript notwithstanding. We’d rather be using Ruby, but the cross-platform story is very good.

We still love RubyMotion iOS/OSX/tvOS, and when Android is fully stable and performant, we may put some more attention on BluePotion. We still support RedPotion and its constituent pieces. But for pragmatic reasons, we have diversified our tech stack.

I hope this clears things up for you!

Jamon Holmgren
Founder and COO, Infinite Red


Bill - 2016-01-26 13:04:22 UTC

Hi Jamon,
Thanks for the detailed response! That helps clarify things quite a bit.
And I'm sorry that the post was written with a bit too much emphasis on Infinite Red and the recent blog posts. I don't hit your blog sites daily, and seeing multiple R-N posts, well, let's just say I've had several people/potential clients express concerns along the lines of "why RubyMotion instead of Swift or Java or, even better, React-Native?" Started to feel like an approaching iceberg 😏

I've got good answers to the Swift questions, don't much care about Android/Java, and remain skeptical about cross-platform solutions. But I was sensing a trend. And I really want RubyMotion, and Ruby at large, to succeed and thrive.

I share your frustrations and concerns about RM on Android. In all honesty, I'm not sure I'd mind all that much if they dropped the Android project and focused on doing "just" Apple's product lines. That's where their strength lies, that's where the majority of their customer base lies, and they seem to attract a lot of grief from folks who expect RM to be fully cross-platform. That is, cross-platform in the sense of "write once, deploy on iOS and Android." We've had genuine cross-platform coding systems in the past (e.g., my beloved Smalltalk), but it's a problematic space once you get to the GUI.

Lots more attention to Apple Watch and Apple TV OS could only help. If resources are being used on Android rather than those targets, I, for one, would suggest that HipByte reconsider. If nothing else, those are easier targets than "write once/deploy anywhere." And "write one and a half times, deploy anywhere" just isn't a marketing winner, in my not-so-humble opinion.

I think it would be helpful for the community to have a discussion about the pros and cons of RubyMotion versus React-Native, and hope this launches one. I also think you've done a pretty splendid job of laying out the issues and some of the reasonable answers, especially from a business perspective.

Who else wants to weigh in?

Cheers,
Bill


andrewhavens - 2016-01-28 19:31:29 UTC

I don't know much about React Native, but I would be very, very curious to know if you can combine Opal to create a sort of pseudo RubyMotion experience. I also despise JavaScript and love Ruby too much to abandon it.


tibastral - 2016-01-29 12:57:44 UTC

For me, RM on Android is amazing... really, really cool product, but some things are really not in the spirit of Google (for example, the XML files to configure your project). The RM approach is better, but so less used that you have to struggle to understand how to do some basic things.

Something simpler would be really better (and we really also need some basic translations page like the R methods).


Bill - 2016-01-29 14:09:04 UTC

I'm really happy to hear that! I'd love to see RubyMotion succeed in both iOS and Android.
I think you're absolutely correct that more and better examples would go a long way to helping users get going and helping the product get traction in the market. For myself, the examples and RubyMotion Dispatch were invaluable for getting to grips with the product. Comparable things for Android seem to be harder to find, or absent.

The other factor, for me, and I suspect for the community, is more RubyMotion gems for the Android world. That's clearly the main factor that makes RubyMotion a success in iOS. For me, RedPotion is the "next generation" of development enhancers in iOS. I had high hopes that BluePotion would meet the same set of needs for Android. I've not given up hope, but I think Jamon's response above puts the timeline in a more realistic light. Sadly, that also seems to be a bit further out than we might like.

But hearing from an enthusiast for RubyMotion on Android is heartening, thanks!


Bounga - 2016-02-02 13:11:39 UTC

I experienced the same problems as Darin. Using RM for Android leads me to lose a lot of time in hunting bugs and finding workarounds. It's really a pain when you have deadlines.

In my opinion, RM for Android is still too young to be used on ambitious projects with deadlines.

Can't wait to see it being as solid as its iOS counterpart.


GantMan - 2016-02-02 18:58:56 UTC

Yup, RM Android has insane potential.

Ruby is my FAVORITE language. I'm somewhat taking JavaScript as an opportunity to learn functional programming in a non-functional language, I know. Ruby is key, but lodash and other libraries help me deal with non-Ruby languages. :)

@Bounga - I agree on all points!


jjaffeux - 2016-02-03 07:55:36 UTC

@GantMan @Bounga Still a lot of work, but the next RM update will bring a lot of improvements to RM Android: http://hipbyte.myjetbrains.com/youtrack/issues


amirrajan - 2016-02-03 22:40:15 UTC

For what it's worth, I am working on getting "A Dark Room" ported over to Android. I'm targeting a May release for it. So far, so good.


thillerson - 2016-02-06 23:05:18 UTC

Hi,
I've recently gotten a book about mobile app development, Seven Mobile Apps in Seven Weeks, into beta: https://pragprog.com/book/7apps. The book is an attempt to answer questions like these by walking you through creating apps on a few different platforms to help you compare. I cover both RubyMotion and React Native. It may be useful to you.

Thanks,
Tony


holgersindbaek - 2016-06-05 23:50:14 UTC

What's the state of Android for RubyMotion nowadays? Seems like ReactNative is really popular (33k stars on GitHub) and it doesn't seem like there's a lot of people using RubyMotion for Android.

Does Android still have a lot of bugs? How do you work with GUIs in Android (I'm using MotionKit for my iOS apps)?


Marla - *2016-06-08 17:56:38

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment