Starting a new ruby on rails development

Post on 28-May-2015

824 views 1 download

Tags:

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.

Transcript of Starting a new ruby on rails development

   

Starting new Rails development ?

not_act_as_sheep

   

Ruby

   

Ruby 1.8.x

● Exists since 2003

● Current stable version

● All gems should be compatible

● Slowest version

● Problems with garbage collector

   

Ruby Enterprise edition

● Developed by Phusion team

● Fully compatible with Ruby 1.8.6

● Memory print optimisation

● Garbage collection improvement

   

Ruby 1.9.x

● Stable (since 1.9.1)

● Memory print improvement

● Garbage collector improvement

● Not all gems are compatible

   

Web server and App server

   

Web servers and App servers

● Web server● Apache● Lighthttpd● Nginx

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

   

Databases

   

Different databases available

● Sqlite3

● Mysql

● PostgreSql

● Oracle

   

Testing

   

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

   

Testing Frameworks (and friends)

● Testing frameworks

● Test::Unit

● Rspec

● Shoulda

● Mocking

● Mocha

● Flexmock

● RR

● Working with fixtures

● Fixtures

● Factory girl

● Machinist

   

Templating

   

Templating format

● Html/Erb

● HAML

● Textile (using RedCloth)

● Markaby

● Markdown (using BlueCloth)

   

Plugins

   

Authentication

● Restful_Authentication

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

● Cleareance

● Easy setup● Easy syntax

● Authlogic

● Lighter implementation

   

Attachment

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

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

   

Other useful plugins

● Will_paginate

● act_as_rated

● act_as_comentable

● Thinking Sphinx

   

Conclusion

   

What should I choose ?

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

not_act_as_sheep

   

Slides provided by Nicolas Alpi

Credits

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