ruby beyond rails

Post on 08-May-2015

13.760 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

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

top related