RubyCocoa

[2] A proprietary spin-off called RubyMotion was subsequently released in 2012, available for iOS, macOS and Android.

[1] RubyCocoa was started in 2001 by Hisakuni Fujimoto when he implemented a Ruby extension module to wrap NSObject and NSClassFromString function.

In 2006 the committers list was first joined by a developer from Apple, Laurent Sansonetti, and then a RubyCocoa presentation was made during WWDC.

In order to bridge the relevant C parts of an Objective-C framework, such as C structures, functions, enumerations, constants and more, RubyCocoa relies on the BridgeSupport project.

RubyCocoa will interpret at runtime the BridgeSupport files (using the very fast libXML2's xmlTextReader) and accordingly handle their content.

It will for instance construct the Ruby proxy classes for the C structures and also create the functions.

RubyCocoa allows you to pass Ruby Proc objects as function pointer arguments.