MacRuby

Last updated

MacRuby
Developer(s) Laurent Sansonetti (Apple Inc.)
Final release
0.12 [1] / June 11, 2012;12 years ago (2012-06-11)
Repository
Written in C, C++, Objective-C
Operating system Mac OS X
Type Ruby programming language interpreter and compiler
License Ruby License
Website www.macruby.org

MacRuby is a discontinued implementation of the Ruby language that ran on the Objective-C runtime and CoreFoundation framework under development by Apple Inc. which "was supposed to replace RubyCocoa". [2] It targeted Ruby 1.9 and used the high performance LLVM compiler infrastructure starting with version 0.5. It supports both ahead-of-time and just-in-time compilation.

Contents

MacRuby supported Interface Builder and shipped with a core library called HotCocoa to simplify Cocoa programming. MacRuby was also used as an embedded scripting language for Objective-C applications. [3]

In May 2012, Laurent Sansonetti announced RubyMotion, a port of MacRuby for iOS, OS X and Android. [4]

Development on MacRuby effectively ended in late 2011, coinciding with the principal author's departure from Apple Inc. As of Jan 5 2015, The MacRuby project is no longer under active development; [5] MacRuby does not work on Mavericks, the team having shifted their focus to a commercial RubyMotion product for iOS and OS X.

History

MacRuby was originally called "ruby+objc" [6] and was developed by Laurent Sansonetti, who began work on it in late 2007. In March 2008, the first publicly available version, MacRuby 0.1, was announced on the official RubyTalk forum. [7] Version 0.2 was released in June 2008, and implemented Ruby strings, arrays and hashes as native Cocoa types. [8] In September 2008, MacRuby 0.3 was released [9] and included the HotCocoa library [10] as well as several HotCocoa example programs. [11] In October 2008, Apple created its first MacRuby page on its Developer Connection website. [12]

MacRuby 0.4 was released in March 2009, MacRuby 0.5, 0.6, 0.7 in January, May and October 2010 respectively. MacRuby 0.8, was released on December 13, 2010, [13] 0.9 on February 25, 2011 [14] [15] 0.10 on March 23, 2011, [16] 0.11 on October 17, 2011, [17] 0.12 on June 11, 2012. [1]

See also

Related Research Articles

macOS Operating system for Apple computers

macOS, originally Mac OS X, previously shortened as OS X, is an operating system developed and marketed by Apple since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and laptop computers, it is the second most widely used desktop OS, after Microsoft Windows and ahead of all Linux distributions, including ChromeOS.

Darwin is the core Unix-like operating system of macOS, iOS, watchOS, tvOS, iPadOS, audioOS, visionOS, and bridgeOS. It previously existed as an independent open-source operating system, first released by Apple Inc. in 2000. It is composed of code derived from NeXTSTEP, FreeBSD, other BSD operating systems, Mach, and other free software projects' code, as well as code developed by Apple.

Cocoa is Apple's native object-oriented application programming interface (API) for its desktop operating system macOS.

<span class="mw-page-title-main">GNUstep</span> Open source widget toolkit and application development tools

GNUstep is a free software implementation of the Cocoa Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.

Carbon was one of two primary C-based application programming interfaces (APIs) developed by Apple for the macOS operating system. Carbon provided a good degree of backward compatibility for programs that ran on Mac OS 8 and 9. Developers could use the Carbon APIs to port (“carbonize”) their “classic” Mac applications and software to the Mac OS X platform with little effort, compared to porting the app to the entirely different Cocoa system, which originated in OPENSTEP. With the release of macOS 10.15 Catalina, the Carbon API was officially discontinued and removed, leaving Cocoa as the sole primary API for developing macOS applications.

<span class="mw-page-title-main">WebObjects</span> Java web application server and framework originally developed by NeXT Software

WebObjects is a discontinued Java web application server and a server-based web application framework originally developed by NeXT Software, Inc.

<span class="mw-page-title-main">Xcode</span> IDE including tools for developing software for Apple platforms

Xcode is Apple's integrated development environment (IDE) for macOS, used to develop software for macOS, iOS, iPadOS, watchOS, tvOS, and visionOS. It was initially released in late 2003; the latest stable release is version 15, released on September 18, 2023, and is available free of charge via the Mac App Store and the Apple Developer website. Registered developers can also download preview releases and prior versions of the suite through the Apple Developer website. Xcode includes command-line tools that enable UNIX-style development via the Terminal app in macOS. They can also be downloaded and installed without the GUI.

<span class="mw-page-title-main">Mac OS X Tiger</span> Fifth major release of Mac OS X

Mac OS X Tiger is the 5th major release of macOS, Apple's desktop and server operating system for Mac computers. Tiger was released to the public on April 29, 2005 for US$129.95 as the successor to Mac OS X 10.3 Panther. Included features were a fast searching system called Spotlight, a new version of the Safari web browser, Dashboard, a new 'Unified' theme, and improved support for 64-bit addressing on Power Mac G5s. Mac OS X 10.4 Tiger also had a number of additional features that Microsoft had spent several years struggling to add to Windows with acceptable performance, such as fast file search and improved graphics processing.

WebKit is a browser engine primarily used in Apple's Safari web browser, as well as all web browsers on iOS and iPadOS. WebKit is also used by the PlayStation consoles starting with the PS3, the Tizen mobile operating systems, the Amazon Kindle e-book reader, Nintendo consoles starting with the 3DS Internet Browser, and the discontinued BlackBerry Browser.

