{"id":1997,"date":"2013-07-04T05:44:56","date_gmt":"2013-07-03T19:44:56","guid":{"rendered":"http:\/\/www.rjmprogramming.com.au\/wordpress\/?p=1997"},"modified":"2020-04-17T19:00:04","modified_gmt":"2020-04-17T09:00:04","slug":"xcode-ruby-desktop-application-primer-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-ruby-desktop-application-primer-tutorial\/","title":{"rendered":"Xcode Ruby Desktop Application Primer Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=_blank href=\"http:\/\/www.rjmprogramming.com.au\/RubyOnRails\/XCode\/DesktopApp\/\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"Xcode Ruby Desktop Application Primer Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/RubyOnRails\/XCode\/DesktopApp\/RubyDesktopApplication.jpg\" title=\"Xcode Ruby Desktop Application Primer Tutorial\"  style=\"float:left;\" \/><\/a><p class=\"wp-caption-text\">Xcode Ruby Desktop Application Primer Tutorial<\/p><\/div>\n<p>Have you heard of Ruby?   Maybe you know it as Ruby Gems or Ruby on Rails?   It is a great object-oriented programming language for both desktop and web usage.  Xcode on Mac OS X Leopard supports Cocoa-Ruby Applications, and this tutorial shows the creation of a simple Ruby Desktop Application using the Xcode Cocoa framework.<\/p>\n<blockquote><p>Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. It was also influenced by Eiffel and Lisp.[8] Ruby was first designed and developed in the mid-1990s by Yukihiro &#8220;Matz&#8221; Matsumoto in Japan.<\/p>\n<p>Ruby supports multiple programming paradigms, including functional, object oriented and imperative. It also has a dynamic type system and automatic memory management; it is therefore similar in varying respects to Smalltalk, Python, Perl, Lisp, Dylan, and CLU.<\/p>\n<p>The standard 1.8.7 implementation is written in C, as a single-pass interpreted language. Starting with the 1.9 branch, and continuing with the current 2.0 branch, YARV has been used, and will eventually supersede the slower Ruby MRI. The language specifications for Ruby were developed by the Open Standards Promotion Center of the Information-Technology Promotion Agency (a Japanese government agency) for submission to the Japanese Industrial Standards Committee and then to the International Organization for Standardization. It was accepted as a Japanese Industrial Standard (JIS X 3017) in 2011[9] and an international standard (ISO\/IEC 30170) in 2012.[10] As of 2010, there are a number of complete or upcoming alternative implementations of Ruby, including YARV, JRuby, Rubinius, IronRuby, MacRuby (and its iOS counterpart, RubyMotion), mruby, HotRuby, Topaz and Opal. Each takes a different approach, with IronRuby, JRuby, MacRuby and Rubinius providing just-in-time compilation and MacRuby and mruby also providing ahead-of-time compilation.<\/p><\/blockquote>\n<p>My experience with Ruby is limited to a great deal of curiosity, and I can&#8217;t put my finger on whether it is growing fast in popularity or not, but imagine it is, because there are Mobile App programming <a target=_blank title='Ruby Mobile App' href='http:\/\/www.reverbnation.com\/omgruby\/app'>possibilities<\/a>.<\/p>\n<p>In this primer  <a target=_blank title='click picture' href='http:\/\/www.rjmprogramming.com.au\/RubyOnRails\/XCode\/DesktopApp\/'>tutorial<\/a> we see how Xcode can supervise a Cocoa-Ruby Desktop Application project to access the Interface Builder to create a GUI for a Mac OS X environment.<\/p>\n<p>Link to Ruby more information &#8230; <a target=_blank href='http:\/\/en.wikipedia.org\/wiki\/Ruby_(programming_language)' title='Link to Ruby more information'>via Wikipedia, where quote above came from.<\/a>.<br \/>\nLink to Ruby download website at <a target=_blank title='Ruby download website' href='http:\/\/rubygems.org\/pages\/download'>RubyGems.org<\/a>.<br \/>\nA word of <a target=_blank title='... about town' href='https:\/\/www.youtube.com\/watch?v=TprfUdSAHgM'>warning<\/a> about geographical aspects to Ruby&#8217;s usage which, if not heeded, can have interesting <a target=_blank title='... but sooooo cuuuuuuute' href='https:\/\/www.youtube.com\/watch?v=Ww-XPbsAA7U'>results<\/a>?!\n<\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d1997' onclick='var dv=document.getElementById(\"d1997\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"http:\/\/www.rjmprogramming.com.au\/wordpress\/?s=Ruby#content\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d1997' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Have you heard of Ruby? Maybe you know it as Ruby Gems or Ruby on Rails? It is a great object-oriented programming language for both desktop and web usage. Xcode on Mac OS X Leopard supports Cocoa-Ruby Applications, and this &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/xcode-ruby-desktop-application-primer-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,17,37,40],"tags":[96,319,997,1077,1319,1473],"class_list":["post-1997","post","type-post","status-publish","format-standard","hentry","category-elearning","category-gui","category-tutorials","category-xcode","tag-application","tag-desktop","tag-programming","tag-ruby","tag-tutorial","tag-xcode"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/1997"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=1997"}],"version-history":[{"count":1,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/1997\/revisions"}],"predecessor-version":[{"id":48679,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/1997\/revisions\/48679"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=1997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=1997"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=1997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}