CamelBones++

Matts on 2007-06-01T00:05:17

I've had a lot of fun the past couple of days hacking with CamelBones. It's a very mature and stable framework for creating full blown Mac apps.

I've now managed to hook my application in to the core Mac CD/DVD writing libraries. Even though the framework isn't supported by default, CamelBones allows you to type: "use Foo;" and by using @ISA hooks it will scan for the framework and load it dynamically and implement support for it.

So in a few lines of code I was hooking directly into the core Mac library for DVD writing. Superb.

I'm actually surprised there aren't more CamelBones applications. It's a sweet framework for writing mac apps, and pretty much everything seems to just work.

(and yes, I'll be releasing my DVD writer soon).


Not cross platform... I guess...

Alias on 2007-06-01T06:00:12

One of my main problems with it is the Mac-only nature.

I mean, it's all well and good people can write Mac applications, but personally I've always preferred doing things in a cross-platform way.

Of course, the Camelbones guys disagree and think cross-platform Perl desktop apps are non-ideal, and that what I really want to be writing is Mac-specific ones.

Which I guess makes some sense if you use a Mac. :)

Re:Not cross platform... I guess...

Matts on 2007-06-01T12:43:38

The problem with cross platform apps is that you end up with something like Bibble, which doesn't look good anywhere (well, except maybe Linux, but it only looks good in comparison to everything else).

Plus then I'd have to figure out 3 different DVD writing APIs, which I suspect that a) Windows doesn't even expose, and b) Linux requires you to call to some command line application whose output is impossible to parse.

Ugh. Besides, CamelBones is fun, and that was part of the point.

Re:Not cross platform... I guess...

Matts on 2007-06-01T12:44:35

Oh, I meant to say though - the core system I wrote for creating big DVDs (well, only creates the ISOs) should work on linux:

http://www.sergeant.org/mk_big_dvd.pl

Re:Not cross platform... I guess...

pudge on 2007-06-05T23:04:06

The #1 reason I do not use Firefox as my everyday browser is because it is cross-platform, which has many negative effects on the final product.

If it is not a native Mac app, with a native Mac UI, then it is going to be a bad app on the Mac. It's as simple as that (though the reasons why can be complex).

Re:Not cross platform... I guess...

Matts on 2007-06-06T01:20:37

It's now a native mac app. Try it. Let me know how it goes for you.

Re:Not cross platform... I guess...

Matts on 2007-06-06T01:21:43

And by native, I mean it doesn't even shell out any more. It calls into the mac DVD creation API. Which is actually kinda cool for a perl app.

Re: CamelBones++

garth on 2007-06-01T12:47:53

I lamented the same thing four years ago and things don't seem to have changed too much. My theory is that there just isn't a huge advantage over just using plain Cocoa/Objective-C for it to be worth the hassle. Unless you need something specifically tied to perl, you can put something together in Cocoa just as easily. However it will be interesting to see if the new BridgeSupport stuff will change anything.

I have been slowly attempting to put together a CPANPLUS frontend with CamelBones recently, after a long absence. I had forgotten how simple it is to get a basic GUI working, but then how much time you can spend just mucking around with the various GUI options.

Re: CamelBones++

Matts on 2007-06-01T14:00:35

I still find the Obj-C syntax objectionable. It just doesn't quite feel right, but yes I get your point about it being very easy to put something together using it.

The way I see it, is CamelBones makes an awesome prototyping system that you could later port stuff over to Obj-C.

But this app was so simple to build - I could create a competitor to Disco in just a couple of weeks.