SlideShare a Scribd company logo
(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

PDF
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
PDF
Ruby, Ruby on Rails 2010
PDF
WordCamp Gdynia 2016
PPTX
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
PDF
Jruby on Rails
PDF
About EfficientCarbon
PPT
Fm 268-team share-ppt-nov-08
PPT
Fm 268-time-wasters for-managers-mar-17-
Tomasz Paszkowski - Loadbalancing ruchu HTTP w sieciach dostawców treści na ...
Ruby, Ruby on Rails 2010
WordCamp Gdynia 2016
4Developers 2015: Szybciej niż Struś Pędziwiatr - WebSockets w aplikacjach we...
Jruby on Rails
About EfficientCarbon
Fm 268-team share-ppt-nov-08
Fm 268-time-wasters for-managers-mar-17-

Similar to JRuby on Rails (20)

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

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