<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Blog Posts From Active Product Development Tagged With ruby_on_rails</title>
    <link>http://community.active.com/blogs/productdev</link>
    <description>Miscellaneous Rants from the people who develop active.com</description>
    <pubDate>Tue, 05 Jun 2012 23:25:01 GMT</pubDate>
    <generator>Jive SBS 4.5.5.2  (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2012-06-05T23:25:01Z</dc:date>
    <item>
      <title>HAML vs. ERB</title>
      <link>http://community.active.com/blogs/productdev/2012/06/05/haml-vs-erb</link>
      <description>&lt;!-- [DocumentBodyStart:7621e9e6-3150-4d11-9ade-fbaaf5bdb311] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Three of the products I run technology for are built in Ruby on Rails.&amp;#160; Two of those projects use &lt;a class="jive-link-external-small" href="http://haml.info/"&gt;HAML&lt;/a&gt; as the view templating language, while the third is in &lt;a class="jive-link-external-small" href="http://corelib.rubyonrails.org/classes/ERB.html"&gt;ERB&lt;/a&gt;.&amp;#160; In an informal effort to explore the pros and cons of each to determine if standardization across teams was necessary I ignited a religious war.&amp;#160; Some are passionately pro-HAML, while others are passionately pro-ERB.&amp;#160; Today, in order to be more objective about things, I held a meeting with all of the Ruby developers to compare the two.&amp;#160; Here's what we came up with:&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;&lt;a href="http://community.active.com/servlet/JiveServlet/showImage/38-97599-42014/haml-erb.JPG"&gt;&lt;img alt="haml-erb.JPG" class="jive-image-thumbnail jive-image" height="600" onclick="" src="http://community.active.com/servlet/JiveServlet/downloadImage/38-97599-42014/448-600/haml-erb.JPG" width="448"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;And here's a translation (black - "pro", &lt;span style="color: #ff0000;"&gt;red &lt;/span&gt;- "con")&lt;/p&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;table cellpadding="3" cellspacing="0" class="jiveNoBorder" style="width: 100%; border: 0px solid #000000;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th align="center" style="background-color: #6690bc;; border: 0px solid #000000;background-color: #6690bc;" valign="middle"&gt;&lt;span style="color: #ffffff;"&gt;&lt;strong&gt;HAML&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;th align="center" style="background-color: #6690bc;; border: 0px solid #000000;background-color: #6690bc;" valign="middle"&gt;&lt;span style="color: #ffffff;"&gt;&lt;strong&gt;ERB&lt;/strong&gt;&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;Faster Coding&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;Close to HTML&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;Close to CSS Syntax (+1)&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;Generally Understood&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;Forced Formatting&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;Standard (+1)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;Scanability (+3)&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;ERB is applicable to all view files (via extension)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;span style="color: #ff0000;"&gt;Value given to Whitespace (+2)&lt;/span&gt;&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;span style="color: #ff0000;"&gt;Overly Verbose&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;Value given to Whitespace (yes, someone argued this as a positive)&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;span style="color: #ff0000;"&gt;HTML is Error Prone (i.e. missing closing tags)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;span style="color: #ff0000;"&gt;Tendency to Over Use Divs&lt;/span&gt;&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;Closer to what the Browser Sees&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;Less Code&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;Closer to other languages (+1)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;span style="color: #ff0000;"&gt;Learning Curve (+1)&lt;/span&gt;&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;span style="color: #ff0000;"&gt;Ruby Conditional Statements cannot be Intermixed withing JS blocks&lt;/span&gt;&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;span style="color: #ff0000;"&gt;Not standard and likely won't be&lt;/span&gt;&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;Forces succint Views&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;Follows the spirit of Ruby (beautiful code)&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;span style="color: #ff0000;"&gt;Looks like Perl with Excessive Symbols&lt;/span&gt;&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border: 0px solid #000000;"&gt;"Shells" out to other languages&lt;/td&gt;&lt;td style="border: 0px solid #000000;"&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="min-height: 8pt; height: 8pt; padding: 0px;"&gt;&amp;#160;&lt;/p&gt;&lt;p&gt;Given this list, we had a healthy debate about the value of each templating language.&amp;#160; In the end we decided the differences between the two weren't great enough to refactor our code in the name of standardization.&amp;#160; But we did decide to use ERB as the default, namely because of its proximity to other languages (i.e. PHP) and the correlating low ramp up time when training new developers in Ruby on Rails (including HTML/CSS developers).&amp;#160; So, with any new project we initiate in Rails there has to be a good reason not to use ERB, and a discussion will ensue to make a decision about which is best for said project.&lt;/p&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:7621e9e6-3150-4d11-9ade-fbaaf5bdb311] --&gt;</description>
      <category domain="http://community.active.com/blogs/productdev/tags">ruby</category>
      <category domain="http://community.active.com/blogs/productdev/tags">ruby_on_rails</category>
      <category domain="http://community.active.com/blogs/productdev/tags">erb</category>
      <category domain="http://community.active.com/blogs/productdev/tags">haml</category>
      <pubDate>Tue, 05 Jun 2012 23:25:01 GMT</pubDate>
      <author>guest</author>
      <guid>http://community.active.com/blogs/productdev/2012/06/05/haml-vs-erb</guid>
      <dc:date>2012-06-05T23:25:01Z</dc:date>
      <clearspace:dateToText>11 months, 3 weeks ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://community.active.com/blogs/productdev/comment/haml-vs-erb</wfw:comment>
      <wfw:commentRss>http://community.active.com/blogs/productdev/feeds/comments?blogPost=97599</wfw:commentRss>
    </item>
    <item>
      <title>Developer Week - Rails 101</title>
      <link>http://community.active.com/blogs/productdev/2011/08/25/developer-week--rails-101</link>
      <description>&lt;!-- [DocumentBodyStart:28584986-19ac-4b45-a378-d36b11e89cc6] --&gt;&lt;div class="jive-rendered-content"&gt;&lt;p&gt;Continuing our effort to share what we've covered during Developer Week, &lt;a class="jive-link-external-small" href="http://twitter.com/#!/cannikin"&gt;Rob Cameron&lt;/a&gt; (again) teaches us about the beauty of Ruby on Rails:&lt;/p&gt;&lt;div id="__ss_8994532" style="width: 425px;"&gt;&lt;strong style="display:block;margin:12px 0 4px;"&gt;&lt;a class="jive-link-external-small" href="http://www.slideshare.net/activenetworkmm/rails-101" target="_blank"&gt;Rails 101&lt;/a&gt;&lt;/strong&gt; &lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/8994532" width="425"&gt;



&lt;/iframe&gt;&lt;div style="padding:5px 0 12px;"&gt;View more &lt;a class="jive-link-external-small" href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a class="jive-link-external-small" href="http://www.slideshare.net/activenetworkmm" target="_blank"&gt;The Active Network &lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;!-- [DocumentBodyEnd:28584986-19ac-4b45-a378-d36b11e89cc6] --&gt;</description>
      <category domain="http://community.active.com/blogs/productdev/tags">ruby</category>
      <category domain="http://community.active.com/blogs/productdev/tags">developer_week</category>
      <category domain="http://community.active.com/blogs/productdev/tags">ruby_on_rails</category>
      <pubDate>Fri, 26 Aug 2011 00:42:30 GMT</pubDate>
      <author>guest</author>
      <guid>http://community.active.com/blogs/productdev/2011/08/25/developer-week--rails-101</guid>
      <dc:date>2011-08-26T00:42:30Z</dc:date>
      <clearspace:dateToText>1 year, 9 months ago</clearspace:dateToText>
      <clearspace:objectType>0</clearspace:objectType>
      <wfw:comment>http://community.active.com/blogs/productdev/comment/developer-week--rails-101</wfw:comment>
      <wfw:commentRss>http://community.active.com/blogs/productdev/feeds/comments?blogPost=90200</wfw:commentRss>
    </item>
  </channel>
</rss>

