SlideShare uma empresa Scribd logo
1 de 64
Baixar para ler offline
Future
Rails3
     uby   Matt   Aimonetti
MIM me



Matt Aimonetti
“morally loose, cheese eating surrender monkey”
                                        Ted Han
+

=
FUTURE
time period commonly understood
      to contain all events
    that have yet to occur.
RAILS 3
the future of web development
EVOLUTION
AUDIENCE
           app developers
Rails      entrepreneurs
           designers

           app developers
Merb       enterprise
           plugin authors
AUDIENCE

              app developers
              entrepreneurs
Rails 3       enterprise
              plugin authors
              designers
PRINCIPLES
            programmer happiness
Rails       strong conventions
            fluent design
            app developers
Merb        flexibility
            modularity
            speed
PRINCIPLES

               programmer happiness
               strong conventions
               fluent design
Rails 3
               flexibility
               modularity
               speed
ATOMIC
STRUCTURE
ATOMIC NUCLEUS
                      neutron
   proton




            Rails 2
Rails 3




ATOMIC CLUSTER
ActiveModel
    ActionWorker                   + ORM

                                  ActiveResource
ActionPack

  ActiveSupport                      ActionMailer

Generators                       Rack middlewares




                   Rails stack
NEW
ROUTER
match ‘awesome/:action’
rack love
constraints/filters
constraints(:ip => /192.168.1.ddd/) do
  get 'admin', :to => "dashboard#index"
end
Rack Apps
intregration
namespace :facebook do
 use MyMiddleware
 match "/game", :to => SinatraApp
end




      Rack app intregration
mountable apps
class MyForum < Rails::Application




        rack entry point
ACTIVE
      WORKER
                   push_queue
Thumbnailer.new(path, user, :action => :process)
background process
UNOBTRUSIVE
 JAVASCRIPT
    html 5
html ❺ ‘data-*’ attributes
one js API
interface for all libs
ORM
AGNOSTICITY
Active_Record
still the    Active    common
default     Relation     API
Datamapper
  Legacy      multiple       query        various
repository   repository   optimization   datastores
Sequel
                           Highly
 Prepared
             Sharding   customizable   Perf
Statements
                            SQL
Couchrest/
mongomapper/
  your_ORM
     etc..
INTERNAL
CLEANUP
PERFORMANCE
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
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
RUBY
 future
Ruby
            1.9.x
         IronRuby
1.8.7      JRuby
         MacRuby
         Rubinius
             2.0
Ruby 1.9.x

              better perf
1.9.x      better threading
                fibers
             official Ruby
            recommended
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
u tu re ?
               Ruby 2.0
¿ f
                     scalability
                    performance
  not              maintenabilty
started             multiple VMs
                selector namespace
                method combination
                        etc..
IronRuby
           .NET integration
          VisualStudio 201?
0.9.1          Silverlight
            IIS web server
               Microsoft
u tu re ?
               IronRuby
¿ f

          VisualStudio 201?
             better tools
             even better
             integration
            performance
JRuby

             java integration
1.4.0 RC1     native threads
               deployment
                   JVM
u tu re ?
               JRuby
¿ f

• java profiling/debugging tools
• better integration (hibernate..)
• .java file compilation
• better integration (server,
  mobile etc..)
• performance
MacRuby
           Cocoa integration
            AOT compilation
0.5 RC1       performance
                  GCD
          Apple support & tools
             OSX platform
u tu re ?
               MacRuby
¿ f
        •iPhone
        •instrumentation
        •better dev tools
        •performance
        •standardized
        •linux                      d
        •any C libs            a se
                            b i
Rubinius

        ruby almost all the way
0.12      full introspection
            C extensions
u tu re ?
               Rubinius
¿ f

      •AOT compiler
      •very powerful debugger
      •real time profiler
      •performance
VOCÊ
 you

Mais conteúdo relacionado

Destaque

Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
Manoj Kumar
 
Launching Ruby on Rails projects: A checklist
Launching Ruby on Rails projects: A checklistLaunching Ruby on Rails projects: A checklist
Launching Ruby on Rails projects: A checklist
Robby Russell
 

Destaque (20)

Ruby On Rails Basics
Ruby On Rails BasicsRuby On Rails Basics
Ruby On Rails Basics
 
C++ Core Guidelines
C++ Core GuidelinesC++ Core Guidelines
C++ Core Guidelines
 
Ruby On Rails pizza training
Ruby On Rails pizza trainingRuby On Rails pizza training
Ruby On Rails pizza training
 
Ruby/Rails
Ruby/RailsRuby/Rails
Ruby/Rails
 
Ruby and Rails by example
Ruby and Rails by exampleRuby and Rails by example
Ruby and Rails by example
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Ruby On Rails Overview
Ruby On Rails OverviewRuby On Rails Overview
Ruby On Rails Overview
 
Ruby & Rails Error Handling
Ruby & Rails Error HandlingRuby & Rails Error Handling
Ruby & Rails Error Handling
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Fun with Lambdas: C++14 Style (part 2)
Fun with Lambdas: C++14 Style (part 2)Fun with Lambdas: C++14 Style (part 2)
Fun with Lambdas: C++14 Style (part 2)
 
Ruby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start UpRuby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start Up
 
Ruby on Rails workshop for beginner
Ruby on Rails workshop for beginnerRuby on Rails workshop for beginner
Ruby on Rails workshop for beginner
 
Modern c++ (C++ 11/14)
Modern c++ (C++ 11/14)Modern c++ (C++ 11/14)
Modern c++ (C++ 11/14)
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
C++11
C++11C++11
C++11
 
