SlideShare a Scribd company logo
Ruby
Beyond
Rails
Lanka Ruby User Group
28 October 2009



Gaveen Prabhasara
http://gaveen.owain.org
Ruby beyond Rails
1993




                    Matz
                    (Yukihiro Matsumoto)
                    Creates Ruby
Ruby beyond Rails
Late 90s




                    Ruby gets
                    Recognition outside
                    Japan
Ruby beyond Rails
2004




                    DHH
                    (David Heinemeier
                    Hansson) Creates
                    Ruby on Rails
Ruby beyond Rails
Then
            Ruby becomes mainstream




Ruby beyond Rails
Now
  Everybody think Ruby is the shorten term
             for Ruby on Rails




Ruby beyond Rails
Now
  Everybody think Ruby is the shorten term
             for Ruby on Rails



       And Everything is Fine! :)

Ruby beyond Rails
Ruby beyond Rails
Ruby is a
Web programming language, right?




Ruby beyond Rails
No!
                    (And sort of Yes)




Ruby beyond Rails
What else can Ruby Do?




Ruby beyond Rails
Quite a lot actually




Ruby beyond Rails
“a dynamic, open source programming language with a focus on
   simplicity and productivity. It has an elegant syntax that is natural
   to read and easy to write.”
                                                   - Ruby Official Website



   "a dynamic, reflective, general purpose object-oriented programming
   language...
                                                   - Wikipedia



                        http://www.ruby-lang.org/


Ruby beyond Rails
has many implementations

       MRI/YARV, JRuby, Rubinius, IronRuby,
      MagLev, Blue Ruby, MacRuby, HotRuby,
                   tinyrb, etc.

     Which means Ruby is available on many
             Software platforms



Ruby beyond Rails
can run in many environments

       Linux, Windows, MacOS X, SymbianOS,
            Common Unix variants, etc.

     Which means Ruby is available on many
             Operating Systems




Ruby beyond Rails
Among other things,




               Good string processing
          Good RegEx engine (Oniguruma)
             Easy network programming
                Highly readable code
                    Low entry barrier
              High developer happiness

Ruby beyond Rails
Let's see what else is there




Ruby beyond Rails
Before we start




http://www.slideshare.net/adamwiggins/ruby-isnt-just-about-rails-presentation


Ruby beyond Rails
Web Application Frameworks




Ruby beyond Rails
Ruby can be used to program web applications
    If you like with many available options such as




http://rubyonrails.org/   http://merbivore.org/   http://www.sinatrarb.com/




Ruby beyond Rails
Lightweight Web Servers




Ruby beyond Rails
There are quite a few lightweight web servers/
          Web server libraries written in Ruby




http://code.macournoyer.com/thin/         http://mongrel.rubyforge.org/




                      http://unicorn.bogomips.org/




Ruby beyond Rails
Web Servers Interface




Ruby beyond Rails
In the form of Rack, unifies the API for web servers,
     web frameworks, and software in between




                    http://rack.rubyforge.org/




Ruby beyond Rails
Scripting




Ruby beyond Rails
Ruby has always been a popular choice as a
                Scripting language




Ruby beyond Rails
Other than that there are several scripting
        Tools available in the Ruby world


      Rake    - http://rake.rubyforge.org/
      Thor    - http://github.com/wycats/thor
      Boson   - http://github.com/cldwalker/boson




Ruby beyond Rails
There is also a Ruby Shell available for
                 scripting purposes




                    http://rush.heroku.com/




Ruby beyond Rails
Security




Ruby beyond Rails
The popular Open Source Exploitation Framework
 and Security tool Metasploit is written with Ruby

        From the web UI to the disassembler


                    http://www.metasploit.com/


 Plus the Metasploit Rex library (Ruby) which is
 included in the Motasploit Framework contains
                 a lot a goodies.

                      Check it out!



Ruby beyond Rails
Mobile Applications




Ruby beyond Rails
Ruby native implementation is already available
       under certain versions of SymbianOS

     Rhodes mobile application framework enables
the development of cross-platform mobile applications
For iPhone, Android, WinMo, Symbian, BlackBerry
    using Ruby which are compiled into native code




                     http://rhomobile.com/



 Ruby beyond Rails
VoIP




