SlideShare a Scribd company logo
1 of 13
Download to read offline
(J)Ruby on Rails
                                    Hubert Łępicki
                                 Wojciech Piekutowski




Białystok, JTeam, 2010-04-22
Rails i Java




Białystok, JTeam, 2010-04-22
Ruby
    http://www.ruby-lang.org/pl/
    http://jruby.org/




Białystok, JTeam, 2010-04-22
Rails
    David Heinemeier Hansson
    2004
    Używalne w roku 2007 (IMHO)
    Produkt uboczny pracy przy projekcie Basecamp
     (http://basecamphq.com)
    Dziś używany przez: Hulu, Scribd, Twitter, Github...
    Używany w prawie wszystkim co tworzy AmberBit :)



Białystok, JTeam, 2010-04-22
Slogany
    MVC
    Convention Over Configurationon
    Don't Repeat yourself (DRY)
    POLS (principle of least surprise) – Ruby
    BDD / TDD
    REST




Białystok, JTeam, 2010-04-22
MVC w Rails




Białystok, JTeam, 2010-04-22
MVC w Rails: Model
    Warstwa Modeli:
     - domyślnie jest to ActiveRecord – SQL
     - alternatywy (SQL)
       - DataMapper, Sequel
     - alternatywy (NoSQL)
       - MongoMapper, MongoId, Ripple, couch_foo




Białystok, JTeam, 2010-04-22
MVC w Rails: Widok
    Renderuje treść odpowiedzi HTTP
    Domyślnie: ERB
    Alternatywy:
     - HAML
     - Liquid
     - Builder (XML)
     - Markaby
     - wiele innych...



Białystok, JTeam, 2010-04-22
MVC w Rails: Kontroler
    ActionController
     - ściśle powiązany z Routerem
    Alternatywy? Tak jakby...
     - Rack Middleware
     - Rails Metal




Białystok, JTeam, 2010-04-22
REST
    GET /posts                - pobiera listę artykułów
    POST /posts               - tworzy nowy artykuł
    PUT /posts/id             - aktualizuje treść artykułu
    GET /posts/id             - pobiera dany post
    DELETE /posts/id          - usuwa dany post

     Dodatkowo:
    GET /posts/new            - formularz dodawania artykułu
    GET /posts/id/edit        - formularz edycji artykułu
Białystok, JTeam, 2010-04-22
PUT, DELETE?!?
    RFC-2616
    Dodatkowe słówka używane są np. w WebDav
    Przeglądarki? Tylko GET i POST w formularzach HTML.
    Hack:
     <input type=”hidden” name=”_method” value=”put” />
    Problemy:
     - linki do DELETE muszą korzystać z JavaScriptu




Białystok, JTeam, 2010-04-22
Dziękujemy! Pytania?




Białystok, JTeam, 2010-04-22
AmberBit
    http://amberbit.com
    http://amberbit.pl



    Zasoby dotyczące prezentacji (kod, nagrania):
     http://amberbit.pl/blog-pl




Białystok, JTeam, 2010-04-22

More Related Content

Similar to JRuby on Rails

Agregacja i analiza logów
Agregacja i analiza logówAgregacja i analiza logów
Agregacja i analiza logówDivante
 
TorqueBox - moc Javy, piękno Rubiego
TorqueBox - moc Javy, piękno RubiegoTorqueBox - moc Javy, piękno Rubiego
TorqueBox - moc Javy, piękno Rubiegomarekgoldmann
 
Podstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław SobieckiPodstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław SobieckiGrzegorz Bartman
 
Modularny JavaScript - meet.js
Modularny JavaScript - meet.jsModularny JavaScript - meet.js
Modularny JavaScript - meet.jsPatryk Jar
 
Biblioteka Nauki - techniczne możliwości wymiany metadanych
Biblioteka Nauki - techniczne możliwości wymiany metadanychBiblioteka Nauki - techniczne możliwości wymiany metadanych
Biblioteka Nauki - techniczne możliwości wymiany metadanychPlatforma Otwartej Nauki
 
REST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp TrójmiastoREST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp TrójmiastoTomasz Dziuda
 
Semantyka w tworzeniu stron www prezentacja
Semantyka w tworzeniu stron www   prezentacjaSemantyka w tworzeniu stron www   prezentacja
Semantyka w tworzeniu stron www prezentacjaPiotr Nalepa
 
Alternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbAlternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbWojciech Soczyński
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayTomasz Dziuda
 
Błędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówBłędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówArkadiusz Stęplowski
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzkeGaldoMedia
 
Budowa RESTowego api w oparciu o HATEOAS
Budowa RESTowego api w oparciu o HATEOASBudowa RESTowego api w oparciu o HATEOAS
Budowa RESTowego api w oparciu o HATEOASMateusz Stępniak
 
WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2Tomasz Dziuda
 
Wprowadzenie do WP-API
Wprowadzenie do WP-APIWprowadzenie do WP-API
Wprowadzenie do WP-APITomasz Dziuda
 
WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4Tomasz Dziuda
 

Similar to JRuby on Rails (20)

Czym Jest Web 2.0?
Czym Jest Web 2.0?Czym Jest Web 2.0?
Czym Jest Web 2.0?
 
Agregacja i analiza logów
Agregacja i analiza logówAgregacja i analiza logów
Agregacja i analiza logów
 
