32
Úvod do Ruby On Rails Karel Minařík

Úvod do Ruby on Rails

Embed Size (px)

DESCRIPTION

Stručný úvod doRuby on Rails na Open Meetingu v Praze

Citation preview

Page 1: Úvod do Ruby on Rails

Úvod do Ruby On RailsKarel Minařík

Page 2: Úvod do Ruby on Rails

Úvod do RubyOnRails

Co je RubyOnRails?1

Page 3: Úvod do Ruby on Rails

Úvod do RubyOnRails

Proč používat webový framework?

Page 4: Úvod do Ruby on Rails
Page 5: Úvod do Ruby on Rails

„Představil jsem si chlápka chytřejšího než jsem já.A pak jsem přemýšlel, co by udělal.“

Page 6: Úvod do Ruby on Rails

„Toto je sněhová vločka. Vaše aplikace není jedna z nich. Většina věcí, které většina lidí dělá, není nijak unikátní. Vaše potřeby nejsou nijak ‚zvláštní‘.“

David Heinemeier Hansson, přednáška na konferenci Future Of Web Applications, únor 2006

Page 7: Úvod do Ruby on Rails

Úvod do RubyOnRails

SELECT * FROM people WHERE id = 1;SELECT * FROM people WHERE id = 1;SELECT * FROM people WHERE id = 1;SELECT * FROM people WHERE id = 1;SELECT * FROM people WHERE id = 1;SELECT * FROM people WHERE id = 1;SELECT * FROM people WHERE id = 1;

Page 8: Úvod do Ruby on Rails

Úvod do RubyOnRails

> 3 roky

Page 9: Úvod do Ruby on Rails

Úvod do RubyOnRails

http://www.rubyonrails.org

Page 10: Úvod do Ruby on Rails

Úvod do RubyOnRails

Page 11: Úvod do Ruby on Rails

Úvod do RubyOnRails

Page 12: Úvod do Ruby on Rails

Úvod do RubyOnRails

Basecamp

Page 13: Úvod do Ruby on Rails

Úvod do RubyOnRails

!"

3 pohledy na Rails001110011000101110011001110011100110 $

Page 14: Úvod do Ruby on Rails

Úvod do RubyOnRails

Technologický001110011000101110011001110011100110

Model-View-Controller framework

Objektově relační mapování

Routování (→ REST)

Usnadnění práce (helpers, extensions, pluginy, konvence, …)

Page 15: Úvod do Ruby on Rails

Úvod do RubyOnRails

$ Ekonomický

Standardizace vývoje

Rychlejší a kvalitnější vývoj

Využití existujících řešení (RubyGems, pluginy)

Silver bullet

„PR-benefit“

Page 16: Úvod do Ruby on Rails

Úvod do RubyOnRails

!" Filosofický

Konvence má přednost před konfigurací Convention Over Configuration

Kvalitativní posun celého vývoje pro web

Zavádění best practices

Agilní vývoj

Pragmatismus

Page 17: Úvod do Ruby on Rails

Úvod do RubyOnRails

Programovací jazyk Ruby

Page 18: Úvod do Ruby on Rails

Úvod do RubyOnRails

Page 19: Úvod do Ruby on Rails

— Yukihiro Matsumoto (Matz)

Page 20: Úvod do Ruby on Rails

Úvod do RubyOnRails

„Věřím, že – alespoň do jisté míry – je smyslem života být šťastný.

Na základě tohoto přesvědčení je Ruby navrženo tak, že je

nejenom snadné, ale i zábavné v něm programovat. Ruby vám

umožňuje soustředit se na kreativní stránku programování,

a nepřidělává vám další starosti.“Yukihiro Matsumoto, předmluva k prvnímu vydání knihy Programming Ruby

Page 21: Úvod do Ruby on Rails

Úvod do RubyOnRails

Programovací jazyk Ruby

InterpretovanýExpresivní, úsporná syntaxeDynamickýObjektový (1.upto 5)

