On Oct 26, 2008, at 12:27 AM, Rich Morin wrote:
On a related topic, I'm wondering about the possibility of porting conventional (ie, ObjC) Cocoa apps _incrementally_ to MacRuby. Is there a way, for example, to:
- Turn an ObjC Cocoa app into a nominal MacRuby app, but leave all of the actual code on ObjC.
- Pick a class and method, comment out the ObjC code, and add a MacRuby version that performs the same job.
- See if things still work the same.
- Rinse, repeat...
There is a way :-) - You modify the project to link against MacRuby.framework - You copy the main.m and rb_main.rb files from an existing MacRuby application (you will override the existing main.m file here, but rb_main.rb will be a new file) - You add a build phase that copies all .rb files into the Resource directory of the application bundle - Then you can start porting the code. You can start by converting a file into MacRuby (MyClass.[m|h] -> MyClass.rb), then remove the C/ Objective-C files from the project. I did this process quite a few times when porting some Objective-C sample code into RubyCocoa/MacRuby. I don't think I forgot to mention a step. Laurent