Friday, April 16, 2010

Top 10 Books on Ruby on Rails

Best Rails books: http://antoniocangiano.com/rails-books/ The Art of Rails The Art of Rails (Programmer to Programmer) by Edward Benson

1) Foundation Rails 2 Foundation Rails 2 loop around all aspects of the MVC and how Rails implements, and finally finish off with a application to put everything in context.

2) Beginning Rails From Novice to Professional by Jeffrey Allan Hardy and Cloves Carneiro Jr.
with Hampton Catlin

3) Learning Rails: view centric approach
It started with the view (ruby-embedded html, good for those with experience in web design but little programming experience, those who have some programming experience but are not familiar with the how the model-view-controller paradigm is implemented by Rails. not much rationale explained.

4) Beginning Ruby From Novice to Professional : Any Ruby book will inevitably be compared to Dave Thomas' Programming Ruby (commonly known as "the Pickaxe" for the image on its cover), which has been the standard reference for the language since its debut and won't lose its spot as a reference work. I found Beginning Ruby to be easier to absorb, however, and I thought the examples were especially clear and useful. If you're already deep into Ruby, you probably don't need this book. But if you're relatively early in the learning curve, I highly recommend it.

5) Programming Ruby: The Pragmatic Programmers' Guide, Second Edition Like most language books Programming Ruby starts with installing Ruby and then goes into a language reference; strings, classes, blocks, regular expressions, etc. It's all covered step by step with examples. The second part, Ruby and It's World, is a grab bag of chapters on more complex Ruby topics like graphical user interfaces, Ruby GEMs, and embedding Ruby. Part III is a concise reference for Ruby that is handy when you already know the language but need a refresher. And the final part is a library reference with examples of using each method. This is the invaluable reference that you will use in every Ruby project.

6) Title: Agile Web Development with Rails, Third Edition tutorial for intermediate and experienced developers. Most popular. Every body uses it as an tutorial.

7) Professional Ruby on Rails An excellent alternative to Agile Web Development with Rails, provided you already have some knowledge regarding how to use Rails. This book is very focused on “best practices” and Test-Driven Development (TDD), and should bring your understanding of how to use Rails in your projects to the next level. Definitely recommended as a follow-up book for Foundations Rails 2.

8) The Rails Way to bring your knowledge on the subject up to a pro level. It teaches not only HOW, but also why. It brings you to the very heart of the framework. It has a lot redudant information, and many unrelated contents.

9) Enterprise Rails Enterprise means solid database system in this book. It teaches how to build a solid system using postgreSQL.

10) The Art of Rails “conceptual” book, brings a programmer to “architect” of web applications. design patterns for web application development (including AJAX), how to improve your code, understand REST, learn Behavior-Driven Development, and take advantage of Ruby’s advanced techniques to improve your applications and extend Rails to suit your needs.

Top 10 useful ruby on rails tutorials

1) Ruby on Rails, the super productive new way to develop web applications, and you'd like to give it a try, but you don't know anything about Ruby or Rails. This article steps through the development of a web application using Rails. It won't teach you how to program in Ruby, but if you already know another object-oriented programming language, you should have no problem following along (and at the end you can find links on learning Ruby).
http://oreilly.com/ruby/archive/rails.html
http://oreilly.com/ruby/archive/rails2.html


2) http://www.railstutorial.org/book Ruby on Rails Tutorial
Learn Rails by Example by Michael Hartl Very useful book online.

3) Amy Hoy has a great tutorial that not only covers RoR, but also introduces the reader to many of the basic concepts of the very cool Ruby scripting language.
http://slash7.com/2005/01/24/really-getting-started-in-rails/

4) Fast-track your Web apps with Ruby on Rails - from IBM website: Ruby on Rails is a recent entry into the world of Web application development that is rapidly gaining mindshare, even while still in beta versions. Rails succeeds by automating the creation of the most common types of Web applications while not straightjacketing you if you want to add custom or atypical requirements. Moreover, compared to many Free Software libraries that perform individual aspects of a Web application, Rails contains a nicely integrated set of tools for all aspects.http://www.ibm.com/developerworks/linux/library/l-rubyrails/

5) Ajax on Rails by Curt Hibbs http://onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html

6) A Many-to-Many tutorial for Rails - a start-to-finish example of the Model, View, and Controller required for a many-to-many elationship. http://jrhicks.net/Projects/rails/has_many_and_belongs_to_many.pdf

7) Distributing Rails Applications
http://www.erikveen.dds.nl/distributingrubyapplications/rails.html