<span class="mw-page-title-main">Mac OS X Public Beta</span> First publicly available version of Mac OS X

Mac OS X Public Beta was the first publicly available version of Apple Computer's Mac OS X operating system to feature the Aqua user interface. It was released to the public on September 13, 2000 for US$29.95. Its release was significant as the first publicly available evidence of Apple's ability to ship the "next-generation Mac operating system" after the Copland failure. It allowed software developers and early adopters to test a preview of the upcoming operating system and develop software for it before its final release. It is the only public version of Mac OS X to have a code name not based on a big cat until the release of 10.9 Mavericks in 2013. The US version had a build number of 1H39 and the international version had build number 2E14.

RubyCocoa is a macOS framework that provides a bridge between the Ruby and the Objective-C programming languages, allowing the user to manipulate Objective-C objects from Ruby, and vice versa. It makes it possible to write a Cocoa application completely in Ruby as well as to write an application that mixes Ruby and Objective-C code. An Apple project called MacRuby was under development to replace RubyCocoa in 2008. A proprietary spin-off called RubyMotion was subsequently released in 2012, available for iOS, macOS and Android.

Core Data is an object graph and persistence framework provided by Apple in the macOS and iOS operating systems. It was introduced in Mac OS X 10.4 Tiger and iOS with iPhone SDK 3.0. It allows data organized by the relational entity–attribute model to be serialized into XML, binary, or SQLite stores. The data can be manipulated using higher level objects representing entities and their relationships. Core Data manages the serialized version, providing object lifecycle and object graph management, including persistence. Core Data interfaces directly with SQLite, insulating the developer from the underlying SQL.

The Apple Developer Tools are a suite of software tools from Apple to aid in making software dynamic titles for the macOS and iOS platforms. The developer tools were formerly included on macOS install media, but are now exclusively distributed over the Internet. As of macOS 10.12, Xcode is available as a free download from the Mac App Store.

<span class="mw-page-title-main">Mac OS X Snow Leopard</span> Seventh major version of macOS, released in 2009

Mac OS X Snow Leopard is the seventh major release of macOS, Apple's desktop and server operating system for Macintosh computers.

Cocoa Touch is the application development environment for building software programs to run on iOS for the iPhone and iPod Touch, iPadOS for the iPad, watchOS for the Apple Watch, and tvOS for the Apple TV, from Apple Inc.

iOS SDK Software development kit for iOS

The iOS SDK, formerly the iPhone SDK, is a software development kit (SDK) developed by Apple Inc. The kit allows for the development of mobile apps on Apple's iOS and iPadOS operating systems.

RubyMotion is an IDE of the Ruby programming language that supports iOS, OS X and Android. RubyMotion is a commercial product created by Laurent Sansonetti for HipByte and is based on MacRuby for OS X. RubyMotion adapted and extended MacRuby to work on platforms beyond OS X.

Objective-C is a high-level general-purpose, object-oriented programming language that adds Smalltalk-style messaging to the C programming language. Originally developed by Brad Cox and Tom Love in the early 1980s, it was selected by NeXT for its NeXTSTEP operating system. Due to Apple macOS’s direct lineage from NeXTSTEP, Objective-C was the standard programming language used, supported, and promoted by Apple for developing macOS and iOS applications until the introduction of the Swift programming language in 2014.

References

  1. 1 2 http://lists.macosforge.org/pipermail/macruby-devel/2012-June/008842.html MacRuby 0.12 release note
  2. http://forums.pragprog.com/forums/76/topics/687#posts-4160 Archived April 2, 2010, at the Wayback Machine Discussion of MacRuby as a replacement for RubyCocoa
  3. http://www.infoq.com/news/2008/10/macruby-embedding Embedding MacRuby For Application Scripting
  4. RubyMotion - About. RubyMotion.com. Retrieved July 20, 2012.
  5. Readme.rdoc. Github.com. Retrieved February 12, 2015.
  6. http://chopine.be/lrz/diary/2007-12-07_ruby-objc-Part-1.html Archived December 13, 2007, at the Wayback Machine Developer Laurent Sansonetti first discusses "ruby+objc" (which became MacRuby) on his blog
  7. http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/294485 Ruby-Talk: MacRuby 0.1 announcement
  8. "MacRuby". Archived from the original on October 30, 2008. Retrieved October 25, 2008. MacRuby 0.2 described at MacOS Forge
  9. "MacRuby". Archived from the original on October 19, 2008. Retrieved October 25, 2008. MacRuby 0.3 announcement
  10. "HotCocoa – MacRuby – Trac". Archived from the original on October 19, 2008. Retrieved October 25, 2008. HotCocoa Core Library page
  11. http://www.macruby.org/trac/browser/MacRuby/tags/0.3/sample-macruby/HotCocoa%5B%5D HotCocoa examples
  12. https://web.archive.org/web/20100908131627/http://developer.apple.com:80/mac/articles/scriptingautomation/cocoaappswithmacruby.html MacRuby page at Apple Developer Connection
  13. MacRuby 0.8 announcement
  14. http://lists.macosforge.org/pipermail/macruby-devel/2011-February/007227.html MacRuby 0.9 release notes
  15. http://lists.macosforge.org/pipermail/macruby-devel/2011-February/007228.html MacRuby 0.9
  16. http://lists.macosforge.org/pipermail/macruby-devel/2011-March/007389.html 0.10 - update
  17. http://lists.macosforge.org/pipermail/macruby-devel/2011-October/008168.html brace yourselves, 0.11 is coming!