Ruby beyond Rails
Adhearsion project brings the elegance of Ruby
        Into the voice application domain




                    http://adhearsion.com/




Ruby beyond Rails
Deployment




Ruby beyond Rails
Capistrano makes deploying Ruby web applications
   (and others up to a certain mark) very easy




                       http://www.capify.org/


   There are alternatives to Capistrano (for Rails
                  deployment) such as
       Vlad - http://rubyhitsquad.com/Vlad_the_Deployer.html
              Inploy - http://github.com/dcrec1/inploy



Ruby beyond Rails
Infrastructure Management




Ruby beyond Rails
Puppet is the current industry champion in the
        Configuration Management game




            http://reductivelabs.com/products/puppet/


        Chef is another tool similar to Puppet
                 http://github.com/opscode/chef


Ruby beyond Rails
What do you think now?




Ruby beyond Rails
For further information have a look at the white paper
           “The Ruby and Rails Ecosystem”




          http://www.infoether.com/ruby-and-rails-whitepaper

 Disclaimer: The author was completely unaware of this whitepaper when
 he was preparing these slides


Ruby beyond Rails
These are just generic introductions
    Had to manage within the time constraints
    Hope to do some hands on sessions in future



                    Q&A


Ruby beyond Rails

More Related Content

What's hot

PHP in the Cloud
PHP in the CloudPHP in the Cloud
PHP in the Cloud
Acquia
 
MacRuby
MacRubyMacRuby
MacRuby
bostonrb
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
Hatem Al Sum
 
Ruby and Security
Ruby and SecurityRuby and Security
Ruby and Security
Carl Sampson, CSSLP
 
Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6
Takuya Nishimoto
 
Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails Presentation
Joost Hietbrink
 
Ruby Past, Present, Future
Ruby   Past, Present, FutureRuby   Past, Present, Future
Ruby Past, Present, Future
adamfine
 
Ruby on Rails Development Services Company Overview
Ruby on Rails Development Services Company OverviewRuby on Rails Development Services Company Overview
Ruby on Rails Development Services Company Overview
Mobiloitte
 
Ruby in office time reboot
Ruby in office time rebootRuby in office time reboot
Ruby in office time reboot
Kentaro Goto
 
Productive Rails development with RubyMine
Productive Rails development with RubyMineProductive Rails development with RubyMine
Productive Rails development with RubyMine
olegshpynov
 
Ruby Presentation - Beamer
Ruby Presentation - BeamerRuby Presentation - Beamer
Ruby Presentation - Beamer
Christopher Giroir
 
JRuby in the enterprise
JRuby in the enterpriseJRuby in the enterprise
JRuby in the enterprise
Jerry Gulla
 
Crate - ruby based standalone executables
Crate - ruby based standalone executablesCrate - ruby based standalone executables
Crate - ruby based standalone executables
Jeremy Hinegardner
 
Why ruby
Why rubyWhy ruby
Why ruby
Bill Chea
 
Tech Webinar: Web App in un'ora con Ruby on Rails
Tech Webinar: Web App in un'ora con Ruby on RailsTech Webinar: Web App in un'ora con Ruby on Rails
Tech Webinar: Web App in un'ora con Ruby on Rails
Codemotion
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
Tatarao voleti
 
Ro r trilogy-part-1
Ro r trilogy-part-1Ro r trilogy-part-1
Ro r trilogy-part-1
sdeconf
 
Why JRuby?
Why JRuby?Why JRuby?
Why JRuby?
Fiona Tay
 
Dynamic Languages on the JVM
Dynamic Languages on the JVMDynamic Languages on the JVM
Dynamic Languages on the JVM
elliando dias
 
JRuby deployments
JRuby deploymentsJRuby deployments
JRuby deployments
berninme
 

What's hot (20)

PHP in the Cloud
PHP in the CloudPHP in the Cloud
PHP in the Cloud
 
MacRuby
MacRubyMacRuby
MacRuby
 
Ruby on Rails
Ruby on RailsRuby on Rails
Ruby on Rails
 
Ruby and Security
Ruby and SecurityRuby and Security
Ruby and Security
 
Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6
 
Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails Presentation
 
Ruby Past, Present, Future
Ruby   Past, Present, FutureRuby   Past, Present, Future
Ruby Past, Present, Future
 
