151 of 157 people found the following review helpful
5.0 out of 5 stars Excellent introduction to a fascinating framework
Ruby on Rails is a pretty young technology. Its first release was midway 2004, and it has been gathering momentum since late 2004. It has yet to see its official 1.0 release. So it is a pleasant surprise that there already is a book available (electronically since June 2005), and that it such a good book!
Why read this book? Since Dave Thomas' credentials as a...
Published on July 13, 2005 by M. de Mare
21 of 34 people found the following review helpful
1.0 out of 5 stars second edition expected for fall 2006
Would have been 5 stars, but ...
Wait for the second edition. Ruby on Rails has changed very much.
If you (as of this writing) search for the ISBN (0977616630) of the second edition, Amazon will "find" the first edition (ISBN: 097669400X).
Published on August 13, 2006 by K. Victor Volle
Most Helpful First | Newest First
151 of 157 people found the following review helpful
5.0 out of 5 stars Excellent introduction to a fascinating framework,
This review is from: Agile Web Development with Rails: A Pragmatic Guide (Pragmatic Programmers) (Paperback)Ruby on Rails is a pretty young technology. Its first release was midway 2004, and it has been gathering momentum since late 2004. It has yet to see its official 1.0 release. So it is a pleasant surprise that there already is a book available (electronically since June 2005), and that it such a good book!
Why read this book? Since Dave Thomas' credentials as a technical writer are well established (pick up The Pragmatic Programmer if you haven't got it already), this question boils down to: why learn more about Ruby on Rails?
For me, the answer was that I have long been looking for a simpler way to build web-applications. I'm a J2EE developer, and it seemed that every project I joined had a different set of frameworks. All of those frameworks could be configured to work together, and there are even frameworks whose only purpose is to make other frameworks work together. There are tools that generate stubs to wrap frameworks, and frameworks that wrap other frameworks, so that the developer needs not know what the underlying framework is.
Rails behaves as if it were one framework. Configuration is simple (no xml) if you need it at all, since the defaults are pretty smart. Writing tests for your model and your controllers is actually easy. The API documentation is very good. Instead of mucking around with frameworks, you find yourself thinking: What do you want to do today?
Drawbacks: Is Ruby on Rails slow? Performance is acceptable, I think, especially considering that web applications are database-bound. Rails also scales well - and anyway, processors are cheap, brains are not.
Is Rails proven technology? Clearly it's not, it's the new kid on the block. More seriously, Rails is still in flux - the core api is still changing, and it could still take some time to settle down. So now is not the time to start huge Rails projects, now is the time to learn rails and build prototypes and small projects.
And with that, this book will be a tremendous help.
101 of 104 people found the following review helpful
5.0 out of 5 stars The best way to learn Ruby on Rails,
This review is from: Agile Web Development with Rails: A Pragmatic Guide (Pragmatic Programmers) (Paperback)This book was in development through July 2005 and provides a timely introduction to the excellent web framework Ruby on Rails. Rails is a full stack, open-source framework in Ruby (see rubyonrails.com). I can think of no better way of learning Rails than buying this book (and Programming Ruby, "Pickaxe 2", if you are a Ruby newbie) and working through the hands-on bookstore building exercise in a weekend. "Agile" development takes center stage, as you might imagine from the title. Because of the dynamic nature of Ruby and the way Rails extends the core language, Ruby on Rails lets you easily modify, run, and test web apps.
The first part of the book (Chapters 4 to 12) shows how to develop a bookstore app in an iterative fashion. A mock client asks for improvements and the authors show how you build a web app that meets the client's needs. A number of best practices have been distilled from other languages/platforms, and you'll see how they come together coherently in Rails. The Model-View-Controller (MVC) pattern for separating data, presentation, and business logic. Integrated testing. Ways to not repeat yourself across code and configuration files. Active Record pattern for handling data sources. In addition to what's taken from other platforms, the Rails developers extensively use the metaprogramming features of Ruby to wrap these best practice ideas in a nice domain specific language, and this book gives you a good overview of the Rails web app language. "Convention over configuration" is another key to Rails development, and a number of figures show the Rails convention in directory layout, naming, and URL mapping.
This book was written in an agile fashion; I can't remember another computer book that was in print a single month after editing was finished. Despite the speed of publishing, the book can't hope to cover all the new developments given the momentum of Rails. What won't be in the book but might be useful to Rails programmers? SwitchTower is a new utility to automate application deployment (among other things), and ActionStep will be a Rails-friendly framework for writing rich GUIs that target the client-side Flash player. But if you want to learn what Tim O'Reilly said might be the "perl of Web 2.0", you should start with "Agile Web Development with Rails" and supplement it liberally with readings off the web.
Highly recommended book. Although this is the first of more than a half-dozen Rails books, it'll be hard to compete with the authors of this book: Dave Thomas, who wrote the preeminent Ruby textbook, and David Heinemeier Hansson, who was the brains behind Rails.
16 of 16 people found the following review helpful
5.0 out of 5 stars The real agile way to develop web applications,
Amazon Verified Purchase(What's this?)
This review is from: Agile Web Development with Rails: A Pragmatic Guide (Pragmatic Programmers) (Paperback)Rails, or more appropriately Ruby on Rails is the new web application development framework that everyone is so excited of and raving about how it cuts development time by a factor of 10 and does away with the cumbersome XML configuration files that are the hallmark of J2EE.
Being an old Java hand, I wanted to see firsthand if there was some substance beneath all the hype. I was also intrigued by the fact that many other old Java hands whom I respect and admire, like James Duncan Davidson, Elliotte Rusty Harold, Bruce Tate, Graham Glass, and Brian McAllister are now fervent (to different degrees) rubyists and Rails-enthusiasts. If it weren't for them, I would never have undertaken this journey, probably.
But anyway, this is supposed to be a book review, not a chronicle of my ongoing discovery of Rails.
I mostly like using books to discover and learn about new technologies, so it's perfectly natural that I decided to take off with what is considered the book about Rails. And how could it be not, with Rails' creator David Heinemeier Hansson as one of its authors?
It is also the only one published so far but, even though the choice was a bit, uhm ... limited, I wasn't disappointed. The book, as is customary with titles from The Pragmatic Programmers' bookshelf, is very good. It lays down in detail almost everything you need to know to be productive with Rails, save for the language Ruby itself. To be honest, the book includes an appendix introducing the basics of Ruby, but it's just the bare minimum. I suggest getting yourself a good Ruby book (like Programming Ruby, also from The Pragmatic Programmers, which I am currently reading and will review shortly) if you really want to get the most out of Rails.
Another caveat you have to be aware of is that Rails is a quickly moving target. The book covers version 0.13, which was current around mid-2005. There was a 0.14 version after that and we are now at 1.0, since a few weeks ago. However, I didn't find I had much to change while experimenting with Rails following the book. As always with Open Source software, resorting to the mailing lists, forums or the #firstname.lastname@example.org IRC channel is the best avenue for finding answers to your doubts and asking support questions.
The book is organized in four parts:
Part I introduces the design principles behind Rails, its most important concepts and briefly covers how to get started by installing it and writing your first program. The part about installation is the one that is bound to become quickly obsolete, as new and easier installation methods for the various supported platforms are developed.
Part II dives into Rails by guiding you along the development of a real (albeit much simplified) e-commerce application. I find this approach to be very good and "pragmatic" indeed. Of notable interest is the chapter on testing. It's great to see that providing a good test scaffolding was one of the main design concerns in Rails and not just an afterthought.
Part III goes deeper into Rails and can be used as a reference for its components, like Active Record, Action Controller, and Action View. Bonus chapters on AJAX, Web Services, security, deployment and scaling issues are included here and will make the book even more valuable when you need to deal with "real world" applications.
Part IV contains the appendices, like the above mentioned introduction to Ruby, a reference of configuration parameters (be warned again: these might change), the full source code for all samples (of dubious value, in my opinion), and a list of online resources (once again, a list bound to be more and more incomplete as time passes and the excitement around Rails grows).
Overall, I find the quality of this book to be excellent. It's not thick to the point of being too heavy to carry around in your laptop bag, for those times when you need to peek at it, yet it covers enough of Rails to be considered a complete and authoritative reference. This is probably a testament to Rails' simplicity too.
The writing style is eminently readable. You can read it cover to cover, if you like, without getting bored. The frequent sidebars make it lively without being too distracting. A great amount of care and craftsmanship went into producing this book, and it shows.
13 of 14 people found the following review helpful
5.0 out of 5 stars Excellent,
In my opinion, this is one of the best development books I've had the pleasure of reading in a long time. I found myself reading almost the entire book - which is unusual since I normally can't get past a few pages in most technical books before labeling it crap and putting in the circular bin. (I do not donate those books to the library because I don't want to encourage their distribution).
In my opinion, Rails is a really important lightweight framework for developing green-field web applications that don't require the heavy lifting associated with 2PC and support for legacy systems. If you want to be on the cusp of the next frontier in web and enterprise development, you should start with this book which will introduce you to Rails, Ruby, and a new way of thinking about web development in the enterprise.
9 of 9 people found the following review helpful
5.0 out of 5 stars Buy this book now,
Rails has been hyped a lot, so I won't add to it. I'm just gonna tell you what I know from working with it myself.
You know how pretty much every webapp has to do the same things, over and over? There's a template system you have to set up. There's session storage. There's almost certainly a relational database, and you have to work with its data in your business logic. There's forms, and input validation. I could go on and on.
Rails helps you deal with this repetition of code in two ways:
1. It gives you great code to do many common tasks, out of the box. Some, like sessions, just work, with literally zero configuration needed. Others need a line or two. If you'd like, you can write your own code - roll your object-relational mapping layer if you really feel like punishing yourself - but if you don't have legacy systems to talk to, it's very easy to use the wonderful built-in code.
2. It provides a well-structured framework and set of tools to let you focus on writing your business logic, rather than the mechanics of getting the code to run. Grunt-work is almost nonexistent. Example: rather than needing to explicitly call for a certain template to be displayed, Rails defaults to the template of the same name as the current action. That's only one line saved, but it's more flexible - rename files, and nothing breaks - and the savings really add up.
Note the common thread between the two: providing you with the basics out of the box, so you can focus on your business logic. Rails, and the larger Ruby community, places a very high value on programmer time, and so it'll try to save you from writing "obvious" code or repeating yourself. It does a darn good job.
People in the real world have seen twenty to one code reduction going from J2EE to Rails. Twenty to one. Think about that.
12 of 13 people found the following review helpful
4.0 out of 5 stars Welcome to The Python/Java/PHP/PERL Rehabilitation Clinic,
I'm not going to talk up the ruby-language, it's been done better for my at places like [...] The language has many strengths that are expressed in this book.
But what we're here for is Rails - This new framework that has the potential to change web applications for the better. I work primarily with PHP because it cuts down on development time, it very powerful, and has a lot of built in functions that pave the way for some great applications. However, there's a problem with these PHP apps. They are usually just hacked together, and once it works, it works. There's a lot of tedious work involved in getting everything going, and while the control over the whole program is great, you find it easy to get lost in your PHP code while you're just wanting something to work correctly and hope to god that your client doesn't change their mind at the last minute and leave you stranded.
This is where Rails makes it's presence known. The ultra-flexibility of the framework makes changing, expanding, and improving your applications easy as pie. Easy, but not as tasty. And this book does a great job of walking you through what you can do with real life examples that are easy to follow and actually work (how many of us have got a programming book before only to find out that some things don't even run when typed verbatim from the text?).
Dave Thomas keeps to the Ruby mantra of making programming fun again. The style of writing used makes for a very easy read and feels like an adventure into programming something new. You get to build one step at a time, see what it does, some more is explained, and then there's another small adventure. This is unlike other programming books (especially the PHP and JAVA variety) where a good lot of the exercises is just typing html output (or whatever output) a few pages at a time, followed by a boring 2 page explanation about program variables and memory placement. If you are sick of books that feel like tedious work just to learn the language, this will be a refreshing surprise for you.
So why am I giving it 4 instead of 5? Because it's not without fault. First off, it claims it's for beginners (or near-beginners) to experts. Yah, right. Because so many things in this book are glanced over quickly as far as the back end of the language and what you're really doing, if you don't have a handle on certian concepts beforehand, you're going to be very lost very quickly. Also, unlike PHP, ASP, or JSP which is a pretty easy and simple set up on your OS or on your webserver (where PHP is probably included if you're paying for hosting somewhere), Ruby on Rails is a little more hands on. If you aren't good at (or at least familiar with) a command prompt, that can be a whole new adventure by itself. Also, you're going to know how to work the mySQL command line at least enough to create databases, add users, make tables, etc. Plus the basics of programming languages and control structures should be something you'll already know coming into this book. Be forewarned, Thomas shows no mercy, the first real programming chapter makes a hello world app and then adds the current time to it. Nothing too heavy here. But then it's "ok, now we're going to build a shopping cart application". Granted he takes it slow and goes step by step, but there's none of the "This is a variable" and "this is how we call a function" stuff you're akin to seeing in these kind of books. Which can be good or bad.
If you've already got some programming under your belt, you'll appreciate the get-down-to-business style that this book takes, but if you're still in the infant stages of programming then this book may just do more harm than good. It all depends. I suggest going to Barnes and Noble or any other local book outlet, picking it up and reading some of it over, if it looks like it's too much, wander over and pick up "PHP and MySQL Web development" and start with something like that. But if it looks like something you could get through and have fun with, run home, go on amazon, and pick yourself up this book.
And by the way, Welcome to The Python/Java/PHP/PERL Rehabilitation Clinic.
8 of 8 people found the following review helpful
5.0 out of 5 stars Fantastic Way To Learn & Use Rails,
Simply put, Rails is a new way to output dynamic content on a web site, similar to ASP and PHP. The thing that is great about the Rails technology is the ease of use once you have the framework installed, and the power that comes out of the box. With Rails you can make database connections with ease, and write code to do everything from the simple action of just creating/using variables to highly involved code that has flexibility and functionality always in mind.
The format of writing code that uses Rails looks very different from your ASP environment that most web developers are probably familiar with, but the learning curve is not very steep. You should be able to quickly make the transition to using Rails by using this guide which is structured very well and provides many pictures of the output generated as you go from one page to the next.
The author begins with the premise that he will be making an online store site, and slowly builds the site from the ground up, showing how code formatting is generated, SQL connections and database usage is put in place, and goes on to talk about profiling, performance tracking... the whole enchilada!!
This is a fantastic reference for anyone that wants to learn more about Rails development or is undertaking actual production of a site that uses Rails as the server-side framework. For such a new technology it's refreshing that such a great guide is already available for the public.
***** HIGHLY RECOMMENDED
12 of 14 people found the following review helpful
5.0 out of 5 stars I was expecting a good book but this is awesome,
I got questions. Is Rails really as hot as people mention? Is this language called Ruby worth investing in? Would it fit my requirements for large web applications which I prefer to use Mason over PHP?
I got all my questions answered. First of all the book is very well written. The authors get you on the rails and guide through development of a full application before doing anything else. So this lets you get familiarize with the environment and also help you acquire basics of which editor to use, how to see the results, how to layout your desktop.
After developing your very first guided application, the book introduces you the foundations of Rails. One of the best things about this book is that it does not feel like a reference. Each chapter, along the way includes examples, and more important warning of common error which you will surely make. If I had skipped ahead I would have done lots of head banging. The warnings are very well placed.
The book covers lots for advanced features you would not expect in such a book which includes SQL injection, precautions for parameter mangling, scalability and deployment.
To be honest, I knew nothing about Ruby and still not read the Ruby book I bought along with this book. If you are a Perl developer, you'll almost feel at home with Ruby.
So, having bought this book one week ago, I had to make a choice for an upcoming project which I have to deliver in 4 weeks time. I made a bold choice and started with Rails. The project is due 2 weeks and I'm almost finished, seriously. It would take much more time with Struts or Spring. I also must add the customer satisfaction of iterative demos.
One final note. Rails support an extensive set of test driven features. The book presents how to write good tests both unit and functional on the project it guides you to develop. I was amazed to see that I was able to actually make requests from controllers, easily parse results to test the flow of my web application.
Bottom line, I found Rails to be very productive for me and this book made me almost finish a real world applications which otherwise I'd still be very far from even the half.
6 of 6 people found the following review helpful
5.0 out of 5 stars Great intro and approach,
Amazon Verified Purchase(What's this?)
A good framework lets you do the most common things easily (do simple things simply!), while also letting you override the default behavior to implement your own logic. I appreciated this book's approach in following this flow, first showing you how to do simple things, and then explaining how to bypass or override parts of the framework's assumed formalisms.
I bought this book in tandem with the Programming Ruby book, having been away from programming for many years and not knowing Ruby at all. I would recommend that you at least get acquainted with Ruby first, but after that, it's an easy read. I developed my first basic AJAX app using RoR in little time, mainly using the book but sometimes needing to go to the web for more info.
I haven't read any other books on Ruby, but for an introduction to RoR, this one is very good.
6 of 6 people found the following review helpful
4.0 out of 5 stars Detailed introduction to Rails,
Yes, it looked like Perl had risen from the /dev/zombie.
A couple of friends had written some apps in it and I've never seen them this excited before.
So I had to look closer. My friends were right, as full time java developers, there are a lot to "get" from Ruby and Rails.
Rails is set of libraries to write web sites with database backends.
For web apps written in the MVC pattern and table-backed models, I don't think it get any better than Rails.
This Agile book spends a couple of chapters on a fictious but informative session between a programmer trying to solve a job with a customer.
Rails almost-zero-configuration "syntax" is described pretty detailed.
Again, as a java developer, you just sit there nodding, thinking how you'd (have to) solve it with j2ee.
The mid and last chapters talk about unit testing and common sense around scaling issues and web security (such as sql injection).
Even if you don't end up writing more than a test app in Rails, those last chapters are a good read.
Pick this book up if you have done web development in other frameworks before and are curious about Rails.
If you continue using Rails like I did, it's a good reference book.
Most Helpful First | Newest First
Agile Web Development with Rails: A Pragmatic Guide (Pragmatic Programmers) by Dave Thomas (Paperback - August 4, 2005)
Used & New from: $0.01