As a new Objective-C developer (just fiddling around with it), I've been thinking of a project to get my hands dirty with. I've been using RabbitMQ for some time in my Ruby projects and really enjoy using it, and the AMQP protocol should be fairly simple to grok and work with.<div>
<br></div><div>Because of this, I'm currently looking to start building an Objective-C based client library as a pet project to get me actually working in the language.</div><div><br></div><div>I'm thinking of using the experimental C language client code to power the functionality and giving it a nice Obj-C DSL and handling everything through a NSNotificationCenter to create an evented interface (similar to the EventMachine Ruby AMQP library I'm used to working with). This is the goal for now, anyhow.</div>
<div><br></div><div>Being still very new to the language, and certainly being unfamiliar with the idiosyncrasies of developing libraries for Obj-C, I'm looking for input, support, and contributions for this endeavor from experts and enthusiasts with strong opinions and/or time.</div>
<div><br></div><div>Let me stress my lack of exposure to Obj-C (nor have I done anything significant in C/C++ or any strongly typed, compiled language in quite some time). This means I'm currently asking the following questions (as noob as they may be):</div>
<div><br></div><div>1. How do I integrate the C library into this Obj-C library?</div><div>2. How do I write a distributable, clean Obj-C library?</div><div>3. Is an NSNotificationCenter-based implementation a good approach for an evented AMQP library?</div>
<div>4. How do I mock objects in Obj-C (to not require an instance of RabbitMQ to be running for tests)?</div><div>5. Should I just write this from scratch, including XML parsing et al?</div><div>6. What does a good Obj-C DSL look like?</div>
<div>7. Why would I start with a significant library to get familiar with the language?</div><div><br></div><div>Fair warning, I'm a Ruby developer, mainly building web applications in Rails.</div><div><br></div><div>
Looking forward to hearing from you, and hope to get something worthwhile out of this.</div><div><br></div><div>Matt</div><div><br></div><div><br clear="all"><br>-- <br>Matt Todd<br>Highgroove Studios<br><a href="http://www.highgroove.com">www.highgroove.com</a><br>
cell: 404-314-2612<br>blog: <a href="http://maraby.org">maraby.org</a><br><br>Scout - Web Monitoring and Reporting Software<br><a href="http://www.scoutapp.com">www.scoutapp.com</a><br>
</div>