Ruby on Rails Development Services Company Overview
Ruby on Rails Development Services Company OverviewRuby on Rails Development Services Company Overview
Ruby on Rails Development Services Company Overview
 
Ruby in office time reboot
Ruby in office time rebootRuby in office time reboot
Ruby in office time reboot
 
Productive Rails development with RubyMine
Productive Rails development with RubyMineProductive Rails development with RubyMine
Productive Rails development with RubyMine
 
Ruby Presentation - Beamer
Ruby Presentation - BeamerRuby Presentation - Beamer
Ruby Presentation - Beamer
 
JRuby in the enterprise
JRuby in the enterpriseJRuby in the enterprise
JRuby in the enterprise
 
Crate - ruby based standalone executables
Crate - ruby based standalone executablesCrate - ruby based standalone executables
Crate - ruby based standalone executables
 
Why ruby
Why rubyWhy ruby
Why ruby
 
Tech Webinar: Web App in un'ora con Ruby on Rails
Tech Webinar: Web App in un'ora con Ruby on RailsTech Webinar: Web App in un'ora con Ruby on Rails
Tech Webinar: Web App in un'ora con Ruby on Rails
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Ro r trilogy-part-1
Ro r trilogy-part-1Ro r trilogy-part-1
Ro r trilogy-part-1
 
Why JRuby?
Why JRuby?Why JRuby?
Why JRuby?
 
Dynamic Languages on the JVM
Dynamic Languages on the JVMDynamic Languages on the JVM
Dynamic Languages on the JVM
 
JRuby deployments
JRuby deploymentsJRuby deployments
JRuby deployments
 

Viewers also liked

SEA Rails na pratica
SEA Rails na praticaSEA Rails na pratica
SEA Rails na pratica
Túlio Ornelas
 
Introdução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on RailsIntrodução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on Rails
Julio Betta
 
Mini-curso RoR - Apresentação
Mini-curso RoR - ApresentaçãoMini-curso RoR - Apresentação
Mini-curso RoR - Apresentação
Agence Educacional
 
Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71
Lindomar ...
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
Miguel Galves
 
Introdução ao Ruby On Rails
Introdução ao Ruby On RailsIntrodução ao Ruby On Rails
Introdução ao Ruby On Rails
Milton Moura
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011
Andre Bernardes
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01
Agence Educacional
 
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
Dante Regis
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
Douglas Roeder
 
Segurança em Rails
Segurança em RailsSegurança em Rails
Segurança em Rails
Juan Maiz
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On Rails
Andre Ferraro
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
ismaelstahelin
 
Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Apresentação ruby + rails 2014
Apresentação ruby + rails 2014
Marcelo Bohn
 
Rails na pratica
Rails na praticaRails na pratica
Rails na pratica
Túlio Ornelas
 
ActiveRecord Query Interface (1), Season 1
ActiveRecord Query Interface (1), Season 1ActiveRecord Query Interface (1), Season 1
ActiveRecord Query Interface (1), Season 1
RORLAB
 
Make your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsMake your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On Rails
Nataly Tkachuk
 
ActiveRecord Validations, Season 2
ActiveRecord Validations, Season 2ActiveRecord Validations, Season 2
ActiveRecord Validations, Season 2
RORLAB
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
Marcos Thomaz
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
Lucas Caton
 

Viewers also liked (20)

SEA Rails na pratica
SEA Rails na praticaSEA Rails na pratica
SEA Rails na pratica
 
Introdução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on RailsIntrodução ao Desenvolvimento WEB com Ruby on Rails
Introdução ao Desenvolvimento WEB com Ruby on Rails
 
Mini-curso RoR - Apresentação
Mini-curso RoR - ApresentaçãoMini-curso RoR - Apresentação
Mini-curso RoR - Apresentação
 
Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71
 
Django: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento webDjango: Uso de frameworks ágeis para desenvolvimento web
Django: Uso de frameworks ágeis para desenvolvimento web
 
