Your SlideShare is downloading. ×
Future Of Ruby And Rails
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Future Of Ruby And Rails

4,932

Published on

Presentation given to RailsSummit 2009 in Brazil. The presentation covers the plan for Rails3 and the different Ruby implementations.

Presentation given to RailsSummit 2009 in Brazil. The presentation covers the plan for Rails3 and the different Ruby implementations.

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,932
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
113
Comments
0
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Future Rails3 uby Matt Aimonetti
  • 2. MIM me Matt Aimonetti
  • 3. “morally loose, cheese eating surrender monkey” Ted Han
  • 4. + =
  • 5. FUTURE time period commonly understood to contain all events that have yet to occur.
  • 6. RAILS 3 the future of web development
  • 7. EVOLUTION
  • 8. AUDIENCE app developers Rails entrepreneurs designers app developers Merb enterprise plugin authors
  • 9. AUDIENCE app developers entrepreneurs Rails 3 enterprise plugin authors designers
  • 10. PRINCIPLES programmer happiness Rails strong conventions fluent design app developers Merb flexibility modularity speed
  • 11. PRINCIPLES programmer happiness strong conventions fluent design Rails 3 flexibility modularity speed
  • 12. ATOMIC STRUCTURE
  • 13. ATOMIC NUCLEUS neutron proton Rails 2
  • 14. Rails 3 ATOMIC CLUSTER
  • 15. ActiveModel ActionWorker + ORM ActiveResource ActionPack ActiveSupport ActionMailer Generators Rack middlewares Rails stack
  • 16. NEW
  • 17. ROUTER match ‘awesome/:action’
  • 18. rack love
  • 19. constraints/filters
  • 20. constraints(:ip => /192.168.1.ddd/) do get 'admin', :to => "dashboard#index" end
  • 21. Rack Apps intregration
  • 22. namespace :facebook do use MyMiddleware match "/game", :to => SinatraApp end Rack app intregration
  • 23. mountable apps
  • 24. class MyForum < Rails::Application rack entry point
  • 25. ACTIVE WORKER push_queue Thumbnailer.new(path, user, :action => :process)
  • 26. background process
  • 27. UNOBTRUSIVE JAVASCRIPT html 5
  • 28. html ❺ ‘data-*’ attributes
  • 29. one js API interface for all libs
  • 30. ORM AGNOSTICITY
  • 31. Active_Record still the Active common default Relation API
  • 32. Datamapper Legacy multiple query various repository repository optimization datastores
  • 33. Sequel Highly Prepared Sharding customizable Perf Statements SQL
  • 34. Couchrest/ mongomapper/ your_ORM etc..
  • 35. INTERNAL CLEANUP
  • 36. PERFORMANCE
  • 37. RAILS 3 in a l f n o t SPEED BOOST hello world 3.02x render 2.59x partial 2.88x 10 partials 2.16x collection of 10 2.44x 103% 207% 310% Rails 3/Ruby 1.9 benchmarked against Rails 2.3.x/Ruby 1.8.7
  • 38. Ru y wo by em r er pe j m 20 rl d 09 1.9 k e 2.78x hello world 3.39x 2.49x render 3.38x 1.18x partial 4.9x 1.63x 10 partials 4x 6.27x collection 8x 200% 400% 600% 800% Ruby 1.8 Ruby 1.9
  • 39. RUBY future
  • 40. Ruby 1.9.x IronRuby 1.8.7 JRuby MacRuby Rubinius 2.0
  • 41. Ruby 1.9.x better perf 1.9.x better threading fibers official Ruby recommended
  • 42. in RAILS 3 a l f n o t BENCHMARKS Ruby 1.8.6 REE 1.87 Ruby 1.9.1 -4% hello world 17% 50% -3% render -10% 55% -10% partial 3% 24% -12% 10 partials -2% 77% -6% collection of 10 6% 35% -12% 7% 25% 43% 62% 80% % faster than Ruby 1.8.7 http://github.com/mattetti/rails-simple-benches
  • 43. u tu re ? Ruby 2.0 ¿ f scalability performance not maintenabilty started multiple VMs selector namespace method combination etc..
  • 44. IronRuby .NET integration VisualStudio 201? 0.9.1 Silverlight IIS web server Microsoft
  • 45. u tu re ? IronRuby ¿ f VisualStudio 201? better tools even better integration performance
  • 46. JRuby java integration 1.4.0 RC1 native threads deployment JVM
  • 47. u tu re ? JRuby ¿ f • java profiling/debugging tools • better integration (hibernate..) • .java file compilation • better integration (server, mobile etc..) • performance
  • 48. MacRuby Cocoa integration AOT compilation 0.5 RC1 performance GCD Apple support & tools OSX platform
  • 49. u tu re ? MacRuby ¿ f •iPhone •instrumentation •better dev tools •performance •standardized •linux d •any C libs a se b i
  • 50. Rubinius ruby almost all the way 0.12 full introspection C extensions
  • 51. u tu re ? Rubinius ¿ f •AOT compiler •very powerful debugger •real time profiler •performance
  • 52. VOCÊ you

×