have been loving JavaScript for about 5 years • I have been playing with Node.js for a little over 2 years now • Have written a slew of useful and not-so-useful modules for Node that are available through npm • One of the Node.js core committers
NeXT • When NeXT got acquired by Apple in 1996, Objective-C was adapted to create applications for Mac OS X • Has gained more popularity in the last few years because of iOS and the App Store HISTORY
was still new to Node.js • I was still in the mode where I try to do everything with Node • So naturally, I wanted to interact with iTunes using Node.js • The ultimate goal being to write a web app that would stream audio/video from an iTunes installation to a regular web browser using the <audio> and <video> tags
commands • Internally uses a child process for every command • Who wants to write English to create programs anyway? It Works! But... it’s not so great after all...
• Has the opportunity to massage into a nice JavaScript API • Should be a lot faster than using “node-applescript” to communicate with iTunes ATTEMPT #2: NODE-ITUNES gh://TooTallNate/node-iTunes
• Every exposed API from “iTunes.h” needs accompanying bridge code to expose it to JavaScript • Worse yet, it can only interact with one “iTunes object” at a time (a list of objects requires separate thread pool calls) NODE-ITUNES Too much code!!!!
a relatively young project, and not yet feature- complete • Already at the point where you can create full-fledged iOS or OS X applications using nothing but JavaScript and Node.js
its development • It is very usable, but there are some edge-case features that may or may not be show-stoppers for some people • C Blocks are only partially implemented • Needs some better handling of BridgeSupport files • Needs support for vararg functions, like “NSLog()”
up a big refactor for its v1.0 release. • NodObjC will have to be refactored a little to use node-ffi 1.0 • NodObjC’s API will likely remain unchanged after the refactor