Upload
gaveen-prabhasara
View
13.754
Download
4
Embed Size (px)
DESCRIPTION
Slides from my session at Lanka Ruby User Group meetup (28th Oct 2009). I talked about why Ruby is much more than just Rails and web applications.
Citation preview
RubyBeyondRails
Gaveen Prabhasara
http://gaveen.owain.org
Lanka Ruby User Group
28 October 2009
Ruby beyond Rails
1993
Matz
(Yukihiro Matsumoto)
Creates RubyRuby beyond Rails
Late 90s
Ruby gets
Recognition outside
JapanRuby beyond Rails
2004
DHH
(David Heinemeier
Hansson) Creates
Ruby on RailsRuby beyond Rails
Then
Ruby becomes mainstream
Ruby beyond Rails
Now
Everybody think Ruby is the shorten termfor Ruby on Rails
Ruby beyond Rails
Now
Everybody think Ruby is the shorten termfor Ruby on Rails
And Everything is Fine! :)
Ruby beyond Rails
Ruby beyond Rails
Ruby is aWeb 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
Ruby beyond Rails
“a dynamic, open source programming language with a focus onsimplicity and productivity. It has an elegant syntax that is naturalto read and easy to write.”
"a dynamic, reflective, general purpose object-oriented programminglanguage...
- Ruby Official Website
- 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 manySoftware platforms
Ruby beyond Rails
can run in many environments
Linux, Windows, MacOS X, SymbianOS,Common Unix variants, etc.
Which means Ruby is available on manyOperating Systems
Good string processing
Good RegEx engine (Oniguruma)
Easy network programming
Highly readable code
Low entry barrier
High developer happiness
Among other things,
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
Ruby beyond Rails
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 aScripting language
Other than that there are several scriptingTools available in the Ruby world
Ruby beyond Rails
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 forscripting purposes
http://rush.heroku.com/
Security
Ruby beyond Rails
Ruby beyond Rails
The popular Open Source Exploitation Frameworkand 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 isincluded in the Motasploit Framework contains
a lot a goodies.
Check it out!
Mobile Applications
Ruby beyond Rails
Ruby beyond Rails
Ruby native implementation is already availableunder certain versions of SymbianOS
Rhodes mobile application framework enablesthe development of cross-platform mobile applicationsFor iPhone, Android, WinMo, Symbian, BlackBerry
using Ruby which are compiled into native code
http://rhomobile.com/
VoIP
Ruby beyond Rails
Ruby beyond Rails
Adhearsion project brings the elegance of RubyInto the voice application domain
http://adhearsion.com/
Deployment
Ruby beyond Rails
Capistrano makes deploying Ruby web applications(and others up to a certain mark) very easy
Ruby beyond Rails
http://www.capify.org/
There are alternatives to Capistrano (for Rails
deployment) such asVlad - http://rubyhitsquad.com/Vlad_the_Deployer.html
Inploy - http://github.com/dcrec1/inploy
Infrastructure Management
Ruby beyond Rails
Ruby beyond Rails
Puppet is the current industry champion in theConfiguration Management game
http://reductivelabs.com/products/puppet/
Chef is another tool similar to Puppethttp://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 whenhe 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