Silné typování Duck typing

Reflektivní → Meta programování

Core Library www.ruby-doc.org/coreStandard Library — YAML, Logger, FileStat, Net::HTTP, Iconv, RDoc, Test::Unit, Benchmark, … www.ruby-doc.org/stdlibRubyGems www.rubyforge.orgRuby Application Archive www.raa.ruby-lang.org

Page 22: Úvod do Ruby on Rails

Úvod do RubyOnRails

Klíčové součásti Ruby On Rails

Page 23: Úvod do Ruby on Rails

Úvod do RubyOnRails

KLÍČOVÉ SOUČÁSTI RUBY ON RAILS

1) Model—View—Controller architektura

2) Objektově relační mapování ActiveRecord

3) Směrování HTTP požadavků na řídící prvky aplikace ActionPack (ActionController a ActionView)

4) Webové služby typu REST ActiveResource

5) Odesílání e-mailů ActionMailer

6) Rozšíření Ruby ActiveSupport

Přehled

Page 24: Úvod do Ruby on Rails

Úvod do RubyOnRails

Další zdroje a informace

Page 25: Úvod do Ruby on Rails

Úvod do RubyOnRails

KLÍČOVÉ SOUČÁSTI RUBY ON RAILS

Editory a IDE pro Ruby a Rails

TextMate Mac OS X

NetBeans

Aptana RadRails

CodeGear 3rd Rail

Page 26: Úvod do Ruby on Rails

Úvod do RubyOnRails

KLÍČOVÉ SOUČÁSTI RUBY ON RAILS

Zdroje a informace

Peter Cooper, Beginning RubyApress 2007

Dave Thomas, David Heinemeier Hansson, Agile Web Development With Ruby On Rails, 2nd editionPragmatic Bookshelf 2006

Page 27: Úvod do Ruby on Rails

Úvod do RubyOnRails

KLÍČOVÉ SOUČÁSTI RUBY ON RAILS

www.rubyinside.comwww.planetrubyonrails.comwww.railscasts.comwww.peepcode.com

http://forum.rubyonrails.czhttp://planet.rubyonrails.cz#rubyonrails (IRC kanál na IRCNet)

www.railsforphp.comhttp://www.ruby-lang.org/en/documentation/ruby-from-other-languages/to-ruby-from-php

Zdroje a informace

Page 28: Úvod do Ruby on Rails

Úvod do RubyOnRails

KLÍČOVÉ SOUČÁSTI RUBY ON RAILS

Podpora na hostinguRailshosting.cz

Vzájemná provázanost mnoha technologií„Lots of moving parts“

Náročné na výkon> 50MB pro jednu Rails aplikaci

Ruby — nový a jiný programovací jazykPHP s námi nebude věčně

Nedostatek vývojářůMůže být i výhoda

Dokumentace = Zdrojový kódVyvažuje silná komunita

Silná vazba na *nix prostředí a konzoliObtížný provoz v prostředí Windows

Nevýhody a slabé stránky Rails

Page 29: Úvod do Ruby on Rails

Úvod do RubyOnRails

Živá ukázka tvorby aplikace v Rails2

Page 30: Úvod do Ruby on Rails

Úvod do RubyOnRails

www.tadalist.com od 37Signals

Page 31: Úvod do Ruby on Rails

Úvod do RubyOnRails

create app/controllers create app/helpers create app/models create app/views/layouts create config/environments create config/initializers create db create doc create lib create lib/tasks create log create public/images create public/javascripts create public/stylesheets create script/performance create script/process create test/fixtures create test/functional create test/integration create test/mocks/development create test/mocks/test create test/unit create vendor create vendor/plugins create tmp/sessions create tmp/sockets create tmp/cache

$ sudo gem install rails$ rails -v$ rails planner

Ukázka

Page 32: Úvod do Ruby on Rails

Děkuji!

[email protected]