Introdução ao Ruby On Rails
Introdução ao Ruby On RailsIntrodução ao Ruby On Rails
Introdução ao Ruby On Rails
 
Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011Desenvolvimento Ágil com Rails GURUSC 2011
Desenvolvimento Ágil com Rails GURUSC 2011
 
Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01Mini-curso RoR - Aula 01
Mini-curso RoR - Aula 01
 
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
[PDF] Repensando o Desenvolvimento Web com Ruby on Rails
 
Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01Palestra Ruby on Rails SETA 2008/01
Palestra Ruby on Rails SETA 2008/01
 
Segurança em Rails
Segurança em RailsSegurança em Rails
Segurança em Rails
 
Introducao ao Ruby On Rails
Introducao ao Ruby On RailsIntroducao ao Ruby On Rails
Introducao ao Ruby On Rails
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Apresentação ruby + rails 2014
Apresentação ruby + rails 2014Apresentação ruby + rails 2014
Apresentação ruby + rails 2014
 
Rails na pratica
Rails na praticaRails na pratica
Rails na pratica
 
ActiveRecord Query Interface (1), Season 1
ActiveRecord Query Interface (1), Season 1ActiveRecord Query Interface (1), Season 1
ActiveRecord Query Interface (1), Season 1
 
Make your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On RailsMake your app idea a reality with Ruby On Rails
Make your app idea a reality with Ruby On Rails
 
ActiveRecord Validations, Season 2
ActiveRecord Validations, Season 2ActiveRecord Validations, Season 2
ActiveRecord Validations, Season 2
 
Conhecendo o Django
Conhecendo o DjangoConhecendo o Django
Conhecendo o Django
 
Desenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on RailsDesenvolvimento ágil de software com Ruby on Rails
Desenvolvimento ágil de software com Ruby on Rails
 

Similar to Ruby Beyond Rails

Ruby on rails backend development preferred choice for product owners
Ruby on rails backend development preferred choice for product ownersRuby on rails backend development preferred choice for product owners
Ruby on rails backend development preferred choice for product owners
Katy Slemon
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
iradarji
 
The story of language development
The story of language developmentThe story of language development
The story of language development
Hiroshi SHIBATA
 
Úvod do Ruby on Rails
Úvod do Ruby on RailsÚvod do Ruby on Rails
Úvod do Ruby on Rails
Karel Minarik
 
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Marylene Sawyer
 
Ruby on Rails Introduction M&P - IT Skill Development Program 07
Ruby on Rails Introduction M&P - IT Skill Development Program 07Ruby on Rails Introduction M&P - IT Skill Development Program 07
Ruby on Rails Introduction M&P - IT Skill Development Program 07
Muhammad Sunny ✈
 
Ruby, Rails, and the Open Source Community
Ruby, Rails, and the Open Source CommunityRuby, Rails, and the Open Source Community
Ruby, Rails, and the Open Source Community
Jim Myhrberg
 
Instruments ruby on rails
Instruments ruby on railsInstruments ruby on rails
Instruments ruby on rails
pmashchak
 
Ruby for Android Apps Development Services
Ruby for Android Apps Development ServicesRuby for Android Apps Development Services
Ruby for Android Apps Development Services
Mobiloitte
 
Ruby on Rails best resources for self
Ruby on Rails best resources for selfRuby on Rails best resources for self
Ruby on Rails best resources for self
Durga Prasad Tumu
 
Ruby and Rails short motivation
Ruby and Rails short motivationRuby and Rails short motivation
Ruby and Rails short motivation
jistr
 
Ruby on rails
Ruby on rails   Ruby on rails
Ruby on rails
Commit Software Sh.p.k.
 
Ruby Rails Web Development.pdf
Ruby Rails Web Development.pdfRuby Rails Web Development.pdf
Ruby Rails Web Development.pdf
Ayesha Siddika
 
Ruby on Rails Vs JavaScript A Comparative Analysis of Technologies for Web De...
Ruby on Rails Vs JavaScript A Comparative Analysis of Technologies for Web De...Ruby on Rails Vs JavaScript A Comparative Analysis of Technologies for Web De...
Ruby on Rails Vs JavaScript A Comparative Analysis of Technologies for Web De...
OliviaWatson27
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09
Shaer Hassan
 
Overview of ruby on rails 2016
Overview of ruby on rails 2016Overview of ruby on rails 2016
Overview of ruby on rails 2016
Clustox
 
