I have some basic familiarity with Objective-C, but prefer Ruby, so I'm thinking of playing around with MacRuby. Is it possible to use MacRuby to develop applications for the Mac App Store, or do I have to use Objective-C? (Note that I don't care so much about iOS/the iPhone and iPad store right now, just the Mac OS X app store.)
-
2Yes here are some examples of MacRuby apps: http://apple.stackexchange.com/questions/15781/examples-of-apps-in-the-mac-app-store-not-made-with-objective-c-c-c – neoneye Jul 17 '11 at 22:18
4 Answers
And to answer the actual question, yes, see http://lists.macosforge.org/pipermail/macruby-devel/2010-November/006475.html.

- 20,908
- 2
- 30
- 40
Short answer: Yes, you can, technically, build such an app. You need to revisit the store guidelines to know what requirements must be met to submit to the various stores.
This comes up sporadically; beyond the guidelines that @NSResponder mentioned, the reality is that you'll just be spending a lot of extra & unnecessary time if you decide to use MacRuby unless you plan on using some large chunk of already written Ruby code in your app.
Learning Objective-C is about 2% of the overall learning needed to be an effective Cocoa developer. The other 98% is everything from memory management model to standard idioms like KVC/KVO/delegation to NIB files to the myriad of classes & APIs throughout the system.
All of those things are written in Objective-C (or C) with documentation targeting Objective-C and examples written in Objective-C.
As well, the entire tool chain is focused on validating, compiling, indexing, debugging, and manipulating Objective-C.
If you want to use MacRuby to build a real Cocoa app, you are going to have to know Objective-C through and through anyway. And you are going to have to deal with whatever bugs and impedance mismatch is in the bridge layer, too.

- 162,346
- 23
- 271
- 359
-
14
-
I agree with everything you say, except the first paragraph. If you mean: “_if_ you still have to learn to work with either of the two _then_ you'll just be spending a lot of extra & unnecessary time if you decide to use MacRuby”, then you should say it that way. If you did not mean it that way, well, then you're imo venting an opinion which you state as truth and is invalid to boot. – alloy Feb 04 '11 at 10:38
-
2@alloy Even if you have a thorough knowledge of Ruby, you are still going to have to have a fairly complete knowledge of Objective-C to be effective as a developer on the iOS or Mac OS X platform. Enough so that you might as well just write the apps in Objective-C; the reduction in complexity will be a significant advantage to development. – bbum Feb 12 '11 at 21:03
-
4I agree overall however there are circumstances in which MacRuby can save time (assuming you already understand the Objective-C API.) E.g. apps that require a great deal of text processing are easier to implement in Ruby than objective-C. A MacRuby app is also easier to provide scripting for. – TechZen Apr 18 '11 at 22:29
Yes. As the Mac developer forums says:
- My Mac app is not written in Objective-C. Is this allowed on the MacApp Store?
Yes, provided it also adheres to the Mac App Store Review Guidelines at http://developer.apple.com/appstore/mac/resources/approval/guidelines.htmland the Mac Developer Program License Agreement at http://developer.apple.com/programs/terms/mac/mac_program_agreement_20101020.pdf
(via alloy)

- 15,209
- 4
- 44
- 64
Read the submission guidelines here: https://developer.apple.com/appstore/mac/resources/approval/guidelines.html

- 16,861
- 7
- 32
- 46
-
2Try without the `s` so as not to require login: http://developer.apple.com/appstore/mac/resources/approval/guidelines.html – NSGod Jan 09 '11 at 03:34