SlideShare a Scribd company logo
1 of 28
Download to read offline
De ce sa nu folosim
                           Ruby 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
Ruby
Monday, 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 Rails
Monday, 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
Twitter
  fail whale




                     Rails se crashuieste de 400 de ori pe zi

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 Ruby este USOR, Rails esteRuby este greu
                      # =>
                            este greu din cauza ca
                                                       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

More Related Content

More from Bogdan Gaza

Weightlifting at SimplySocial
Weightlifting at SimplySocialWeightlifting at SimplySocial
Weightlifting at SimplySocialBogdan Gaza
 
Understanding and measuring web performance
Understanding and measuring web performanceUnderstanding and measuring web performance
Understanding and measuring web performanceBogdan Gaza
 
[CLIW] Web testing
[CLIW] Web testing[CLIW] Web testing
[CLIW] Web testingBogdan Gaza
 
[TW] CSS Files Optimization
[TW] CSS Files Optimization[TW] CSS Files Optimization
[TW] CSS Files OptimizationBogdan Gaza
 
RailsAdmin - the right way of doing data administration with Rails 3
RailsAdmin - the right way of doing data administration with Rails 3RailsAdmin - the right way of doing data administration with Rails 3
RailsAdmin - the right way of doing data administration with Rails 3Bogdan Gaza
 
NoSQL in the context of Social Web
NoSQL in the context of Social WebNoSQL in the context of Social Web
NoSQL in the context of Social WebBogdan Gaza
 

More from Bogdan Gaza (8)

Weightlifting at SimplySocial
Weightlifting at SimplySocialWeightlifting at SimplySocial
Weightlifting at SimplySocial
 
Understanding and measuring web performance
Understanding and measuring web performanceUnderstanding and measuring web performance
Understanding and measuring web performance
 
[CLIW] Web testing
[CLIW] Web testing[CLIW] Web testing
[CLIW] Web testing
 
[TW] Node.js
[TW] Node.js[TW] Node.js
[TW] Node.js
 
[TW] CSS Files Optimization
[TW] CSS Files Optimization[TW] CSS Files Optimization
[TW] CSS Files Optimization
 
Fosdem2011
Fosdem2011Fosdem2011
Fosdem2011
 
RailsAdmin - the right way of doing data administration with Rails 3
RailsAdmin - the right way of doing data administration with Rails 3RailsAdmin - the right way of doing data administration with Rails 3
RailsAdmin - the right way of doing data administration with Rails 3
 
NoSQL in the context of Social Web
NoSQL in the context of Social WebNoSQL in the context of Social Web
NoSQL in the context of Social Web
 

De ce sa nu folosim Ruby On Rails?

  • 1. De ce sa nu folosim Ruby on Rails? Bogdan Gaza - InfoEducatie 2010 Monday, August 9, 2010
  • 2. 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
  • 4. 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
  • 5. Ruby • Gandit pentru om mai intai si apoi pentru masina • Fun & Productive • Foarte semantic Monday, August 9, 2010
  • 7. Ruby On Rails Monday, August 9, 2010
  • 8. 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
  • 9. 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
  • 10. Module Active Record = model ActionPack = controller & view ActiveResource = lucrul cu APIuri Rest ActiveSupport = extinderea functionalitatilor deja existente in Ruby Monday, August 9, 2010
  • 11. 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
  • 13. DEMO Aproape un blog in 10 minute Monday, August 9, 2010
  • 14. Si totusi de ce NU ar trebui sa-l folosim? Monday, August 9, 2010
  • 15. Exista foarte multe mituri/intrebare despre Rails Monday, August 9, 2010
  • 16. Deja stiu un limbaj de programare de ce sa mai invat Ruby? Monday, August 9, 2010
  • 17. 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
  • 18. Nu exista hosting fiabil pentru Rails! Monday, August 9, 2010
  • 19. 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
  • 20. Rails se crashuieste de 400 de ori pe zi Monday, August 9, 2010
  • 21. Twitter fail whale Rails se crashuieste de 400 de ori pe zi Monday, August 9, 2010
  • 22. 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
  • 23. Rails foloseste doar un framework de JavaScript Monday, August 9, 2010
  • 24. 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
  • 25. Multe alte mituri • Rails stie doar engleza # => i18n • Rails Ruby este USOR, Rails esteRuby este greu # => este greu din cauza ca SI mai USOR • Rails nu scaleaza # => modalitati de hosting • Rails copiaza alte framework-uri Monday, August 9, 2010
  • 26. Rails, unde? • Basecamp, Amazon, EA Games, • Oracle • CISCO • NASA, BBC • New York Times Monday, August 9, 2010
  • 27. Folositi Rails, dar ca orice alta tehnologie gasiti un motiv pentru aceasta Monday, August 9, 2010