{"id":80,"date":"2006-04-28T14:08:50","date_gmt":"2006-04-28T19:08:50","guid":{"rendered":"http:\/\/www.killersites.com\/blog\/?p=80"},"modified":"2006-05-02T18:49:13","modified_gmt":"2006-05-02T23:49:13","slug":"agile-web-development-with-rails","status":"publish","type":"post","link":"https:\/\/www.killersites.com\/blog\/2006\/agile-web-development-with-rails\/","title":{"rendered":"Book Review:  Agile Web Development With Rails"},"content":{"rendered":"<p>Review by: Richard Mischook<\/p>\n<p><strong>First, a little about this nerd reviewer:<\/strong><\/p>\n<p>I\u00e2\u20ac\u2122ve been writing web applications for over ten years. I\u00e2\u20ac\u2122ve used a variety of technologies over that time including CGI with various shell script dialects, Netscape Livewire, and Active Server Pages. <\/p>\n<p>But mainly I\u00e2\u20ac\u2122ve used Java because it generally has been the best choice for many of the projects I\u00e2\u20ac\u2122ve worked on. (ed: and it paid the bills!)<\/p>\n<p><iframe src=\"http:\/\/rcm.amazon.com\/e\/cm?t=wwwmontrealma-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=097669400X&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000ff&#038;bc1=000000&#038;bg1=ffffff&#038;f=ifr\" style=\"width:120px;height:240px;\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" frameborder=\"0\"><\/iframe><\/p>\n<p>Now saying \u00e2\u20ac\u02dcJava\u00e2\u20ac\u2122 doesn\u00e2\u20ac\u2122t say a whole lot because when it comes to web application development, Java can mean a lot of things. It can be as simple (and messy) as just using Java Server Pages or can include servlets, EJBs and\/or the various frameworks that are available such as Struts and Spring. <\/p>\n<p>Many of us have been happy to pick and choose from the rich menu of available technologies, confident that these were solid and reasonable choices.<\/p>\n<p><strong>Things change &#8230;<\/strong><\/p>\n<p>But there is a disturbance in the force. It\u00e2\u20ac\u2122s a small thing right now but some important people have been grumbling. They\u00e2\u20ac\u2122ve been saying things like \u00e2\u20ac\u02dcDo I need to write so much code to do this\u00e2\u20ac\u2122 and \u00e2\u20ac\u02dcHow many XML configuration files do I need to get Hello World to show up in a browser? <\/p>\n<p>And while many have embraced PHP there is a growing movement centred on a framework called Rails.<\/p>\n<p>Rails is built on the Ruby scripting language. Ruby is an object-oriented scripting language that is concise and \u00e2\u20ac\u0153\u00e2\u20ac\u00a6makes it easy to create methods that act almost like entensions to the syntax\u00e2\u20ac\u00a6It makes our programs shorter and more readable.\u00e2\u20ac\u009d (page 1). <\/p>\n<p><strong>RAILS USES MVC<\/strong><\/p>\n<p>Rails provides a Model View Controller based framework with some important extras thrown in, most particularly a built in Object Relational Mapping tool that makes saving and loading data to and from Ruby objects almost trivial. <\/p>\n<p>In fact Rails seems to provide a lot of the stuff you\u00e2\u20ac\u2122ll find in Struts without the headaches associated with maintaining the Struts config file(s). <\/p>\n<p><strong>Ok, ok &#8230; what about the book!<\/strong><\/p>\n<p>The book wastes no time and starts with an overview of a simple Rails application. It then steps back and covers installation on a number of platforms. <\/p>\n<p>It then dives in deeper and builds a fictitious shopping cart application using an agile and iterative development approach (the book is after all called Agile Web Development with Rails). After spending 125 pages building an application, the authors look at the guts of the framework and illustrate how it can be tweaked. <\/p>\n<p>One important theme running throughout Rails is that of  intelligent defaults \u00e2\u20ac\u201c if you follow a relatively small number of conventions you can have an application up and running with little or no configuration file tweaks. <\/p>\n<p>But if you do need to change things, you can, and the book does a great job of showing you how in simple and clear language. <\/p>\n<p><strong>EMAIL AND AJAX<\/strong><\/p>\n<p>The book also looks at support for sending and receiving email, as well AJAX and web services support in Rails. There is also a chapter on deployment that is upfront about some of the issues here as well as an interesting appendix covering the Ruby language for those who may be new to it (like me).<\/p>\n<p><strong>CONCLUSION<\/strong><\/p>\n<p>Overall the book is a great read if you want to get to grips fast with Rails. The examples and scenarios are fairly realistic and the writing is clear and to the point. Clearly the authors are very passionate about Rails and their enthusiasm is contagious. Highly recommended!  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Review by: Richard Mischook First, a little about this nerd reviewer: I\u00e2\u20ac\u2122ve been writing web applications for over ten years. I\u00e2\u20ac\u2122ve used a variety of technologies over that time including CGI with various shell script dialects, Netscape Livewire, and Active Server Pages. But mainly I\u00e2\u20ac\u2122ve used Java because it generally has been the best choice &hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,14],"tags":[],"_links":{"self":[{"href":"https:\/\/www.killersites.com\/blog\/wp-json\/wp\/v2\/posts\/80"}],"collection":[{"href":"https:\/\/www.killersites.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.killersites.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.killersites.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.killersites.com\/blog\/wp-json\/wp\/v2\/comments?post=80"}],"version-history":[{"count":0,"href":"https:\/\/www.killersites.com\/blog\/wp-json\/wp\/v2\/posts\/80\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.killersites.com\/blog\/wp-json\/wp\/v2\/media?parent=80"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.killersites.com\/blog\/wp-json\/wp\/v2\/categories?post=80"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.killersites.com\/blog\/wp-json\/wp\/v2\/tags?post=80"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}