37
RUBY ON RAILS Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας Οικονομικό Πανεπιστήμιο Αθηνών Θωμάς Ασίκης Κωνσταντίνος Σταύρου

Ruby on Rails - An overview

Embed Size (px)

DESCRIPTION

A presentantion about ruby on rails, made by 2 students of IT and Management. Explains the basics of the ruby on rails web application development.

Citation preview

Page 1: Ruby on Rails -  An overview

RUBY ON RAILS

Τμήμα Διοικητικής Επιστήμης και ΤεχνολογίαςΟικονομικό Πανεπιστήμιο Αθηνών

Θωμάς Ασίκης Κωνσταντίνος Σταύρου

Page 2: Ruby on Rails -  An overview

AN INTRODUCTION…

Some general things:

o Ruby is the programming language.

o Rails is a Web Development Framework on top of Ruby.

Page 3: Ruby on Rails -  An overview

ABOUT RUBYRuby is:

o Dynamic – executes on runtime.

o Reflective – modifies itself on runtime.

o General purpose – can be used for any programming purpose.

oOpen Source…

o Object oriented…

o High-Level…

Page 4: Ruby on Rails -  An overview

THE RUBY STORYDeveloped in the early-1990s.

Created by Yukihiro "Matz" Matsumoto.

Originates from Japan.

First released on February 1995.

Next major release, Ruby 2.0 expected on 2013.

Page 5: Ruby on Rails -  An overview

TECHNICAL INFOInterprets to C.

Uses the best practices from Perl, Smalltalk, Eiffel, and Lisp.

Ruby follows the principle of least astonishment (POLA). Works as expected.

Alternative implementations of Ruby, including YARV, JRuby, Rubinius, IronRuby,MacRuby, and HotRuby.

Page 6: Ruby on Rails -  An overview

INSTALLING RUBYDepending on tour system there are many different installation ways.

The 3 basic Ways are:1. You can compile it from source.2. You can install it through 3rd party

tools, RVM – Linux/MacOS, Ruby Installer – Windows.

3. Via package managers:Apt-get install, yum install,brew install, pacman –S etc.

Page 7: Ruby on Rails -  An overview

FILE EXTENSIONSThe most popular file extensions of Ruby (and also Rails) files are:

o .rb the Ruby class files.

o .gem Ruby package files that may containRuby programs and libraries.

o .yml data mapping files.

o .html.erb Ruby html files.

Page 8: Ruby on Rails -  An overview

DO YOU SPEAK RUBY?Ruby is a scripting language, which has one goal:

To be programmer friendly.

So it's expressive, and closer to physical language.

Page 9: Ruby on Rails -  An overview

SOME RUBY TALKSomething no one ever seen before…Let’s do an innovative Hello World example:

puts "Hello World!"

Page 10: Ruby on Rails -  An overview

RUBY LOGICIn Ruby Everything is an object. There are no primitive types. Lines and | are code seperators.

No need to declare variable types. For exampe:

@name #a variable@name = 2 #a number@name = “Kaiser Chiefs” #a String@name = 1..52 #a range@name = [“Rails”,12,[6,7,9],3..53]

#a collection

Page 11: Ruby on Rails -  An overview

RUBY LOGIC AGAINA class exampleclass Person

attr_accessor :nameend

Class instance Examplebob = Person.newbob.name = “Bob the Builder” Blocks example – blocks are anonymous functions workers = [Bob, Maria, George, Sylvia]for person in workers do

puts person.nameendworkers.each do |person|

puts person.nameend 

Page 12: Ruby on Rails -  An overview

RUBY LOGIC AGAIN AND AGAINIterrators examplebest_workers = workers.select{|person| person.name.include? ”a”} Hashes are a great way to store things:

Hash examplefav_djs = {“tiesto” => 8, “deadmau5” => 6, “kaskade” => 3, “benassi” => 7}fav_djs[“deadmau5”] >> 6fav_djs[“benassi”]+=2 >> 9fav_djs[“afrojack”] = 5

Page 13: Ruby on Rails -  An overview

HOW TO HACK SOMETHING USING RUBY…

Now we know enough to…

Just Kiddin, let’s dive into Rails

Page 14: Ruby on Rails -  An overview

Rails

Page 15: Ruby on Rails -  An overview

