Úvod do Ruby on Rails

Post on 15-May-2015

3,723 views 5 download

description

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

transcript

Úvod do Ruby On RailsKarel Minařík

Úvod do RubyOnRails

Co je RubyOnRails?1

Úvod do RubyOnRails

Proč používat webový framework?

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

„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

Ú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;

Úvod do RubyOnRails

> 3 roky

Úvod do RubyOnRails

http://www.rubyonrails.org

Úvod do RubyOnRails

Úvod do RubyOnRails

Úvod do RubyOnRails

Basecamp

Úvod do RubyOnRails

!"

3 pohledy na Rails001110011000101110011001110011100110 $

Ú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, …)

Ú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“

Ú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

Úvod do RubyOnRails

Programovací jazyk Ruby

Úvod do RubyOnRails

— Yukihiro Matsumoto (Matz)

Ú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

Ú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

Úvod do RubyOnRails

Klíčové součásti 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

Úvod do RubyOnRails

Další zdroje a informace

Ú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

Ú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

Ú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

Ú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

Úvod do RubyOnRails

Živá ukázka tvorby aplikace v Rails2

Úvod do RubyOnRails

www.tadalist.com od 37Signals

Ú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

Děkuji!

karmi@karmi.cz