MacRuby

Last updated

MacRuby
MacRuby logo.png
Developer(s) Laurent Sansonetti (Apple Inc.)
Final release
0.12 [1] / June 11, 2012;9 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 is a proprietary graphical operating system developed and marketed by Apple Inc. 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 Chrome OS.

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

GNUstep

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.

Camino (web browser) Discontinued open-source web browser

Camino is a discontinued free, open source, GUI-based Web browser based on Mozilla's Gecko layout engine and specifically designed for the OS X operating system. In place of an XUL-based user interface used by most Mozilla-based applications, Camino used Mac-native Cocoa APIs. On May 30, 2013, the Camino Project announced that the browser is no longer being developed.

wxWidgets

wxWidgets is a widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. wxWidgets enables a program's GUI code to compile and run on several computer platforms with minimal or no code changes. A wide choice of compilers and other tools to use with wxWidgets facilitates development of sophisticated applications. wxWidgets supports a comprehensive range of popular operating systems and graphical libraries, both proprietary and free, and is widely deployed in prominent organizations.

WebObjects Java web application server and framework originally developed by NeXT Software

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

Mac OS X Tiger Fifth major release of Mac OS X

Mac OS X Tiger is the fifth 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. Some of the new features included 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 offered a number of features, such as fast file searching and improved graphics processing, that Microsoft had spent several years struggling to add to Windows with acceptable performance.

WebKit is a browser engine developed by Apple and primarily used in its Safari web browser, as well as all iOS web browsers. WebKit is also used by the BlackBerry Browser, PlayStation consoles beginning from the PS3, the Tizen mobile operating systems, and a browser included with the Amazon Kindle e-book reader. WebKit's C++ application programming interface (API) provides a set of classes to display Web content in windows, and implements browser features such as following links when clicked by the user, managing a back-forward list, and managing a history of pages recently visited.

Mac OS X Public Beta First publicly available version of Mac OS X

The 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 long-awaited "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 the forthcoming operating system 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.

In Apple's macOS operating system, Quartz is the Quartz 2D and Quartz Compositor part of the Core Graphics framework. Quartz includes both a 2D renderer in Core Graphics and the composition engine that sends instructions to the graphics card. Because of this vertical nature, Quartz is often synonymous with Core Graphics.

Dashboard (macOS)

Dashboard is a discontinued application for Apple Inc.'s macOS operating systems, used as a secondary desktop for hosting mini-applications known as widgets. These are intended to be simple applications that do not take time to launch. Dashboard applications supplied with macOS include a stock ticker, weather report, calculator and notepad; users can create or download their own.

Mac OS X Leopard Sixth major release of OS X

Mac OS X Leopard is the sixth major release of macOS, Apple's desktop and server operating system for Macintosh computers. Leopard was released on October 26, 2007 as the successor of Mac OS X 10.4 Tiger, and is available in two editions: a desktop version suitable for personal computers, and a server version, Mac OS X Server. It retailed for $129 for the desktop version and $499 for Server. Leopard was superseded by Snow Leopard in 2009. Leopard is the final version of macOS to support the PowerPC architecture as Snow Leopard functions solely on Intel based Macs.

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.

Mac OS X Snow Leopard 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.

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 runs on 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.

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. "Archived copy". Archived from the original on October 30, 2008. Retrieved October 25, 2008.{{cite web}}: CS1 maint: archived copy as title (link) MacRuby 0.2 described at MacOS Forge
  9. "Archived copy". Archived from the original on October 19, 2008. Retrieved October 25, 2008.{{cite web}}: CS1 maint: archived copy as title (link) MacRuby 0.3 announcement
  10. "Archived copy". Archived from the original on October 19, 2008. Retrieved October 25, 2008.{{cite web}}: CS1 maint: archived copy as title (link) HotCocoa Core Library page
  11. http://www.macruby.org/trac/browser/MacRuby/tags/0.3/sample-macruby/HotCocoa%5B%5D HotCocoa examples
  12. https://developer.apple.com/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!