SO? WHAT’S RAILS?•Open source

• MVC Web Framework

•Optimized for programmer happiness.

•Developed for database backed web applications,.

•Very AGILE

Page 16: Ruby on Rails -  An overview

FOR STARTERSRails is a ruby web framework.

It was designed by David Heinemeier Hansson.

Was released as an open source project on 2004.

And joined Mac on 2007.

Page 17: Ruby on Rails -  An overview

MVC ON RAILS

Page 18: Ruby on Rails -  An overview

SOMETIMES PICTURES AREN’T ENOUGH• This pattern splits the view (also called the presentation) into "dumb" templates that are primarily responsible for inserting pre-built data in between HTML tags. • The model contains the "smart" domain objects (such as Account, Product, Person, Post) that holds all the business logic and knows how to persist themselves to a database.

• The controller handles the incoming requests (such as Save New Account, Update Product, Show Post) by manipulating the model and directing data to the view.

Page 19: Ruby on Rails -  An overview

RAILS FIGHTS FORWrite Less Do More.

DRY – Don’t Repeat Yourself.

COC – Convention over Configuration.

REST- Representational State Transfer.

Page 20: Ruby on Rails -  An overview

HOW EASY IS TO LEARN RAILS?

Page 21: Ruby on Rails -  An overview

RAILS CAPABILITIES•ORM : Object Relational Mapping.

•CRUD: Create Read Update Deletea Database.

•Both BDD and TDD: Behavior and Test Driven Development.

•Ajax and Web Services.

•Meta Programming.

Page 22: Ruby on Rails -  An overview

WHAT IS ORM?Active Record (ORM)An ORM layer built-in maps classes to tables so :

•Every row is an object.•Every column is an object attribute.

Also it uses conventions to minimize configuration.

Page 23: Ruby on Rails -  An overview

COMPATIBILITYMost Platforms :Linux, Windows, MacOs etc.

Most Databases : MySQL, Sqlite, NoSQL etc.

A lot of Web Servers :Nginx, Apache, Passenger etc.

Page 24: Ruby on Rails -  An overview

RAILS VS JAVA AND PHP

Page 25: Ruby on Rails -  An overview

GETTING STARTED

All Rails Apps use the same structure.

No matter the editor or IDE you are using, the projects have the same build.

The newer versions always support the older.

Page 26: Ruby on Rails -  An overview

RAILS 3.0 PROJECT STRUCTURE

Page 27: Ruby on Rails -  An overview

DEVELOPER TOOLS

Editors: vim, gedit, Textmate and more

IDEs: RubyMine, Eclipse with plugin, Aptana, Radrails, 3rdRail

Page 28: Ruby on Rails -  An overview

GETTING STARTED

Installation, 3 steps:

1. Open your terminal, no matter the OS you are using.

2. Type: gem install rails

3. Press enter, sit back and enjoy.

Page 29: Ruby on Rails -  An overview

BUILD YOUR FIRST APP

1. Open your terminal and cd to the folder where you want to place your project .

2. Type & enter:rails new Project_Name

3. Type & enter:rails s

4. Visit your localhost:3000, from your browser

5. You can see your first rails app running

Page 30: Ruby on Rails -  An overview

BUILD YOUR FIRST APPThis is what you would

see…

Page 31: Ruby on Rails -  An overview

FAMOUS WEBSITES ON RAILS

Page 32: Ruby on Rails -  An overview

FAMOUS WEBSITES ON RAILS

Page 33: Ruby on Rails -  An overview

FAMOUS WEBSITES ON RAILS

Page 34: Ruby on Rails -  An overview

FAMOUS WEBSITES ON RAILS

Page 35: Ruby on Rails -  An overview

USEFUL LINKS

• http://rubyonrails.org/• http://railsforzombies.org/• http://ruby.railstutorial.org/• http://

www.aptana.com/products/radrails• http://railscasts.com/• http://

www.ruby-forum.com/forum/rails• http://www.google.gr/• http://www.slideshare.net/

Page 36: Ruby on Rails -  An overview

AND SOME PERSONAL TIPSDon’t be afraid to search and try, it pays… a lot.

Page 37: Ruby on Rails -  An overview

ANY QUESTIONS ??

Don’t worry guys,we got this.