TorqueBox - moc Javy, piękno Rubiego
TorqueBox - moc Javy, piękno RubiegoTorqueBox - moc Javy, piękno Rubiego
TorqueBox - moc Javy, piękno Rubiego
 
Wordpress i nagłówki
Wordpress i nagłówkiWordpress i nagłówki
Wordpress i nagłówki
 
Podstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław SobieckiPodstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław Sobiecki
 
Modularny JavaScript - meet.js
Modularny JavaScript - meet.jsModularny JavaScript - meet.js
Modularny JavaScript - meet.js
 
Biblioteka Nauki - techniczne możliwości wymiany metadanych
Biblioteka Nauki - techniczne możliwości wymiany metadanychBiblioteka Nauki - techniczne możliwości wymiany metadanych
Biblioteka Nauki - techniczne możliwości wymiany metadanych
 
REST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp TrójmiastoREST API - teoria i praktyka - WordUp Trójmiasto
REST API - teoria i praktyka - WordUp Trójmiasto
 
Semantyka w tworzeniu stron www prezentacja
Semantyka w tworzeniu stron www   prezentacjaSemantyka w tworzeniu stron www   prezentacja
Semantyka w tworzeniu stron www prezentacja
 
Alternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDbAlternatywne podejście do baz danych - MongoDb
Alternatywne podejście do baz danych - MongoDb
 
Jak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training DayJak nadążyć za światem front-endu - WordPress Training Day
Jak nadążyć za światem front-endu - WordPress Training Day
 
AJAX - wdw1
AJAX - wdw1AJAX - wdw1
AJAX - wdw1
 
Błędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderówBłędy userów, niedoróbki koderów
Błędy userów, niedoróbki koderów
 
Extjs & netzke
Extjs & netzkeExtjs & netzke
Extjs & netzke
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 
Budowa RESTowego api w oparciu o HATEOAS
Budowa RESTowego api w oparciu o HATEOASBudowa RESTowego api w oparciu o HATEOAS
Budowa RESTowego api w oparciu o HATEOAS
 
Html5 i css3
Html5 i css3Html5 i css3
Html5 i css3
 
WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2WP-API - teoria i praktyka - WordUp Trójmiasto #2
WP-API - teoria i praktyka - WordUp Trójmiasto #2
 
Wprowadzenie do WP-API
Wprowadzenie do WP-APIWprowadzenie do WP-API
Wprowadzenie do WP-API
 
WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4WP-API - teoria i praktyka - WordUp Łódź #4
WP-API - teoria i praktyka - WordUp Łódź #4
 

JRuby on Rails

  • 1. (J)Ruby on Rails Hubert Łępicki Wojciech Piekutowski Białystok, JTeam, 2010-04-22
  • 2. Rails i Java Białystok, JTeam, 2010-04-22
  • 3. Ruby  http://www.ruby-lang.org/pl/  http://jruby.org/ Białystok, JTeam, 2010-04-22
  • 4. Rails  David Heinemeier Hansson  2004  Używalne w roku 2007 (IMHO)  Produkt uboczny pracy przy projekcie Basecamp (http://basecamphq.com)  Dziś używany przez: Hulu, Scribd, Twitter, Github...  Używany w prawie wszystkim co tworzy AmberBit :) Białystok, JTeam, 2010-04-22
  • 5. Slogany  MVC  Convention Over Configurationon  Don't Repeat yourself (DRY)  POLS (principle of least surprise) – Ruby  BDD / TDD  REST Białystok, JTeam, 2010-04-22
  • 6. MVC w Rails Białystok, JTeam, 2010-04-22
  • 7. MVC w Rails: Model  Warstwa Modeli: - domyślnie jest to ActiveRecord – SQL - alternatywy (SQL) - DataMapper, Sequel - alternatywy (NoSQL) - MongoMapper, MongoId, Ripple, couch_foo Białystok, JTeam, 2010-04-22
  • 8. MVC w Rails: Widok  Renderuje treść odpowiedzi HTTP  Domyślnie: ERB  Alternatywy: - HAML - Liquid - Builder (XML) - Markaby - wiele innych... Białystok, JTeam, 2010-04-22
  • 9. MVC w Rails: Kontroler  ActionController - ściśle powiązany z Routerem  Alternatywy? Tak jakby... - Rack Middleware - Rails Metal Białystok, JTeam, 2010-04-22
  • 10. REST  GET /posts - pobiera listę artykułów  POST /posts - tworzy nowy artykuł  PUT /posts/id - aktualizuje treść artykułu  GET /posts/id - pobiera dany post  DELETE /posts/id - usuwa dany post Dodatkowo:  GET /posts/new - formularz dodawania artykułu  GET /posts/id/edit - formularz edycji artykułu Białystok, JTeam, 2010-04-22
  • 11. PUT, DELETE?!?  RFC-2616  Dodatkowe słówka używane są np. w WebDav  Przeglądarki? Tylko GET i POST w formularzach HTML.  Hack: <input type=”hidden” name=”_method” value=”put” />  Problemy: - linki do DELETE muszą korzystać z JavaScriptu Białystok, JTeam, 2010-04-22
  • 13. AmberBit  http://amberbit.com  http://amberbit.pl  Zasoby dotyczące prezentacji (kod, nagrania): http://amberbit.pl/blog-pl Białystok, JTeam, 2010-04-22