Stories
Slash Boxes
Comments
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

use Perl Log In

Log In

[ Create a new account ]

Matts (1087)

Matts
  (email not shown publicly)

I work for MessageLabs [messagelabs.com] in Toronto, ON, Canada. I write spam filters, MTA software, high performance network software, string matching algorithms, and other cool stuff mostly in Perl and C.

Journal of Matts (1087)

Thursday May 31, 2007
07:05 PM

CamelBones++

[ #33394 ]

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).

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • 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. :)
    • 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.
    • 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 [sergeant.org]
    • 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).

      • It's now a native mac app. Try it. Let me know how it goes for you.
        • 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.
  • I lamented the same thing [perl.org] 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 [macosforge.org] stuff will change anything.

    I have been slowly attempting to put together a CPANPLUS frontend with CamelBones recently, after a

    • 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.