De ce sa nu folosim Ruby On Rails?

28

Click here to load reader

description

O incursiune prin unul dintre cele mai populare framework-uri de dezvoltare agila a aplicatiilor web, vazuta din perspetiva unui developer PHP. Avantaje si dezavantaje in invatarea unui nou limbaj pentru a dezvolta mult mai usor aplicatii web.

Transcript of De ce sa nu folosim Ruby On Rails?

Page 1: De ce sa nu folosim Ruby On Rails?

De ce sa nu folosimRuby on Rails?

Bogdan Gaza - InfoEducatie 2010

Monday, August 9, 2010

Page 2: De ce sa nu folosim Ruby On Rails?

Despre mine

• Student la Facultatea de Informatica din Iasi

• Ruby & Rails fan

• RailsAdmin @ RubySOC 2010

• Al 5-lea an la InfoEducatie

Monday, August 9, 2010

Page 3: De ce sa nu folosim Ruby On Rails?

RubyMonday, August 9, 2010

Page 4: De ce sa nu folosim Ruby On Rails?

Ruby

Limbaj de programare - orientat obiect

Creat de Yukihiro Matsumoto aka "Matz"

De la 1.0 in 1995 la 1.9.2beta in 2010

2.0 in development

Monday, August 9, 2010

Page 5: De ce sa nu folosim Ruby On Rails?

Ruby

• Gandit pentru om mai intai si apoi pentru masina

• Fun & Productive

• Foarte semantic

Monday, August 9, 2010

Page 6: De ce sa nu folosim Ruby On Rails?

Exemple

Monday, August 9, 2010

Page 7: De ce sa nu folosim Ruby On Rails?

Ruby On RailsMonday, August 9, 2010

Page 8: De ce sa nu folosim Ruby On Rails?

Ruby On Rails

MVC

Multe functionalitati - out of the box

Gandit pentru dezvoltare agila

Convention over Configuration (CoC)

Don't Repeat Yourself (DRY)

Monday, August 9, 2010

Page 9: De ce sa nu folosim Ruby On Rails?

Ruby On Rails

Extras dintr-un proiect: Basecamp (project manager)

Versiunea stabila 2.3.8

Versiunea in development 3.0 RC1

Multe lucruri se schimba in Rails 3

Monday, August 9, 2010

Page 10: De ce sa nu folosim Ruby On Rails?

Module

Active Record = model

ActionPack = controller & view

ActiveResource = lucrul cu APIuri Rest

ActiveSupport = extinderea functionalitatilor deja existente in Ruby

Monday, August 9, 2010

Page 11: De ce sa nu folosim Ruby On Rails?

ActiveRecord

• ORM

• Un design pattern pentru lucrul cu DB-ul

• Un obiect este mapat la un rand dintr-un tabel al bazei de date

• Obiectul imi ofera metode de prelucrare asupra randului

aceleasi ca si functionalitatil pe care si dbul le ofera

Monday, August 9, 2010

Page 12: De ce sa nu folosim Ruby On Rails?

ActiveRecord in Rails

Monday, August 9, 2010

Page 13: De ce sa nu folosim Ruby On Rails?

DEMO

Aproape un blog in 10 minute

Monday, August 9, 2010

Page 14: De ce sa nu folosim Ruby On Rails?

Si totusi de ce NU ar trebui sa-l folosim?

Monday, August 9, 2010

Page 15: De ce sa nu folosim Ruby On Rails?

Exista foarte multe mituri/intrebare despre Rails

Monday, August 9, 2010

Page 16: De ce sa nu folosim Ruby On Rails?

Deja stiu un limbaj de programare de ce sa mai invat Ruby?

Monday, August 9, 2010

Page 17: De ce sa nu folosim Ruby On Rails?

Inca un limbaj de programare!

• Marea majoritate a aplicatiilor web sunt scrise folosind PHP

• Ruby nu este doar web oriented

• Ruby foloseste o alta paradigma decat cea a PHP/C

Monday, August 9, 2010

Page 18: De ce sa nu folosim Ruby On Rails?

Nu exista hosting fiabil pentru Rails!

Monday, August 9, 2010

Page 19: De ce sa nu folosim Ruby On Rails?

Hosting pentru Rails

• Modalitatile de hostare pentru Rails au evoluat

• FastCGI

• Mongrel + Nginx

• Mongrel + Apache mod_proxy_balancer

• mod_passenger + Apache

Monday, August 9, 2010

Page 20: De ce sa nu folosim Ruby On Rails?

Rails se crashuieste de 400 de ori pe zi

Monday, August 9, 2010

Page 21: De ce sa nu folosim Ruby On Rails?

Rails se crashuieste de 400 de ori pe zi

Twitter fail whale

Monday, August 9, 2010

Page 22: De ce sa nu folosim Ruby On Rails?

Fiabilitatea Rails

• Sute de developeri muncesc activ la Rails

• Fiecare functionalitate a frameworkului este testata automat

• 100% din liniile de cod sunt testate automat

• Rails ofera Test::Unit sau rSpec pentru a scrie teste

Monday, August 9, 2010

Page 23: De ce sa nu folosim Ruby On Rails?

Rails foloseste doar un framework de JavaScript

Monday, August 9, 2010

Page 24: De ce sa nu folosim Ruby On Rails?

Javascript & Rails

• Rails ofera posibilitate generarii automate de Javascript

• Framework-ul folosit out of the box este Prototype + Script.aculo.us

• Dar acest framework se poate schimba cu ... orice alt framework!

Monday, August 9, 2010

Page 25: De ce sa nu folosim Ruby On Rails?

Multe alte mituri

• Rails stie doar engleza # => i18n

• Rails este greu din cauza ca Ruby este greu# => Ruby este USOR, Rails este SI mai USOR

• Rails nu scaleaza # => modalitati de hosting

• Rails copiaza alte framework-uri

Monday, August 9, 2010

Page 26: De ce sa nu folosim Ruby On Rails?

Rails, unde?

• Basecamp, Amazon, EA Games,

• Oracle

• CISCO

• NASA, BBC

• New York Times

Monday, August 9, 2010

Page 27: De ce sa nu folosim Ruby On Rails?

Folositi Rails, dar ca orice alta tehnologie gasiti un motiv pentru aceasta

Monday, August 9, 2010

Page 28: De ce sa nu folosim Ruby On Rails?

Monday, August 9, 2010