IronRuby: Ruby on the .NET Platform
IronRuby: Ruby on the .NET PlatformIronRuby: Ruby on the .NET Platform
IronRuby: Ruby on the .NET Platform
Andre John Cruz
 
01 index
01 index01 index
01 index
Walker Maidana
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
mithunsasidharan
 
Ruby and rails around the web fun, informative sites for new and experienced...
Ruby and rails around the web  fun, informative sites for new and experienced...Ruby and rails around the web  fun, informative sites for new and experienced...
Ruby and rails around the web fun, informative sites for new and experienced...
Durga Prasad Tumu
 

Similar to Ruby Beyond Rails (20)

Ruby on rails backend development preferred choice for product owners
Ruby on rails backend development preferred choice for product ownersRuby on rails backend development preferred choice for product owners
Ruby on rails backend development preferred choice for product owners
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 
Úvod do Ruby on Rails
Úvod do Ruby on RailsÚvod do Ruby on Rails
Úvod do Ruby on Rails
 
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
Building Modern Applications in Ruby: Fast, Efficient, Versatile, and Cost-Ef...
 
Ruby on Rails Introduction M&P - IT Skill Development Program 07
Ruby on Rails Introduction M&P - IT Skill Development Program 07Ruby on Rails Introduction M&P - IT Skill Development Program 07
Ruby on Rails Introduction M&P - IT Skill Development Program 07
 
Ruby, Rails, and the Open Source Community
Ruby, Rails, and the Open Source CommunityRuby, Rails, and the Open Source Community
Ruby, Rails, and the Open Source Community
 
Instruments ruby on rails
Instruments ruby on railsInstruments ruby on rails
Instruments ruby on rails
 
Ruby for Android Apps Development Services
Ruby for Android Apps Development ServicesRuby for Android Apps Development Services
Ruby for Android Apps Development Services
 
Ruby on Rails best resources for self
Ruby on Rails best resources for selfRuby on Rails best resources for self
Ruby on Rails best resources for self
 
Ruby and Rails short motivation
Ruby and Rails short motivationRuby and Rails short motivation
Ruby and Rails short motivation
 
Ruby on rails
Ruby on rails   Ruby on rails
Ruby on rails
 
Ruby Rails Web Development.pdf
Ruby Rails Web Development.pdfRuby Rails Web Development.pdf
Ruby Rails Web Development.pdf
 
Ruby on Rails Vs JavaScript A Comparative Analysis of Technologies for Web De...
Ruby on Rails Vs JavaScript A Comparative Analysis of Technologies for Web De...Ruby on Rails Vs JavaScript A Comparative Analysis of Technologies for Web De...
Ruby on Rails Vs JavaScript A Comparative Analysis of Technologies for Web De...
 
Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09Ror Seminar With agilebd.org on 23 Jan09
Ror Seminar With agilebd.org on 23 Jan09
 
Overview of ruby on rails 2016
Overview of ruby on rails 2016Overview of ruby on rails 2016
Overview of ruby on rails 2016
 
IronRuby: Ruby on the .NET Platform
IronRuby: Ruby on the .NET PlatformIronRuby: Ruby on the .NET Platform
IronRuby: Ruby on the .NET Platform
 
01 index
01 index01 index
01 index
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
Ruby and rails around the web fun, informative sites for new and experienced...
Ruby and rails around the web  fun, informative sites for new and experienced...Ruby and rails around the web  fun, informative sites for new and experienced...
Ruby and rails around the web fun, informative sites for new and experienced...
 

Recently uploaded

Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
Safe Software
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
Antonios Katsarakis
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 

Recently uploaded (20)

Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Essentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation ParametersEssentials of Automations: Exploring Attributes & Automation Parameters
Essentials of Automations: Exploring Attributes & Automation Parameters
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
Dandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity serverDandelion Hashtable: beyond billion requests per second on a commodity server
Dandelion Hashtable: beyond billion requests per second on a commodity server
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 

