<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: First impressions of Lift Scala web development framework from a Ruby on Rails developer</title>
	<atom:link href="http://ikaisays.com/2009/03/03/first-impressions-of-lift-scala-web-development-framework-from-a-ruby-on-rails-developer/feed/" rel="self" type="application/rss+xml" />
	<link>http://ikaisays.com/2009/03/03/first-impressions-of-lift-scala-web-development-framework-from-a-ruby-on-rails-developer/</link>
	<description>Follow me on Twitter: http://www.twitter.com/ikai</description>
	<lastBuildDate>Tue, 27 Jul 2010 22:30:49 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Eric P</title>
		<link>http://ikaisays.com/2009/03/03/first-impressions-of-lift-scala-web-development-framework-from-a-ruby-on-rails-developer/#comment-71</link>
		<dc:creator>Eric P</dc:creator>
		<pubDate>Mon, 05 Apr 2010 01:43:31 +0000</pubDate>
		<guid isPermaLink="false">http://ikaisays.com/?p=8#comment-71</guid>
		<description>My first impression coming from Spring MVC, Grails and Rails is this:  Lift is a mess.   I don&#039;t think it&#039;s fixable.  It may be faster than (G)Rails but speed is not everything.</description>
		<content:encoded><![CDATA[<p>My first impression coming from Spring MVC, Grails and Rails is this:  Lift is a mess.   I don&#8217;t think it&#8217;s fixable.  It may be faster than (G)Rails but speed is not everything.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Teena George</title>
		<link>http://ikaisays.com/2009/03/03/first-impressions-of-lift-scala-web-development-framework-from-a-ruby-on-rails-developer/#comment-61</link>
		<dc:creator>Teena George</dc:creator>
		<pubDate>Mon, 21 Dec 2009 16:58:34 +0000</pubDate>
		<guid isPermaLink="false">http://ikaisays.com/?p=8#comment-61</guid>
		<description>Ikai, Looking forward to your next series in lift.

Regards,

Teena</description>
		<content:encoded><![CDATA[<p>Ikai, Looking forward to your next series in lift.</p>
<p>Regards,</p>
<p>Teena</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Philip</title>
		<link>http://ikaisays.com/2009/03/03/first-impressions-of-lift-scala-web-development-framework-from-a-ruby-on-rails-developer/#comment-60</link>
		<dc:creator>Philip</dc:creator>
		<pubDate>Fri, 20 Nov 2009 14:30:31 +0000</pubDate>
		<guid isPermaLink="false">http://ikaisays.com/?p=8#comment-60</guid>
		<description>Came across this website after getting frustrated with the Lift framework. I couldn&#039;t agree more with what you have written. 

I tried Lift after looking at Apache Click, Apache Wicket, Sprite and a few other frameworks. Lift is, by far, the most (needlessly) complicated framework I have come across. 

Perhaps I am stupid, but I had a very difficult time with the documentation.

Lift has such promise - scala is so much faster than Ruby, Groovy etc.. and Lift should have become a dominant framework now (more so that Grails, Rails etc). But the needless complexity due to the fact that the developers have chosen to NOT emphasise simplicity over &quot;cleverness&quot; has resulted in Lift finding very few takers as compared to (G)rails.

I especially liked the line &quot;Sometimes there really is such a thing as too clever.&quot; So true.</description>
		<content:encoded><![CDATA[<p>Came across this website after getting frustrated with the Lift framework. I couldn&#8217;t agree more with what you have written. </p>
<p>I tried Lift after looking at Apache Click, Apache Wicket, Sprite and a few other frameworks. Lift is, by far, the most (needlessly) complicated framework I have come across. </p>
<p>Perhaps I am stupid, but I had a very difficult time with the documentation.</p>
<p>Lift has such promise &#8211; scala is so much faster than Ruby, Groovy etc.. and Lift should have become a dominant framework now (more so that Grails, Rails etc). But the needless complexity due to the fact that the developers have chosen to NOT emphasise simplicity over &#8220;cleverness&#8221; has resulted in Lift finding very few takers as compared to (G)rails.</p>
<p>I especially liked the line &#8220;Sometimes there really is such a thing as too clever.&#8221; So true.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rickcr</title>
		<link>http://ikaisays.com/2009/03/03/first-impressions-of-lift-scala-web-development-framework-from-a-ruby-on-rails-developer/#comment-55</link>
		<dc:creator>rickcr</dc:creator>
		<pubDate>Sat, 27 Jun 2009 02:00:05 +0000</pubDate>
		<guid isPermaLink="false">http://ikaisays.com/?p=8#comment-55</guid>
		<description>Thanks for this write-up. I&#039;m curious, have any of your positions changed since your initial post?

I&#039;m debating about sticking to Groovy &amp; Stripes for a midtier webapplication, or maybe giving Lift a go. 

You&#039;re bullet point on &quot;everything relies on state&quot; worries me a bit.</description>
		<content:encoded><![CDATA[<p>Thanks for this write-up. I&#8217;m curious, have any of your positions changed since your initial post?</p>
<p>I&#8217;m debating about sticking to Groovy &amp; Stripes for a midtier webapplication, or maybe giving Lift a go. </p>
<p>You&#8217;re bullet point on &#8220;everything relies on state&#8221; worries me a bit.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacklee</title>
		<link>http://ikaisays.com/2009/03/03/first-impressions-of-lift-scala-web-development-framework-from-a-ruby-on-rails-developer/#comment-47</link>
		<dc:creator>Jacklee</dc:creator>
		<pubDate>Mon, 01 Jun 2009 11:36:34 +0000</pubDate>
		<guid isPermaLink="false">http://ikaisays.com/?p=8#comment-47</guid>
		<description>I’d hire you in a minute, Aaron Carlino, if I could come up with the money and had the authority. If our college ever loses its current Webmaster or Graphic Arts Specialist, I feel you would be able to do both jobs….amazing talent and time manager. Now, don’t forget about the life balance factor…..enjoy!</description>
		<content:encoded><![CDATA[<p>I’d hire you in a minute, Aaron Carlino, if I could come up with the money and had the authority. If our college ever loses its current Webmaster or Graphic Arts Specialist, I feel you would be able to do both jobs….amazing talent and time manager. Now, don’t forget about the life balance factor…..enjoy!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rich Apodaca</title>
		<link>http://ikaisays.com/2009/03/03/first-impressions-of-lift-scala-web-development-framework-from-a-ruby-on-rails-developer/#comment-16</link>
		<dc:creator>Rich Apodaca</dc:creator>
		<pubDate>Fri, 03 Apr 2009 16:19:19 +0000</pubDate>
		<guid isPermaLink="false">http://ikaisays.com/?p=8#comment-16</guid>
		<description>Ikai, I look forward to the series - it&#039;s a great idea. On the plus side, it looks like at least one Lift book is close to publication:

http://www.apress.com/book/view/1430224215</description>
		<content:encoded><![CDATA[<p>Ikai, I look forward to the series &#8211; it&#8217;s a great idea. On the plus side, it looks like at least one Lift book is close to publication:</p>
<p><a href="http://www.apress.com/book/view/1430224215" rel="nofollow">http://www.apress.com/book/view/1430224215</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Pollak</title>
		<link>http://ikaisays.com/2009/03/03/first-impressions-of-lift-scala-web-development-framework-from-a-ruby-on-rails-developer/#comment-5</link>
		<dc:creator>David Pollak</dc:creator>
		<pubDate>Wed, 04 Mar 2009 14:22:03 +0000</pubDate>
		<guid isPermaLink="false">http://ikaisays.com/?p=8#comment-5</guid>
		<description>Ikai,

Perhaps the lack of documentation has colored your perspective on SiteMap (the whole Menu, Loc thing).

SiteMap is optional, so you can remove it from your code and manually manage access control to pages and generation of menus and bread-crumbs.  

I wrote SiteMap (first for Java https://www.lostlake.org/sitemap.wmv , then for Ruby http://rubyforge.org/projects/sitemap/, now for Lift) because almost every site I ever worked on had dynamic menus and page-level access control rules.

SiteMap encapsulates the following features:
- Dynamic page level access control You define the access control rules as part of the Loc[action] and it can include current state (is the user logged in or not, is the user a super-user) as well as testing to make sure that the request has certain parameters and that the parameters are valid
- Hierarchical (nested) menu support.  So you can have sections, subsections, sub-sub sections, etc.
- Page aware menu display.  Only the pages that you&#039;re allowed to access will be displayed.  For nested menus, you&#039;re shown menus at the levels above you, at the current level, and the menus in the nest just below you (see http://demo.liftweb.net/menu/two )
- Breadcrumbs... the menu nesting that got you to your current page
- URL rewrite and parameter extraction.  This is like routes in other systems, but with SiteMap, the parameter extraction is type-safe and is bi-directional so that you can construct URLs from type-safe data, also using SiteMap.  Note that you can do the URL rewriting (routing) separately using a lighter weight pattern matching syntax as well... which also reinforces that SiteMap is optional.
- Page title generation
- A few other things that escape me right now. :-)

The &quot;dpp practice&quot; (I won&#039;t call it best practice because my conventions are not always best) is to put Menu/Loc definitions into a domain object singleton and assemble the menus in Boot.scala.  You can see this with User.menus.  And, if you don&#039;t like Scala&#039;s :: for List item concatenation, there are other ways to build Lists.

Thanks,

David</description>
		<content:encoded><![CDATA[<p>Ikai,</p>
<p>Perhaps the lack of documentation has colored your perspective on SiteMap (the whole Menu, Loc thing).</p>
<p>SiteMap is optional, so you can remove it from your code and manually manage access control to pages and generation of menus and bread-crumbs.  </p>
<p>I wrote SiteMap (first for Java <a href="https://www.lostlake.org/sitemap.wmv" rel="nofollow">https://www.lostlake.org/sitemap.wmv</a> , then for Ruby <a href="http://rubyforge.org/projects/sitemap/" rel="nofollow">http://rubyforge.org/projects/sitemap/</a>, now for Lift) because almost every site I ever worked on had dynamic menus and page-level access control rules.</p>
<p>SiteMap encapsulates the following features:<br />
- Dynamic page level access control You define the access control rules as part of the Loc[action] and it can include current state (is the user logged in or not, is the user a super-user) as well as testing to make sure that the request has certain parameters and that the parameters are valid<br />
- Hierarchical (nested) menu support.  So you can have sections, subsections, sub-sub sections, etc.<br />
- Page aware menu display.  Only the pages that you&#8217;re allowed to access will be displayed.  For nested menus, you&#8217;re shown menus at the levels above you, at the current level, and the menus in the nest just below you (see <a href="http://demo.liftweb.net/menu/two" rel="nofollow">http://demo.liftweb.net/menu/two</a> )<br />
- Breadcrumbs&#8230; the menu nesting that got you to your current page<br />
- URL rewrite and parameter extraction.  This is like routes in other systems, but with SiteMap, the parameter extraction is type-safe and is bi-directional so that you can construct URLs from type-safe data, also using SiteMap.  Note that you can do the URL rewriting (routing) separately using a lighter weight pattern matching syntax as well&#8230; which also reinforces that SiteMap is optional.<br />
- Page title generation<br />
- A few other things that escape me right now. :-)</p>
<p>The &#8220;dpp practice&#8221; (I won&#8217;t call it best practice because my conventions are not always best) is to put Menu/Loc definitions into a domain object singleton and assemble the menus in Boot.scala.  You can see this with User.menus.  And, if you don&#8217;t like Scala&#8217;s :: for List item concatenation, there are other ways to build Lists.</p>
<p>Thanks,</p>
<p>David</p>
]]></content:encoded>
	</item>
</channel>
</rss>
