What is CamelBones?

CamelBones is a Cocoa / Perl bridge for Mac OS X. Like most bridged,
CamelBones is bidirectional - It makes Perl accessible from Objective-C,
as well as making Cocoa accessible from Perl.  You can write a native
Cocoa database front-end using DBI for your corporate clients, embed
Perl as an application scripting language for your bespoke tool chain,
or build complete self-contained web-based apps using the included set
of Catalyst modules.

Where can I get CamelBones?

        The place to get started is: <http://camelbones.sf.net>

What's New in 1.0.1?

Exceptions are bidirectional now. You can catch Perl die() and other
errors using standard Objective-C exception handling.

The PAR module and its prerequisites are included with CamelBones for
10.3 (Panther) and 10.4 (Tiger). (The current PAR module is not compatible
with the Perl included with 10.2) So, you can include .par files in your
applications. Finding the .par modules needs to be done after CamelBones
initializes, so that NSBundle methods can be called to find the .app
bundle, like so:

    # main.pl is a good home for this
    BEGIN {
        use CamelBones qw(:All);
        my $resDir = NSBundle->mainBundle()->resourcePath();
        eval "use PAR '$resDir/*.par'";
    }

To bundle PAR packages into your app, just drag-n-drop them onto your Xcode
project, or choose the "Project/Add to Project..." menu item. Xcode will
add them automatically to the "Copy Resources" phase of your project.

Pure-Perl PARS are easy to create - they're just .zip files renamed to have a .par extension instead. The directory structure inside of the .par file
must reflect the package name space, i.e. Foo::Bar would be:

    Foo/Bar.pm

XS modules are more work to create; they need to include binary- compatible
versions for *all* of the OS versions you intend to support. Also, note
that XS modules for Tiger (and newer) OS versions will need to be Universal if your app is to run as a Universal Binary. A tutorial listing the steps I
taok to create the UB modules found in the CamelBones module "kits" is
coming soon on the web site.

Module "kits" are now packaged as .par files, and greatly expanded. A full
list of the included modules is available on the web site, but in short:

    DevKit - Modules useful in a variety of problem domains.
    DBIKit - DBI, DBD::* drivers for MySQL, PostgreSQL, and SQLite, and
             additional DBIx::* modules for database programming.
    MacPerlKit - The latest Mac::Carbon.
    XMLKit - Many XML::* modules for working with XML.
    CatKit - Catalyst, its prerequisites, and many plugins.

The old "RendezvousBrowser" example from the 0.3 series has been updated
to CamelBones 1.0, and renamed to "NetService Browser".

A couple of memory-management bugs were fixed.

sherm--

Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net


Reply via email to