<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AdaRuby &#187; GUI</title>
	<atom:link href="http://www.adaruby.com/category/gui/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adaruby.com</link>
	<description>Rich Dynamic Applications with Ruby on Rails</description>
	<lastBuildDate>Thu, 04 Aug 2011 04:42:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Monkeybars: Swing Development for (J)Ruby</title>
		<link>http://www.adaruby.com/2008/01/29/monkeybars-swing-development-for-jruby/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=monkeybars-swing-development-for-jruby</link>
		<comments>http://www.adaruby.com/2008/01/29/monkeybars-swing-development-for-jruby/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 16:41:03 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[GUI]]></category>
		<category><![CDATA[JRuby]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[288]]></category>
		<category><![CDATA[291]]></category>
		<category><![CDATA[331]]></category>
		<category><![CDATA[359]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/01/29/monkeybars-swing-development-for-jruby/</guid>
		<description><![CDATA[Monkeybars is a library that enables you to make use of Swing from JRuby. Monkeybars aims to allow you to continue using the GUI editing tools you are used to but makes it easy to write all your application logic in pure Ruby. In fact, with most editors you&#8217;ll never even have to look at [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F29%2Fmonkeybars-swing-development-for-jruby%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F29%2Fmonkeybars-swing-development-for-jruby%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Monkeybars: Swing Development for (J)Ruby" alt=" Monkeybars: Swing Development for (J)Ruby" /><br />
			</a>
		</div>
<p><a href="http://monkeybars.rubyforge.org/index.html" rel="nofollow" ><strong>Monkeybars</strong></a> is a library that enables you to make use of Swing from <a href="http://jruby.codehaus.org/" rel="nofollow" >JRuby</a>.</p>
<p><a href="http://monkeybars.rubyforge.org/index.html" rel="nofollow" >Monkeybars</a> aims to allow you to continue using the GUI editing tools you are used to but makes it easy to write all your application logic in pure Ruby. In fact, with most editors you&#8217;ll never even have to look at Java code.</p>
<blockquote><p>Monkeybars was created from a pretty specific need. <a href="http://www.risingtidesoftware.com/" rel="nofollow" >Rising Tide Software</a> company was working on a large Swing application and wanted to be able to easily write all the logic in Ruby via JRuby. The  initial attempts laid the groundwork for what was to become Monkeybars.  Monkeybars has an emphasis on using normal Swing development tools (using <a href="http://www.netbeans.org/" rel="nofollow" >Netbeans 6</a>) and especially the ability to sit down with a client and use a visual designer to create the Swing layouts.</p>
<p>To this end, Monkeybars is designed to reach in and integrate itself with a Java class without any special consideration on the Java side. This means Monkeybars should work with Java code emitted from any Swing form designer, we don&#8217;t parse the code directly so there is no issue with code formatting or code conventions used inside the class.</p>
<p>Want to set up mouse event listeners on all elements in your form?</p>
<p><code>add_listener :type =&gt; :mouse</code></p>
<p>Or how about declaring that only the components okButton and cancelButton should get mouse events?</p>
<p><code>add_listener :type =&gt; :mouse, :components =&gt; ["okButton", "cancelButton"]</code></p></blockquote>
<p><strong>Testing</strong></p>
<blockquote><p>A second important consideration for us was testability. Our early attempts to create a Ruby interface to Swing left us with brittle, difficult to test code. Therefore in Monkeybars we implemented a stark separation between controller and view. All* communication between the two is accomplished via a model which is just a plain Ruby class. This keeps your controllers much more testable. The views also are typically smaller and much easier to test, only being concerned with their methods to convert data from and back into the model.</p></blockquote>
<p align="left">For further details visit: <a href="http://monkeybars.rubyforge.org/index.html" rel="nofollow" >Monkeybars project page</a></p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/01/29/monkeybars-swing-development-for-jruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Turbocharge Ruby on Rails with ActiveScaffold</title>
		<link>http://www.adaruby.com/2008/01/01/turbocharge-ruby-on-rails-with-activescaffold/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=turbocharge-ruby-on-rails-with-activescaffold</link>
		<comments>http://www.adaruby.com/2008/01/01/turbocharge-ruby-on-rails-with-activescaffold/#comments</comments>
		<pubDate>Tue, 01 Jan 2008 12:33:42 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[296]]></category>
		<category><![CDATA[303]]></category>
		<category><![CDATA[304]]></category>
		<category><![CDATA[339]]></category>
		<category><![CDATA[351]]></category>
		<category><![CDATA[352]]></category>

		<guid isPermaLink="false">http://adaruby.com/2008/01/01/turbocharge-ruby-on-rails-with-activescaffold/</guid>
		<description><![CDATA[ActiveScaffold is a plugin for Ruby on Rails (also known as Rails) that provides dynamic model-based view generation. Instead of having to create pages by hand that display your models, ActiveScaffold will introspect your ActiveRecord models and dynamically generate a CRUD (create, read, update, delete) user interface for managing those objects. Installing ActiveScaffold As ActiveScaffold [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F01%2Fturbocharge-ruby-on-rails-with-activescaffold%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F01%2F01%2Fturbocharge-ruby-on-rails-with-activescaffold%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Turbocharge Ruby on Rails with ActiveScaffold" alt=" Turbocharge Ruby on Rails with ActiveScaffold" /><br />
			</a>
		</div>
<p><a href="http://activescaffold.com/" rel="nofollow" >ActiveScaffold</a> is a plugin for Ruby on Rails (also known as Rails) that provides         dynamic model-based view generation. Instead of having to create pages by hand         that display your models, ActiveScaffold will introspect your ActiveRecord models         and dynamically generate a CRUD (create, read, update, delete) user interface for         managing those objects.</p>
<p><strong>Installing ActiveScaffold</strong></p>
<blockquote><p> As ActiveScaffold is a Rails plugin, you can install it from a remote Web or         Subversion server. The command below will check out the ActiveScaffold plugin from         the ActiveScaffold Subversion server.</p>
<p><a title="listing1" name="listing1"></a>Install the latest version of the plugin:</p>
<pre>script/plugin install http://activescaffold.googlecode.com/svn/tags/active_scaffold</pre>
<p>Add this to your layout:</p>
<pre>&lt;%= javascript_include_tag :defaults %&gt;
&lt;%= active_scaffold_includes %&gt;</pre>
<p>Add this to your controller:</p>
<pre>active_scaffold :&lt;your_model_name&gt;</pre>
</blockquote>
<blockquote><p>for example:</p></blockquote>
<blockquote>
<pre>class UsersController &lt; ApplicationController
  active_scaffold :user
end</pre>
</blockquote>
<blockquote><p> That’s it! Your first ActiveScaffold is up and running.</p></blockquote>
<p><strong>The Model</strong></p>
<blockquote><p>Most modern Web application frameworks are based on the MVC (model, view,         controller) pattern, and Rails is no different. The model represents the data         stored in the database with each table having a corresponding         <code>ActiveRecord</code> model class in Ruby.</p>
<pre>class User &lt; ActiveRecord::Base
   belongs_to <img src='http://www.adaruby.com/wp-includes/images/smilies/icon_surprised.gif' alt="icon surprised Turbocharge Ruby on Rails with ActiveScaffold" class='wp-smiley' title="Turbocharge Ruby on Rails with ActiveScaffold" /> rganization
end
class Organization &lt; ActiveRecord::Base
  has_many :projects
  has_many :users
end
class Project &lt; ActiveRecord::Base
  belongs_to <img src='http://www.adaruby.com/wp-includes/images/smilies/icon_surprised.gif' alt="icon surprised Turbocharge Ruby on Rails with ActiveScaffold" class='wp-smiley' title="Turbocharge Ruby on Rails with ActiveScaffold" /> rganization
  has_many :projects_users
  has_many :administrators, :through =&gt; :projects_users, :source =&gt; :user,
           :conditions =&gt; "projects_users.role_type = 3"
  has_many :managers, :through =&gt; :projects_users, :source =&gt; :user,
           :conditions =&gt; "projects_users.role_type = 2"
  has_many :workers, :through =&gt; :projects_users, :source =&gt; :user,
           :conditions =&gt; "projects_users.role_type = 1"
end
class ProjectsUser &lt; ActiveRecord::Base
  belongs_to :project
  belongs_to :user
end</pre>
</blockquote>
<blockquote></blockquote>
<p>Visit <a href="http://www.activescaffold.com/" rel="nofollow" >ActiveScaffold home page</a> to find out more!</p>
<p><em>P.S.:</em> Happy New Year from AdaRuby.com crew (Hendy &amp; Eka)! <img src='http://www.adaruby.com/wp-includes/images/smilies/icon_biggrin.gif' alt="icon biggrin Turbocharge Ruby on Rails with ActiveScaffold" class='wp-smiley' title="Turbocharge Ruby on Rails with ActiveScaffold" /> </p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2008/01/01/turbocharge-ruby-on-rails-with-activescaffold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby in Leopard, the latest release of Mac OS X</title>
		<link>http://www.adaruby.com/2007/12/13/ruby-in-leopard-the-latest-release-of-mac-os-x/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ruby-in-leopard-the-latest-release-of-mac-os-x</link>
		<comments>http://www.adaruby.com/2007/12/13/ruby-in-leopard-the-latest-release-of-mac-os-x/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 11:56:57 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Apple Mac OS X]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://adaruby.com/2007/12/13/ruby-in-leopard-the-latest-release-of-mac-os-x/</guid>
		<description><![CDATA[Now that Leopard, the latest release of Mac OS X, is available to everyone, you may wonder what has changed from the Ruby developer&#8217;s perspective. Ruby Ruby in Leopard was framework&#8217;ized. It is now available in /System/Library/Frameworks/Ruby.framework. Compatibility with the previous directory layout is preserved, /usr/bin/ruby and /usr/lib/ruby Let see the example symbolic links that [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2007%2F12%2F13%2Fruby-in-leopard-the-latest-release-of-mac-os-x%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2007%2F12%2F13%2Fruby-in-leopard-the-latest-release-of-mac-os-x%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Ruby in Leopard, the latest release of Mac OS X" alt=" Ruby in Leopard, the latest release of Mac OS X" /><br />
			</a>
		</div>
<p>Now that Leopard, the latest release of Mac OS X, is available to everyone, you may wonder what has changed from the Ruby developer&#8217;s perspective.</p>
<blockquote><p><strong>Ruby</strong></p></blockquote>
<blockquote><p> Ruby in Leopard was framework&#8217;ized. It is now available in <tt>/System/Library/Frameworks/Ruby.framework</tt>. Compatibility with the previous directory layout is preserved, <tt>/usr/bin/ruby</tt> and <tt>/usr/lib/ruby</tt></p></blockquote>
<p>Let see the example symbolic links that point inside the framework:</p>
<blockquote>
<pre>$ readlink /usr/bin/ruby
../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/bin/ruby
$ readlink /usr/lib/ruby
../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/lib/ruby
$ readlink /usr/lib/libruby.1.dylib
../../System/Library/Frameworks/Ruby.framework/Versions/Current/usr/lib/libruby.1.dylib</pre>
</blockquote>
<blockquote><p><strong>IRB</strong></p></blockquote>
<blockquote><p> Now that <tt>readline</tt> support is available, IRB has command-line editing and history support.</p>
<p>IRB was modified to look at <tt>/etc/irbrc</tt> as the last possible place for a configuration file. Leopard ships an <tt>/etc/irbrc</tt> file that provides a default configuration for all IRB sessions, that requires RubyGems, activates auto-completion, switches to the simple prompt, and sets up a permanent history facility.</p>
<p>If you have a custom IRB configuration file in your home directory, or supply one to IRB from the command line, <tt>/etc/irbrc</tt> will be ignored. IRB currently doesn&#8217;t support the load of multiple configuration files.</p></blockquote>
<blockquote><p><strong>GEMS</strong></p></blockquote>
<blockquote><p>RubyGems in Leopard uses two gems repositories:</p></blockquote>
<blockquote>
<pre>$ ruby -r rubygems -e "p Gem.path"
["/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8", "/Library/Ruby/Gems/1.8"]</pre>
<p>In order to add a new gem to the <tt>/System repository</tt>, you will have to explicitly point the <tt>GEM_HOME</tt> environment variable to it. Please note that you can uninstall or cleanup old gems that are in the <tt>/System</tt> repository. The <tt>gem_server</tt> utility is not part of the client distribution of Leopard. It is only provided in the server.</p>
<p><strong>DTrace</strong></p>
<p>DTrace static probes were added in the interpreter engine. We actually took the amazing patches that the Joyent guys wrote for Solaris, and modified the code a little bit to make it work under Leopard and to address some small problems.</p>
<p><strong>RubyCocoa and Bridge Support</strong></p>
<p>This is an Objective-C to Ruby bridge, is now delivered with the system, in <tt>/System/Library/Frameworks/RubyCocoa.framework</tt>. The version that we ship is actually 99%-based on the public 0.12.0 release, module some Leopard-only specific changes, that will soon be pushed upstream.</p>
<p>Both RubyCocoa and the BridgeSupport files come with any Leopard installation. You can find some examples in <tt>/Developer/Examples/Ruby/RubyCocoa</tt>.</p></blockquote>
<p>For more details visit <a href="http://trac.macosforge.org" rel="nofollow" >Mac OS Forge</a>.<a href="http://trac.macosforge.org"><br />
</a></p>
<blockquote></blockquote>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2007/12/13/ruby-in-leopard-the-latest-release-of-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby Programming on Mac OS X Leopard</title>
		<link>http://www.adaruby.com/2007/11/29/ruby-programming-on-mac-os-x-leopard/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ruby-programming-on-mac-os-x-leopard</link>
		<comments>http://www.adaruby.com/2007/11/29/ruby-programming-on-mac-os-x-leopard/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 11:28:42 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Cool]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://adaruby.com/2007/11/29/ruby-programming-on-mac-os-x-leopard/</guid>
		<description><![CDATA[Ruby is one the most popular scripting languages that, with Mac OS X version 10.5 (Leopard), is becoming even more significant alternative for software development on Mac OS X, especially with additional support for bridges between the scripting languages and Cocoa and Open Scripting Architecture (OSA). Ruby and Python are interpreted object-oriented scripting languages. As [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2007%2F11%2F29%2Fruby-programming-on-mac-os-x-leopard%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2007%2F11%2F29%2Fruby-programming-on-mac-os-x-leopard%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Ruby Programming on Mac OS X Leopard" alt=" Ruby Programming on Mac OS X Leopard" /><br />
			</a>
		</div>
<p><a href="http://www.ruby-lang.org/" rel="nofollow" >Ruby</a> is one the most popular scripting languages that, with <a href="http://www.apple.com/macosx/" rel="nofollow" >Mac OS X</a> version 10.5 (Leopard), is becoming even more significant alternative for software development on Mac OS X, especially with additional support for bridges between the scripting languages and <a href="http://developer.apple.com/cocoa/" rel="nofollow" >Cocoa</a> and <a href="http://developer.apple.com/documentation/AppleScript/Conceptual/AppleScriptX/Concepts/osa.html" rel="nofollow" >Open Scripting Architecture (OSA)</a>.</p>
<blockquote><p>Ruby and Python are interpreted object-oriented scripting languages. As interpreted languages, you can change and run code immediately, without having to wait for the code to compile. Python and Ruby also have all the features one would expect to find in dynamic object-oriented programming languages, such as inheritance, encapsulation, introspection, and subclassing. The syntax of both languages is simple, compact, and consistent, and supports both regular expressions and sophisticated string manipulations. Memory management is built into both languages; garbage collectors automatically free memory occupied by unneeded objects. With both Python and Ruby you can call operating system routines directly. They offer ways to extend their native capabilities, including C-language interfaces.</p></blockquote>
<p>The Standard Ruby Package included by Mac OS X:</p>
<blockquote><p>On Mac OS X Ruby includes more than the language interpreter and documentation and testing utilities. A standard installation offers the following Ruby-related services, frameworks, and protocols:</p>
<ul>
<li>RubyGems—A package manager for Ruby</li>
<li>rake—A make-like utility for Ruby scripts</li>
<li>Rails (or Ruby on Rails)—A framework for creating database-backed web applications with designs conforming to the Model-View-Controller pattern<br />
For more information on Ruby on Rails, go to <a href="http://developer.apple.com/tools/rubyonrails.html" rel="nofollow" >http://developer.apple.com/tools/rubyonrails.html</a>.</li>
<li>Mongrel—A fast HTTP library and server used for hosting Ruby web applications</li>
<li>Capistrano—A framework and utility for executing commands in parallel on multiple remote machines, via SSH, primarily to expedite the deployment of web applications</li>
<li>Ferret—A search engine</li>
<li>OpenID—A service that provides OpenID identification to Ruby programs</li>
<li>sqlite3-ruby—A module that enables Ruby scripts to interact with a SQLite3 database</li>
<li>libxml-ruby—A module for reading and writing XML documents using Ruby</li>
<li>dnssd—Ruby interface for DNS Service Discovery (that is, Bonjour)</li>
<li>net-ssh and net-sftp—Pure Ruby implementations of the SSH and SFTP client protocols</li>
</ul>
</blockquote>
<p>For further details visit <a href="http://developer.apple.com/DOCUMENTATION/Cocoa/Conceptual/RubyPythonCocoa/index.html" rel="nofollow" >developer page at Apple</a>.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2007/11/29/ruby-programming-on-mac-os-x-leopard/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Shoes, the Ruby Desktop GUI Toolkit</title>
		<link>http://www.adaruby.com/2007/11/10/shoes-the-ruby-desktop-gui-toolkit/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=shoes-the-ruby-desktop-gui-toolkit</link>
		<comments>http://www.adaruby.com/2007/11/10/shoes-the-ruby-desktop-gui-toolkit/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 11:47:13 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Beginner]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://adaruby.com/2007/11/10/shoes-the-ruby-desktop-gui-toolkit/</guid>
		<description><![CDATA[If you simply want to write simple GUI desktop applications, Ruby with Shoes is a quick way to do it. Example session in my computer: The code for that Timer GUI application is taken from the Shoes samples, which is concise enough for me to put it here: Shoes.app :height =&#62; 150, :width =&#62; 250 do background [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2007%2F11%2F10%2Fshoes-the-ruby-desktop-gui-toolkit%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2007%2F11%2F10%2Fshoes-the-ruby-desktop-gui-toolkit%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Shoes, the Ruby Desktop GUI Toolkit" alt=" Shoes, the Ruby Desktop GUI Toolkit" /><br />
			</a>
		</div>
<p>If you simply want to write simple GUI desktop applications, Ruby with <a href="http://code.whytheluckystiff.net/shoes/" rel="nofollow" >Shoes</a> is a quick way to do it.</p>
<p>Example session in my computer:</p>
<p><img src="http://wiki.buatruby.com/images/Shoes01.png" height="535" width="736" title="Shoes, the Ruby Desktop GUI Toolkit" alt="Shoes01 Shoes, the Ruby Desktop GUI Toolkit" /></p>
<p>The code for that Timer GUI application is taken from the Shoes samples, which is concise enough for me to put it here:</p>
<pre>Shoes.app :height =&gt; 150, :width =&gt; 250 do
  background rgb(240, 250, 208)
  stack :margin =&gt; 10 do
    button "Start" do
      @time = Time.now
      @label.replace "Stop watch started at #@time"
    end
    button "Stop" do
      @label.replace "Stopped, ", strong("#{Time.now - @time}"), " seconds elapsed."
    end
    @label = para "Press ", strong("start"), " to begin timing."
  end
end</pre>
<p>To install Shoes on Ubuntu, it needs some dependencies which fortunately are very easy to install:</p>
<pre>sudo aptitude install libungif4g libvlc0</pre>
<p>More detailed <a href="http://code.whytheluckystiff.net/shoes/wiki/DownloadShoes" rel="nofollow" >download and installation instructions</a> are available on whytheluckystiff&#8217;s site.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2007/11/10/shoes-the-ruby-desktop-gui-toolkit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!</title>
		<link>http://www.adaruby.com/2007/09/19/ruby-on-rails-developers-ide-netbeans-6-beta-1-is-out/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ruby-on-rails-developers-ide-netbeans-6-beta-1-is-out</link>
		<comments>http://www.adaruby.com/2007/09/19/ruby-on-rails-developers-ide-netbeans-6-beta-1-is-out/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 12:00:29 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[Beginner]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[Friends]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[JRuby]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Opinions]]></category>
		<category><![CDATA[Praises]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://adaruby.com/2007/09/19/ruby-on-rails-developers-ide-netbeans-6-beta-1-is-out/</guid>
		<description><![CDATA[NetBeans 6 Beta 1 is here!! Let&#8217;s rock the boat It&#8217;s the first significant NetBeans event in probably a year NetBeans isn&#8217;t only for Java geeks anymore, it has tons of Ruby and Ruby on Rails support now! What surprises me (and delights me!) about this release is that, not like previous NetBeans 6 milestones [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2007%2F09%2F19%2Fruby-on-rails-developers-ide-netbeans-6-beta-1-is-out%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2007%2F09%2F19%2Fruby-on-rails-developers-ide-netbeans-6-beta-1-is-out%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" alt=" Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /><br />
			</a>
		</div>
<p><a href="http://www.netbeans.org/community/releases/60/" rel="nofollow"  title="NetBeans 6 Beta 1 Ruby on Rails IDE"><img src="http://www.adaruby.com/wp-content/uploads/2007/09/netbeans6-only.jpg" alt="netbeans6 only Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /></a></p>
<p><a href="http://www.netbeans.org/community/releases/60/" rel="nofollow" >NetBeans 6 Beta 1</a> is here!!</p>
<p>Let&#8217;s rock the boat <img src='http://www.adaruby.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" class='wp-smiley' title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /> </p>
<p>It&#8217;s the first significant NetBeans event in probably a year <img src='http://www.adaruby.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" class='wp-smiley' title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /> </p>
<p>NetBeans isn&#8217;t <em>only</em> for Java geeks anymore, it has <a href="http://wiki.netbeans.org/wiki/view/NewAndNoteWorthy" rel="nofollow" >tons of Ruby and Ruby on Rails support</a> now!</p>
<p>What surprises me (and delights me!) about this release is that, not like previous NetBeans 6 milestones where NetBeans-Java is bundled with Ruby, they actually make <a href="http://bits.netbeans.org/download/6_0/beta1/latest/" rel="nofollow" >a special Ruby-only version</a>.</p>
<p>The Ruby-only download is mere 19 MB in size!</p>
<p>That&#8217;s quite &#8220;cheap&#8221; (in terms of bandwidth usage). I&#8217;d expect the Ruby version to be less memory bloat and should have better performance as well, than the mammoth 172 MB one <img src='http://www.adaruby.com/wp-includes/images/smilies/icon_biggrin.gif' alt="icon biggrin Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" class='wp-smiley' title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /> </p>
<p>I have been using NetBeans 6 for several months now, starting from the first NetBeans+Ruby version which is NetBeans 6 Milestone 7, and I can say I&#8217;m very impressed.</p>
<p>I&#8217;m still downloading Beta 1 and haven&#8217;t yet installed Beta 1 at the time of this writing, but I can be sure it&#8217;s gonna be event better than the last NetBeans 6 Milestone 10.</p>
<p>Don&#8217;t let the &#8220;Milestone&#8221; or &#8220;Beta&#8221; name put you off, it&#8217;s already usable in more ways than most software.</p>
<p>Check out why George Cook says <a href="http://lifeonrails.org/2007/8/30/netbeans-the-best-ruby-on-rails-ide" rel="nofollow"  title="Netbeans THE best ruby on rails IDE">Netbeans THE best ruby on rails IDE</a>:</p>
<blockquote><p>&#8230; I was gonna write a blow for blow comparison of netbeans against radrails, but I really see no point. I figured it’s best just to tell you why netbeans’ rails support is so creamingly good, but so you know I have evaluated both and textmate, firstly – here’s some points about the other 2. &#8230;</p>
<p>&#8230; I looked about and by chance came across an article that said that ruby on rails support was being added to netbeans 6. I hunted around like a crack addict and found the nightly builds to try out.</p>
<p><strong>I was extremely impressed.</strong></p>
<p>Netbeans is fucking fab, it proper rocks. I’ve been on netbeans 6 since milestone 8, which is about 1,000 builds now (they’re constantly working on it, and updating it). I’ve been with it through broken indentation, broken code completion, broken everything, null pointers, new features, more efficiency, the memory leak sorted out. I’ve watched it evolve before my eyes: I was installing new builds twice a day – Now it’s so stable and so good that I haven’t updated my build in a month (I might later on <img src='http://www.adaruby.com/wp-includes/images/smilies/icon_wink.gif' alt="icon wink Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" class='wp-smiley' title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /> .<br />
<strong>Code completion that works – really really works:</strong><br />
<strong>Code completion is activated with CTRL + SPACE – once activated you can type, or select from the list:</strong><br />
<img src="http://lifeonrails.org/images/netbeans/1.png" alt="1 Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /><br />
<strong>And here are what the diffs look like in the files themselves:</strong><br />
<img src="http://lifeonrails.org/images/netbeans/51.png" alt="51 Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /><br />
<strong>In line documentation when you need it, where you need it:</strong><br />
<strong>Just press CTRL+SPACE on a keyword and you get the docs.</strong><br />
<img src="http://lifeonrails.org/images/netbeans/16.png" alt="16 Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /><br />
<strong>Click on rescue, or move the caret over it with the cursor keys:</strong><br />
<img src="http://lifeonrails.org/images/netbeans/25.png" alt="25 Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /><br />
<strong>code folding:</strong><br />
<strong>You use the + and – buttons to fold code</strong><br />
<img src="http://lifeonrails.org/images/netbeans/53.png" alt="53 Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /></p></blockquote>
<p>(Read his article for more info. He has a very comprehensive review of many NetBeans-Ruby features!)</p>
<p>Michael Urban has his own opinion in <a href="http://www.javalobby.org/java/forums/t97125.html" rel="nofollow" >Move Over Eclipse. NetBeans 6 Rocks!</a>:</p>
<blockquote><p>Ok, I admit the title is a bit inflammatory to Eclipse fans. But after working with NetBeans 6 over the last week, I have to say I am very impressed. This is not simply a minor upgrade, as is so common in IDEs these days even when they are given a new major version number. Quite the contrary, NetBeans 6 is a major new release, and a major improvement over NetBeans 5.5.</p></blockquote>
<p>A roundup of <a href="http://www.netbeans.org/community/releases/60/" rel="nofollow" >NetBeans Ruby-specific features in this release</a>:</p>
<blockquote><p><img src="http://www.netbeans.org/images/screenshots/6.0/ruby-project.png" alt="ruby project Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /></p>
<p><strong>Ruby/JRuby/Ruby on Rails Support</strong></p>
<ul>
<li><strong>Project Support.</strong> Quickly create Ruby projects with logical structure, run Ruby files, configure other Ruby interpreters (such as JRuby or native Ruby), locate and install Ruby Gems through a graphical wizard, create and execute unit tests, run RSpec specification files, jump between a Ruby file and its corresponding unit test or spec file, and so on. <a href="http://www.netbeans.org/download/flash/jruby_on_rails/jruby_on_rails.html" rel="nofollow" >View Demo.</a></li>
<li><strong>Advanced Ruby Editing.</strong> Advanced code editing for Ruby, using semantic information about the program to offer code completion, showing available classes and methods for the current expression, along with the associated RDoc documentation. The syntax highlighting is enhanced with semantic information, such that unused local variables and parameters are shown in gray. There are many other editing features, including Goto Declaration for jumping to the declaration point of a class or method reference. <a href="http://www.netbeans.org/download/flash/jruby_editing/jruby_editing.html" rel="nofollow" >View Demo.</a></li>
<li><strong>Ruby Debugger. </strong> Single-step or run through Ruby code, set breakpoints, look at local variables, navigate the call stack, switch threads, and evaluate expressions by just hovering the mouse over the variable in the Editor. There is also support for the &#8220;fast debug&#8221; extension.</li>
<li><strong>Ruby on Rails Support.</strong> Generate Rails projects, or generate code through the Rails code generator graphical wizard, which offers documentation on the plugins within the wizard itself. Third party generators are also supported. Furthermore, there are actions for jumping quickly between a Rails action and its corresponding View, or warping to the browser for the URL most relevant to the file you are editing. Database migrations and Rake targets are supported as well. Finally, RHTML files are highlighted (along with improved NetBeans 6.0 support for related files, such as JavaScript and CSS). <a href="http://www.netbeans.org/kb/55/flickr-on-rails-flash.html" rel="nofollow" >View Demo.</a></li>
</ul>
</blockquote>
<p><a href="http://wiki.netbeans.org/wiki/view/NewAndNoteWorthy" rel="nofollow" >And also</a>:</p>
<blockquote>
<ul>
<li> Quick Fixes
<ul>
<li> Automatic detection of block variables that might be accidentally modifying local variables</li>
</ul>
</li>
</ul>
<p><img src="http://wiki.netbeans.org/wiki/attach/RubyHints/blockvar-fixes.png" alt="blockvar fixes Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /></p>
<ul>
<li>
<ul>
<li> Rails deprecation warnings which identify usages of deprecated Rails idioms (enable this warning in the Ruby options panel)</li>
</ul>
</li>
</ul>
<p><img src="http://wiki.netbeans.org/wiki/attach/RubyHints/deprecated-fields.png" alt="deprecated fields Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /></p>
<ul>
<li>
<ul>
<li> Quick which finds same-line definitions of classes or methods and offer to explode these into    multiline, formatted definitions</li>
</ul>
</li>
</ul>
<p><img src="http://wiki.netbeans.org/wiki/attach/RubyHints/sameline.png" alt="sameline Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /></p>
<ul>
<li>
<ul>
<li> A number of experimental hints compatible with Beta 1 but not bundled; access these from the Plugin manager.    These hints can convert between <tt>do</tt> and brace-style blocks, they warn about &#8220;wrong&#8221; name conventions    for Ruby symbols, they offer to run the Rails generator to generate missing views for action methods,    they identify possible incorrect usage of attributes</li>
<li> <a href="http://wiki.netbeans.org/wiki/view/RubyHints" rel="nofollow" >More information about the Ruby quick fixes</a></li>
</ul>
</li>
<li> RHTML formatting (and improvements to the Ruby formatting algorithm). A new formatting preferences panel allows configuration of the continuation indent as well as enabling reformatting of comments.</li>
<li> Updated bundled JRuby to version 1.0.1</li>
<li> Ability to deploy Rails projects to Java EE application servers</li>
<li> YAML code folding and navigator, improved RHTML navigator</li>
<li> Go To Declaration in RHTML files now work to warp to partials, redirect_to, link_to, etc.</li>
</ul>
<p><img src="http://wiki.netbeans.org/wiki/attach/NewAndNoteWorthyBeta1/renderpartial.png" alt="renderpartial Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /></p>
<ul>
<li> Large number of bug fixes and tweaks</li>
</ul>
<p><strong>Diff</strong></p>
<ul>
<li> Export Diff Patch &#8211; CVS and Subversion integration
<ul>
<li> based on unified diff</li>
<li> automatically opens generated patch file into the editor with colored annotations</li>
</ul>
</li>
</ul>
<p><img src="http://wiki.netbeans.org/wiki/attach/NewAndNoteWorthyBeta1/patch.png" alt="patch Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!"  title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /></p></blockquote>
<p>Don&#8217;t forget <a href="http://www.netbeans.org/community/releases/60/" rel="nofollow" >the general improvements</a> as well:</p>
<blockquote><p> <strong>Editor Improvements</strong></p>
<ul>
<li><img src="http://www.netbeans.org/images/screenshots/6.0/code-completion4.jpg" alt="code completion4 Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" border="1" title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /><strong>Smarter code completion.</strong> The NetBeans editor is quicker and smarter, providing completions for keywords, fields, and variables. It also lists the most logical options at the top, and lets you dig down into the full options at the bottom</li>
<li><img src="http://www.netbeans.org/images/screenshots/6.0/hilites3.jpg" alt="hilites3 Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" border="1" title="Ruby on Rails Developers IDE, NetBeans 6 Beta 1 is Out!" /><strong>Highlights.</strong> You can think of the highlights feature as an easy-to-use and more correct substitution for the editors Search. The IDE tracks the position of the caret and, based on it, highlights some parts of the code. The highlights are marked with a background color in the editor they are also put into the error stripe, which permits for having overview of the whole file.</li>
<li><strong>Better Navigation and Inspection.</strong> In addition to Highlights, the source editor lets you quickly navigate through your code with improved Navigator window organization and the Members and Hierarchy Inspectors.</li>
<li><strong>More than just code completion.</strong> With live templates and Surround With functionality, you can quickly enter commonly used blocks of code and focus on the business logic.</li>
<li><strong>There is much more.</strong> See the <a href="http://wiki.netbeans.org/wiki/view/Java_EditorUsersGuide" rel="nofollow" >Java Editor User&#8217;s Guide</a>.</li>
</ul>
</blockquote>
<p><strong>Update:</strong> And more from <a href="http://www.rubyinside.com/netbeans-60-beta-1-released-ruby-edition-available-607.html" rel="nofollow" >Peter Cooper of Ruby Inside</a>:</p>
<blockquote><p>NetBeans is a powerful and free. You can create Ruby and Rails projects, run Ruby files, configure interpreters (MRI and JRuby), install Gems graphically, run tests, run RSpecs, debug Ruby code, run Rails apps, and so on, all from the IDE. The Ruby edition is <a href="http://bits.netbeans.org/download/6_0/beta1/latest/" rel="nofollow" >only a 19MB download</a> and it&#8217;s available right now. There are several Ruby related <a href="http://www.netbeans.org/kb/60/flash.html" rel="nofollow" >NetBeans screencasts</a> for the less convinced.</p></blockquote>
<p>Already more than enough evangelizing, I guess&#8230;</p>
<p>Head on to <a href="http://www.netbeans.org/community/releases/60/" rel="nofollow" >NetBeans 6 Release page</a> to find out more and download.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2007/09/19/ruby-on-rails-developers-ide-netbeans-6-beta-1-is-out/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>A Better Way to GUI Ruby Apps</title>
		<link>http://www.adaruby.com/2007/08/24/a-better-way-to-gui-ruby-apps/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=a-better-way-to-gui-ruby-apps</link>
		<comments>http://www.adaruby.com/2007/08/24/a-better-way-to-gui-ruby-apps/#comments</comments>
		<pubDate>Fri, 24 Aug 2007 11:06:02 +0000</pubDate>
		<dc:creator>ceefour</dc:creator>
				<category><![CDATA[Beginner]]></category>
		<category><![CDATA[Cool]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Praises]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://adaruby.com/2007/08/24/a-better-way-to-gui-ruby-apps/</guid>
		<description><![CDATA[Profligacy is a JRuby library that makes building Swing Graphical User Interface much easier than with Raw code. It’s not a builder as with many other projects, but instead a simple Ruby way to structure the UI for the 80% common cases you’ll encounter. It’s actively used in the Utu iHate client. iHate started as [...]


No related posts.

Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2007%2F08%2F24%2Fa-better-way-to-gui-ruby-apps%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2007%2F08%2F24%2Fa-better-way-to-gui-ruby-apps%2F&amp;source=AdaRubyWeb&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" title="A Better Way to GUI Ruby Apps" alt=" A Better Way to GUI Ruby Apps" /><br />
			</a>
		</div>
<p><a href="http://www.flickr.com/photos/ameliatzeni/432847516/" rel="nofollow"  title="Ruby on their fingers"><img src="http://farm1.static.flickr.com/147/432847516_28091bd08f.jpg?v=0" height="500" width="375" title="A Better Way to GUI Ruby Apps" alt=" A Better Way to GUI Ruby Apps" /></a></p>
<p><a href="http://ihate.rubyforge.org/profligacy/" rel="nofollow"  title="Profligacy">Profligacy</a> is a JRuby library that makes building <a href="http://java.sun.com/docs/books/tutorial/uiswing/" rel="nofollow" >Swing</a> Graphical User Interface <strong>much</strong> easier than with Raw code.  It’s not a builder as with many other projects, but instead a simple Ruby way to structure the UI for the 80% common cases you’ll encounter.</p>
<p>It’s actively used in the <a href="http://savingtheinternetwithhate.com/" rel="nofollow" >Utu</a> <a href="http://ihate.rubyforge.org/" rel="nofollow" >iHate</a> client.  iHate started as a  RubyCocoa project and then convert to JRuby and Swing.</p>
<p>The purpose of Profligacy is <strong>not</strong> to be a complete way of hiding Swing components from you.  You’ll still be making JButtons and  JLabels, you’ll just be putting them into a Ruby idiomatic code structure that doesn’t make your eyes hemorrhage diarrhea like when you try to code in Java.</p>
<p>The only real innovation in Profligacy is a simpler way to configure a <a href="http://java.sun.com/javase/6/docs/api/javax/swing/GroupLayout.html" rel="nofollow" >GroupLayout</a> using a simple regex/wiki style syntax.  This is a work in progress, but it should make building GUIs much much easier.</p>
<p>Sample code:</p>
<pre>require 'profligacy/swing'
require 'profligacy/lel'

module Test
  include_package 'javax.swing'
  include Profligacy

  layout = "
     [ label_1         | label3      ]
     [ (300,300)*text1 | (150)people ]
     [ &lt;label2         | _           ]
     [ message         | buttons     ]
  "

  ui = Swing::LEL.new(JFrame,layout) do |c,i|
    # nothing here for now
  end

  ui.build(:args =&gt; "Simple LEL Example")
end</pre>
<p>The result:</p>
<p><img src="http://ihate.rubyforge.org/profligacy/images/sample_lel_gui_nested.png" alt="sample lel gui nested A Better Way to GUI Ruby Apps" height="397" width="529" title="A Better Way to GUI Ruby Apps" /></p>
<p>TADA! <img src='http://www.adaruby.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile A Better Way to GUI Ruby Apps" class='wp-smiley' title="A Better Way to GUI Ruby Apps" /> </p>
<p>No fluff required.</p>
<p>Profligacy is really easy to use, but you should still be referring to the Swing™ docs to learn how to actually use the components.</p>


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://yarpp.org'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://www.adaruby.com/2007/08/24/a-better-way-to-gui-ruby-apps/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