8) How to make a todo list with Ruby On Rails – An introductory tutorial that actually helps you build something useful - http://mirror.monsson.dk/rails/tutorial.html

9)Installing Ruby on Rails with Lighttpd and MySQL on Fedora Core 4
http://digitalmediaminute.com/howto/fc4rails/

10) Working Ruby on Rails on Shared Hostings http://blog.nanorails.com/articles/2006/8/12/install-your-own-ruby-on-a-shared-host

Sunday, February 21, 2010

Why Rails still matters when we already have Grails?

Question ONE: Why ruby when you have groovy? Answer: The right language for the right job.

best Rails books: http://antoniocangiano.com/rails-books/

Venkat Subramaniam 'summary on http://www.coderanch.com/t/531/Ruby/Groovy-vs-Ruby-vs-Java is quite insightful:



Ruby: "If I want to deploy my solutions on the JVM, purely from the point of view of organizational deployment issues and restrictions, or if I want to take advantage of the performance gains I will get by using the JVM, then I prefer the Ruby/JRuby route."



Groovy: "For a Java project, you have to interact heavilywith Java libraries and APIs and frameworks, and at the same time to take advantage of the capabilities and features of a dynamic language, "



Question two: why Rails when you have Grails?



Anwer: learn ideas from different communities. Two communities face similar problems with similar tools. However, two paradigms provide different perspectives and therefore distill different experiences which will enhance to each other.



1) Rails is much mature in the direction of "fast building website" moving into the right direction.



2) for the purpose of learning Grails, rails community provides very insightful book, posts that reveal the strucutre of the MVC framework while Grails community, on the other hand, assumes too much knowledge and background of the learners: hibernate, ant, java, etc. Therefore, the books in grails community focuses on "recipes" aspect. The authors must have deep understanding, but they do not reveal them, assuming every body knows. Rails community, on the other hand, has produced many good books: Art of Grails, Enprise Grails. Advanced Grails. Even books on the languae is much mature and deep.



prefer (assuming it serves my needs that is).



The Art of Rails The Art of Rails (Programmer to Programmer) by Edward Benson




Learning Rails: view centric approach




It started with the view (ruby-embedded html, good for those with experience in web design but little programming experience, those who have some programming experience but are not familiar with the how the model-view-controller paradigm is implemented by Rails. not much rationale explained.


comparing Rails to Lift


http://www.google.com/search?hl=en&source=hp&q=lift+vs+rails&aq=f&aqi=g1g-m1&aql=&oq=


The logic in a MVC framework consists of the web form that creates/finds a model object's params, the processing params in the controller and Active Record, including validations, showing errors and letting users correct them, CRUD processes in the DBMS and all the routing, renders and redirects that show users what's happening. The authors take each subtopic of Active Record, views and controllers, give an short, intuitive summary of why it's important, then give the most common use scenarios, along with common traps or misunderstandings that might arise. Chapter 7, Ajax, tackles a large subject in a very condensed manner(they say as much on p. 228). While the overview is good, it's more like a 30,000 foot view that doesn't quite give you enough confidence to start coding in Prototype and scriptaculous. For that, there's the excellent "Ajax on Rails" Raymond book, as well as a couple others in the pipeline. The rest of the covers testing, sending emails and deployment in, again, a condensed manner. Rails is a fast-moving target, there's a lot of topics that could have been covered here: rspec, test/spec, mocks and stubs, plugins to make fixtures usable, or avoid using fixtures, etc. But it's a great smallish intro to Rails. The appendix intro to Ruby is superfluous. If you already know python, perl or PHP, it might be all you need to get started coding ruby. Otherwise, you'll probably need a more complete intro and reference (Black's "ruby for Rails" is highly recommended). So this is a topic-structured tutorial for Rails, in contrast to Apress' social networking and e-commerce books, which are project-based and present more code with less explanation (and covered more plugins like Ferret, acts_as_taggable, etc) If you ahve the luxury of borrowing a few different intro rails books , i would encourage it. One or the other method of presenting Rails may work better for you. But you can't go wrong with this book.



















list of books









Beginning Rails: activeRecord using ruby console, similar to Foundation 2



Ajax on Rails









Foundation 2: activeRecord instroduction,









Learning Rails: Scaffolding as a way to present the whole picture, Scaffolding and RESTful









Rails Space: social networking and e-commerce books, which are project-based and present more code with less explanation (and covered more plugins like Ferret










Rails Blogs and Podcast