From: Logan Barnett Date: 2009-02-05T10:29:02+09:00 Subject: Re: Native gem roundup! On Feb 4, 2009, at 5:54 PM, Adam Gardner wrote: > Julian Leviston wrote: >> How would it be technically possible to do jruby cocoa If the >> machines >> weren't macs? >> >> Blog: http://random8.zenunit.com/ >> Learn rails: http://sensei.zenunit.com/ >> >> On 05/02/2009, at 10:46 AM, Adam Gardner > > It wouldn't be, but, so? Who says you can't use JRuby on a Mac? I certainly use JRuby on Mac! However, I think Julian is asking if his JRuby Cocoa app will run on things that aren't Macs. My thought is no. Cocoa would need to be running on the other platforms for that to work. My understanding is that Apple provides some Java libs that hook into Cocoa, which makes JRuby development possible. > Perhaps you're following the MVC pattern, and the Model and perhaps > Controller are written using normal old ruby code (perhaps with some > java stuff thrown in), and then you create a distinct View for > different > platforms. Of course, I'm sure you could use Swing or AWT or something > (I'm not too familiar with Java GUI frameworks)... it'd be a lot less > effort, but with OS X GUI applications, if the interface is not done > in > Cocoa or Carbon, it usually sticks out like a sore thumb. Java Swing apps (including JRuby ones, like when you write a Monkeybars app - http://monkeybars.rubyforge.org/) by default on Macs will render components using the System Look and Feel, which under the hood will use the OS's native code to render buttons and other widgets. Check out an app like FrostWire (http://www.frostwire.com/ - Java) or JotBot (http://getjotbot.com/ - JRuby with Monkeybars) SWT (not to be confused with AWT) is much more close to native look and feels, but I think it marries you a lot more to a particular platform. Check out Azureus for an SWT app in Java (http://www.azureus.com/ ). Glimmer is the only JRuby SWT framework I know of - https://rubyforge.org/projects/glimmer/ Either way you go, it's possible to make apps that look good and look native, but how many apps look like iTunes that you'd say also look native? Pages doesn't look like iTunes, yet it looks native. What about Colloquy? I think a native look is a fuzzy definition. The most important thing is that you app does something useful, and does it easily. That's not to say there isn't value in making a nice interface that looks like it belongs on the OS with all of the other apps. (: