21
 Starting new Rails development ? not_act_as_sheep

Starting a new ruby on rails development

Embed Size (px)

DESCRIPTION

Starting a new ruby on rails development can be confusion. I've tried, for this talk to summarize all the different choices you'll have to make.

Citation preview

Page 1: Starting a new ruby on rails development

   

Starting new Rails development ?

not_act_as_sheep

Page 2: Starting a new ruby on rails development

   

Ruby

Page 3: Starting a new ruby on rails development

   

Ruby 1.8.x

● Exists since 2003

● Current stable version

● All gems should be compatible

● Slowest version

● Problems with garbage collector

Page 4: Starting a new ruby on rails development

   

Ruby Enterprise edition

● Developed by Phusion team

● Fully compatible with Ruby 1.8.6

● Memory print optimisation

● Garbage collection improvement

Page 5: Starting a new ruby on rails development

   

Ruby 1.9.x

● Stable (since 1.9.1)

● Memory print improvement

● Garbage collector improvement

● Not all gems are compatible

Page 6: Starting a new ruby on rails development

   

Web server and App server

Page 7: Starting a new ruby on rails development

   

Web servers and App servers

● Web server● Apache● Lighthttpd● Nginx

● App server● Mongrel● Thin● Passenger (aka Mod_Rails)

Page 8: Starting a new ruby on rails development

   

Databases

Page 9: Starting a new ruby on rails development

   

Different databases available

● Sqlite3

● Mysql

● PostgreSql

● Oracle

Page 10: Starting a new ruby on rails development

   

Testing

Page 11: Starting a new ruby on rails development

   

TDD vs BDD

● What's Test-Driven Development ?

● Software design method● Short development iteration

● What's Behaviour-Driven Development ?● Software design method● Use comprehensive specification in your native

language

Page 12: Starting a new ruby on rails development

   

Testing Frameworks (and friends)

● Testing frameworks

● Test::Unit

● Rspec

● Shoulda

● Mocking

● Mocha

● Flexmock

● RR

● Working with fixtures

● Fixtures

● Factory girl

● Machinist

Page 13: Starting a new ruby on rails development

   

Templating

Page 14: Starting a new ruby on rails development

   

Templating format

● Html/Erb

● HAML

● Textile (using RedCloth)

● Markaby

● Markdown (using BlueCloth)

Page 15: Starting a new ruby on rails development

   

Plugins

Page 16: Starting a new ruby on rails development

   

Authentication

● Restful_Authentication

● Historically the oldest● Probably currently the most used● The most complete

● Cleareance

● Easy setup● Easy syntax

● Authlogic

● Lighter implementation

Page 17: Starting a new ruby on rails development

   

Attachment

● Attachement_fu● Historically the first Rails attachment plugin● Polymorphism● Complex but customizable

● Paperclip● Newer● Lighter● No polymorphism● Works without Rmagick

Page 18: Starting a new ruby on rails development

   

Other useful plugins

● Will_paginate

● act_as_rated

● act_as_comentable

● Thinking Sphinx

Page 19: Starting a new ruby on rails development

   

Conclusion

Page 20: Starting a new ruby on rails development

   

What should I choose ?

There is not better solution than the one you're comfortable with !!

not_act_as_sheep

Page 21: Starting a new ruby on rails development

   

Slides provided by Nicolas Alpi

Credits

http://www.flickr.com/photos/kattenmeisje/501105007/Nuovola icons