Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Mac > Mac Programmer > ANN: CamelBones...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 5 Topic 927 of 1033
Post > Topic >>

ANN: CamelBones 1.0.1

by Sherm Pendley <spamtrap@[EMAIL PROTECTED] > Mar 13, 2007 at 07:56 PM

What is CamelBones?

CamelBones is a Cocoa / Perl bridge for Mac OS X. Like most bridges,
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 cor****ate 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.

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 sup****t. 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
 




 5 Posts in Topic:
ANN: CamelBones 1.0.1
Sherm Pendley <spamtra  2007-03-13 19:56:41 
Re: ANN: CamelBones 1.0.1
Sherm Pendley <spamtra  2007-03-13 20:15:37 
Re: ANN: CamelBones 1.0.1
unbewusst.sein@[EMAIL PRO  2007-03-31 06:52:52 
Re: ANN: CamelBones 1.0.1
Sherm Pendley <spamtra  2007-03-31 01:45:45 
Re: ANN: CamelBones 1.0.1
unbewusst.sein@[EMAIL PRO  2007-04-02 10:46:58 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Thu Jul 24 2:26:14 CDT 2008.