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