De ce sa nu folosim Ruby On Rails?

Post on 13-May-2015

3,078 views 1 download

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

De ce sa nu folosimRuby on Rails?

Bogdan Gaza - InfoEducatie 2010

Monday, August 9, 2010

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

RubyMonday, August 9, 2010

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

Ruby

• Gandit pentru om mai intai si apoi pentru masina

• Fun & Productive

• Foarte semantic

Monday, August 9, 2010

Exemple

Monday, August 9, 2010

Ruby On RailsMonday, August 9, 2010

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

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

Module

Active Record = model

ActionPack = controller & view

ActiveResource = lucrul cu APIuri Rest

ActiveSupport = extinderea functionalitatilor deja existente in Ruby

Monday, August 9, 2010

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

ActiveRecord in Rails

Monday, August 9, 2010

DEMO

Aproape un blog in 10 minute

Monday, August 9, 2010

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

Monday, August 9, 2010

Exista foarte multe mituri/intrebare despre Rails

Monday, August 9, 2010

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

Monday, August 9, 2010

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

Nu exista hosting fiabil pentru Rails!

Monday, August 9, 2010

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

Rails se crashuieste de 400 de ori pe zi

Monday, August 9, 2010

Rails se crashuieste de 400 de ori pe zi

Twitter fail whale

Monday, August 9, 2010

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

Rails foloseste doar un framework de JavaScript

Monday, August 9, 2010

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

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

Rails, unde?

• Basecamp, Amazon, EA Games,

• Oracle

• CISCO

• NASA, BBC

• New York Times

Monday, August 9, 2010

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

Monday, August 9, 2010

Monday, August 9, 2010