Ruby Beyond Rails

  • 1. Ruby Beyond Rails Lanka Ruby User Group 28 October 2009 Gaveen Prabhasara http://gaveen.owain.org
  • 3. 1993 Matz (Yukihiro Matsumoto) Creates Ruby Ruby beyond Rails
  • 4. Late 90s Ruby gets Recognition outside Japan Ruby beyond Rails
  • 5. 2004 DHH (David Heinemeier Hansson) Creates Ruby on Rails Ruby beyond Rails
  • 6. Then Ruby becomes mainstream Ruby beyond Rails
  • 7. Now Everybody think Ruby is the shorten term for Ruby on Rails Ruby beyond Rails
  • 8. Now Everybody think Ruby is the shorten term for Ruby on Rails And Everything is Fine! :) Ruby beyond Rails
  • 10. Ruby is a Web programming language, right? Ruby beyond Rails
  • 11. No! (And sort of Yes) Ruby beyond Rails
  • 12. What else can Ruby Do? Ruby beyond Rails
  • 13. Quite a lot actually Ruby beyond Rails
  • 14. “a dynamic, open source programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write.” - Ruby Official Website "a dynamic, reflective, general purpose object-oriented programming language... - Wikipedia http://www.ruby-lang.org/ Ruby beyond Rails
  • 15. has many implementations MRI/YARV, JRuby, Rubinius, IronRuby, MagLev, Blue Ruby, MacRuby, HotRuby, tinyrb, etc. Which means Ruby is available on many Software platforms Ruby beyond Rails
  • 16. can run in many environments Linux, Windows, MacOS X, SymbianOS, Common Unix variants, etc. Which means Ruby is available on many Operating Systems Ruby beyond Rails
  • 17. Among other things, Good string processing Good RegEx engine (Oniguruma) Easy network programming Highly readable code Low entry barrier High developer happiness Ruby beyond Rails
  • 18. Let's see what else is there Ruby beyond Rails
  • 21. Ruby can be used to program web applications If you like with many available options such as http://rubyonrails.org/ http://merbivore.org/ http://www.sinatrarb.com/ Ruby beyond Rails
  • 23. There are quite a few lightweight web servers/ Web server libraries written in Ruby http://code.macournoyer.com/thin/ http://mongrel.rubyforge.org/ http://unicorn.bogomips.org/ Ruby beyond Rails
  • 25. In the form of Rack, unifies the API for web servers, web frameworks, and software in between http://rack.rubyforge.org/ Ruby beyond Rails
  • 27. Ruby has always been a popular choice as a Scripting language Ruby beyond Rails
  • 28. Other than that there are several scripting Tools available in the Ruby world Rake - http://rake.rubyforge.org/ Thor - http://github.com/wycats/thor Boson - http://github.com/cldwalker/boson Ruby beyond Rails
  • 29. There is also a Ruby Shell available for scripting purposes http://rush.heroku.com/ Ruby beyond Rails
  • 31. The popular Open Source Exploitation Framework and Security tool Metasploit is written with Ruby From the web UI to the disassembler http://www.metasploit.com/ Plus the Metasploit Rex library (Ruby) which is included in the Motasploit Framework contains a lot a goodies. Check it out! Ruby beyond Rails
  • 33. Ruby native implementation is already available under certain versions of SymbianOS Rhodes mobile application framework enables the development of cross-platform mobile applications For iPhone, Android, WinMo, Symbian, BlackBerry using Ruby which are compiled into native code http://rhomobile.com/ Ruby beyond Rails
  • 35. Adhearsion project brings the elegance of Ruby Into the voice application domain http://adhearsion.com/ Ruby beyond Rails
  • 37. Capistrano makes deploying Ruby web applications (and others up to a certain mark) very easy http://www.capify.org/ There are alternatives to Capistrano (for Rails deployment) such as Vlad - http://rubyhitsquad.com/Vlad_the_Deployer.html Inploy - http://github.com/dcrec1/inploy Ruby beyond Rails
  • 39. Puppet is the current industry champion in the Configuration Management game http://reductivelabs.com/products/puppet/ Chef is another tool similar to Puppet http://github.com/opscode/chef Ruby beyond Rails
  • 40. What do you think now? Ruby beyond Rails
  • 41. For further information have a look at the white paper “The Ruby and Rails Ecosystem” http://www.infoether.com/ruby-and-rails-whitepaper Disclaimer: The author was completely unaware of this whitepaper when he was preparing these slides Ruby beyond Rails
  • 42. These are just generic introductions Had to manage within the time constraints Hope to do some hands on sessions in future Q&A Ruby beyond Rails