Cross-platform development with Juce and Objective-C


#1

I always looked for cross-platform tools that allow for a single, platform-agnostic code base. Juce does a great job in this regard. Maintaining large scale projects in C++ however is a challenge. I’d rather have a dynamically typed language with reflection, garbage collection and closures (blocks).

How about wrapping an Objective-C API layer around Juce? This would allow the application code to be dynamic Objective-C while running on all Juce-supported platforms.

The main reason Objective-C is not widely used on Windows is a lack of bindings to the platform. There are OPENSTEP/GNUStep and Cocotron (http://www.cocotron.org), but these follow a different direction. Using Juce instead as the common denominator for all platforms would be great.

Application -> Objective-C -> Juce -> Windows/Mac/Linux/...

Would that be a stupid endeavour? Do I miss something? Anyone also interested in evaluating this? Anyone already failed doing so?


#2

For a large system, give me c++ any day. No contest.

I mean, obj-C doesn’t even have namespaces, for heaven’s sake. The language is a syntactical car-crash. Sure, it has a couple of gimmicks like reflection, but seriously, how often does anyone really need reflection? And the compromises it makes to achieve its dynamic object model make it cumbersome, ugly, and slow in the other 99% of your code.