遇見 Ruby on Rails
遇見 Ruby on Rails遇見 Ruby on Rails
遇見 Ruby on Rails
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Ruby On Rails Presentation
Ruby On Rails PresentationRuby On Rails Presentation
Ruby On Rails Presentation
 
Launching Ruby on Rails projects: A checklist
Launching Ruby on Rails projects: A checklistLaunching Ruby on Rails projects: A checklist
Launching Ruby on Rails projects: A checklist
 
25 Real Life Tips In Ruby on Rails Development
25 Real Life Tips In Ruby on Rails Development25 Real Life Tips In Ruby on Rails Development
25 Real Life Tips In Ruby on Rails Development
 

Semelhante a Future Of Ruby And Rails

20140419 oedo rubykaigi04
20140419 oedo rubykaigi0420140419 oedo rubykaigi04
20140419 oedo rubykaigi04
Hiroshi SHIBATA
 
20140425 ruby conftaiwan2014
20140425 ruby conftaiwan201420140425 ruby conftaiwan2014
20140425 ruby conftaiwan2014
Hiroshi SHIBATA
 
Ruby on Rails : 簡介與入門
Ruby on Rails : 簡介與入門Ruby on Rails : 簡介與入門
Ruby on Rails : 簡介與入門
Wen-Tien Chang
 
Rails Hardware (no conclusions!)
Rails Hardware (no conclusions!)Rails Hardware (no conclusions!)
Rails Hardware (no conclusions!)
yarry
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Nilesh Panchal
 

Semelhante a Future Of Ruby And Rails (20)

Node.js Explained
Node.js ExplainedNode.js Explained
Node.js Explained
 
.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011.NET Architects Day - DNAD 2011
.NET Architects Day - DNAD 2011
 
09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails09 - Fábio Akita - Além do rails
09 - Fábio Akita - Além do rails
 
Ruby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programingRuby on Rails 3.1: Let's bring the fun back into web programing
Ruby on Rails 3.1: Let's bring the fun back into web programing
 
20140419 oedo rubykaigi04
20140419 oedo rubykaigi0420140419 oedo rubykaigi04
20140419 oedo rubykaigi04
 
Machine vision and device integration with the Ruby programming language (2008)
Machine vision and device integration with the Ruby programming language (2008)Machine vision and device integration with the Ruby programming language (2008)
Machine vision and device integration with the Ruby programming language (2008)
 
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory CourseRuby on Rails 101 - Presentation Slides for a Five Day Introductory Course
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
 
Ruby and Rails for womens
Ruby and Rails for womensRuby and Rails for womens
Ruby and Rails for womens
 
20140425 ruby conftaiwan2014
20140425 ruby conftaiwan201420140425 ruby conftaiwan2014
20140425 ruby conftaiwan2014
 
JRuby - Programmer's Best Friend on JVM
JRuby - Programmer's Best Friend on JVMJRuby - Programmer's Best Friend on JVM
JRuby - Programmer's Best Friend on JVM
 
Speedy TDD with Rails
Speedy TDD with RailsSpeedy TDD with Rails
Speedy TDD with Rails
 
Connecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRubyConnecting the Worlds of Java and Ruby with JRuby
Connecting the Worlds of Java and Ruby with JRuby
 
Derailing rails
Derailing railsDerailing rails
Derailing rails
 
TorqueBox at DC:JBUG - November 2011
TorqueBox at DC:JBUG - November 2011TorqueBox at DC:JBUG - November 2011
TorqueBox at DC:JBUG - November 2011
 
Ruby on Rails : 簡介與入門
Ruby on Rails : 簡介與入門Ruby on Rails : 簡介與入門
Ruby on Rails : 簡介與入門
 
20141210 rakuten techtalk
20141210 rakuten techtalk20141210 rakuten techtalk
20141210 rakuten techtalk
 
RubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - KeynoteRubyEnRails2007 - Dr Nic Williams - Keynote
RubyEnRails2007 - Dr Nic Williams - Keynote
 
Get Going With RVM and Rails 3
Get Going With RVM and Rails 3Get Going With RVM and Rails 3
Get Going With RVM and Rails 3
 
Rails Hardware (no conclusions!)
Rails Hardware (no conclusions!)Rails Hardware (no conclusions!)
Rails Hardware (no conclusions!)
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
 

Mais de Matt Aimonetti

Macruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich KilmerMacruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich Kilmer
Matt Aimonetti
 

Mais de Matt Aimonetti (9)

Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010Macruby - RubyConf Presentation 2010
Macruby - RubyConf Presentation 2010
 
2D Video Games with MacRuby
2D Video Games with MacRuby2D Video Games with MacRuby
2D Video Games with MacRuby
 
Rails3: Stepping off of the golden path
Rails3: Stepping off of the golden pathRails3: Stepping off of the golden path
Rails3: Stepping off of the golden path
 
Macruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich KilmerMacruby& Hotcocoa presentation by Rich Kilmer
Macruby& Hotcocoa presentation by Rich Kilmer
 
MacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meetMacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meet
 
Merb For The Enterprise
Merb For The EnterpriseMerb For The Enterprise
Merb For The Enterprise
 
Merb presentation at ORUG
Merb presentation at ORUGMerb presentation at ORUG
Merb presentation at ORUG
 
Merb Plugins 101
Merb Plugins 101Merb Plugins 101
Merb Plugins 101
 
Lazy Indexing
Lazy IndexingLazy Indexing
Lazy Indexing
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Future Of Ruby And Rails