2. contents
I. what is Ruby on Rails?
II. what does it all mean?
III. who uses Ruby on Rails?
IV. want to get some?
A presentation by
3. what is Ruby on Rails?
an open source frameworks consisting of 2
parts:
Ruby – the programming language
Rails – the frameworks that was inspired by Struts
A presentation by
4. what is Ruby on Rails?
used for ‘agile’ web development by allowing a
developer to use the ‘CoC’ principle and
RubyGems
CoC – (Convention over Configuration) is a design principle that makes the
implementation and coding of a project simpler by making the developer only
specify the unconventional aspects of a app. For instance if a developer creates
a class in the code the DB table will be named the same by default and all calls
to that class will automatically reference that table
RubyGem – a system for managing Ruby Software libraries. These libraries allow
a developer to quickly add components like forms or member management
without having to worry about dependences to other libraries since they are built
to run as a independent package.
A presentation by
5. what does it all mean?
tell me more about Ruby
• an object-oriented programming inspired by Perl that was created in
the mid-1990s and was initially developed and designed by Yukihiro
quot;Matzquot; Matsumoto.
• created with the goal of making the programmer do less work.
• very flexible programming language
• features dynamic typing.
• built in garbage collector, this is used to keep from leaking memory.
• can load libraries dynamically based on need
• highly portable: developed mostly on GNU/Linux, but works on many
types of UNIX, Mac OS X, Windows 95/98/Me/NT/2000/XP, DOS,
BeOS, OS/2, etc.
• currently on build 1.8.7
A presentation by
6. what does it all mean?
tell me more about Rails
• it was extracted by David Hansson from his work on Basecamp
• a programmer can use something called ‘scaffolding’ which
automatically generates basic pieces of code necessary for the
‘logistics’ (deleting, adding, reading) of a site.
• built to use JS libraries out of the box so it is very behavior rich on the
front end.
• does a great job of separating the MVC, which allows a developer to
make ‘Web 2.0’ based apps that easily connects to the Server and DB,
then packages the DB Row info into an object on the View
• works with
• Server - Apache, lighttpd, or nginx proxying to Mongrel
• Database - MySQL, PostgreSQL, SQLite, Oracle, SQL
Server, DB2 etc.
A presentation by
7. what does it all mean?
what are the drawbacks of using it?
• still new so things like security holes are being found all
the time
• setting up the Server to run RoR can be very challenging
• since so many things are done automatically out of the
box - creation of DB tables, adding, modifying, deleting
info in the tables - programmers can get lazy and the
app can become hard to scale (see Twitter)
• can be hard to find good programmers
• most programmers need to learn 2 new technologies,
Ruby and Rails
A presentation by
8. what does it all mean?
when should I use it?
• when creating a web app from scratch and need
many of the components found in modern Web 2.0
offerings. RoR gives you these out of the box.
• when a web site is being driven by information from a
Database.
• have a visual rich site, since RoR does a good job
separating the MVC changes can be made data-
handling without effecting the UI.
• you have an aggressive timeframe for launching a
product
A presentation by
9. who uses Ruby on Rails?
http://www.basecamphq.com/
http://www.campfirenow.com/
http://www.43things.com/
http://www.coastr.com/
http://twitter.com/
http://www.yellowpages.com/
A presentation by
10. want to get some?
hello@momentumdesignlab.com
1.866.542.7124
A presentation by