Ruby on Rails – vývoj dynamických web 2.0 aplikácií
1. | Fenomén Web 2.0 |
2. | Ruby on Rails – vývoj dynamických web 2.0 aplikácií |
Ruby on Rails – vývoj dynamických web 2.0 aplikácií
REST a Rails
Prototype, script.aculo.us a Rails
Pototype a Rails
AJAX
Script.aculo.us a Rails
Vizuálne efekty
Efekty scipt.aculo.us
Záver
Cieľom tejto práce bolo v úvode charakterizovať pojem web 2.0, popísať jeho črty a detailnejšie popísať niektoré z prostriedkov, ktoré sú s týmto pojmom spojené. Snahou bolo zamerať sa hlavne na rozdiely medzi technológiou web 1.0 a web 2.0, i keď toto rozlíšenie nie je častokrát úplne jednoznačné, keďže všetky prostriedky, ktoré využíva web 1.0, sa objavujú aj pri web 2.0. Napriek tomu je zjavné, že technológie web 2.0 prinášajú nový, dynamický rozmer do internetového prostredia, kde sa z pasívnych návštevníkov stávajú častokrát prispievatelia do rôznych blogov a podobne. Internet tak už nie je len statickou stránkou, ale interaktívnym prostredím, ponúkajúcim množstvo aplikácií. Tieto sú vytvárané pomocou novodobých technológií, či už ide o štýl architektúry REST, alebo dynamickú technológiu Ajax. Obe tieto technológie sme popísali podrobješie v tejto práci v súvislosti s frameworkom Rails, ktorý umožňuje efektívne a jednoduché vytváranie novodobých aplikácií. To dokazuje aj fakt, že Rails obsahuje zabudované množstvo pomocných funkcií pre Ajax, knižnice JavaScriptu či generátory, ktoré automaticky vytvárajú čitateľnú architektúru podľa vzoru REST. Pokračovaním práce bude použitie získaných poznatkov pri implemetnácii týchto technológií do aplikácie školského rozvrhu.
Použitá literatúra
- Web 2.0 [online]. 23. 12. 2005 , 13.01.2010 [cit. 2010-01-13]. Dostupný z WWW: <http://cs.wikipedia.org/wiki/Web_2.0>.
- SYMBIO Digital, s. r. o.. Web 2.0 [online]. [1999-2010] [cit. 2010-01-13]. Dostupný z WWW: <http://www.symbio.cz/slovnik/web-2-0.html>.
- Šifra J., Fenomén Web 2.0, Stratégie 01.2007
- Web 2.0 [online]. [2003-2009] [cit. 2010-01-13]. Dostupný z WWW: <http://suewebik.net/webove/web20-def.html>.
- SYMBIO Digital, s. r. o.. Web 2.0 [online]. [1999-2010] [cit. 2010-01-13]. Dostupný z WWW: < http://www.symbio.cz/slovnik/mashup-web-application-hybrid.html >.
- ZANDL, Patrick. Mashup aneb Míchanice pro Web 2.0 [online]. 21/05/2007 [cit. 2010-01-13]. Dostupný z WWW: <http://www.certodej.cz/view/mashup-aneb-m>.
- KHUDHUR , Patrik. Nejžhavější technologie dneška: Ajax - úplně nový web [online]. 11.06.2007 [cit. 2010-01-13]. Dostupný z WWW: <http://computerworld.cz/vyvoj/nejzhavejsi-technologie-dneska-ajax-uplne-novy-web-2455>.
- HOUSER , Pavel. Nejznámější aplikace Web 2.0 [online]. 10.09.2008 [cit. 2010-01-13]. Dostupný z WWW: <http://businessworld.cz/ostatni/nejznamejsi-aplikace-web-2-0-1677>.
- Ruby, S., Dave, T., Agile web development with Rails, The pragmatic Bookshelf, ISBN-10: 1-934356-16-6, 2008
- Fernandez, O.,: The Rails Way, 2007, Boston, ISBN 0-321-44561-9
Prílohy
Príloha A
controllers/books_controller.rb
class BooksController < ApplicationController
# GET /books
# GET /books.xml
def index
@books = Book.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @books }
end
end
# GET /books/1
# GET /books/1.xml
def show
@book = Book.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @book }
end
end
# GET /books/new
# GET /books/new.xml
def new
@book = Book.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @book }
end
end
# GET /books/1/edit
def edit
@book = Book.find(params[:id])
end
# POST /books
# POST /books.xml
def create
@book = Book.new(params[:book])
respond_to do |format|
if @book.save
flash[:notice] = 'Book was successfully created.'
format.html { redirect_to(@book) }
format.xml { render :xml => @book, :status => :created, :location => @book }
else
format.html { render :action => "new" }
format.xml { render :xml => @book.errors, :status => :unprocessable_entity }
end
end
end
# PUT /books/1
# PUT /books/1.xml
def update
@book = Book.find(params[:id])
respond_to do |format|
if @book.update_attributes(params[:book])
flash[:notice] = 'Book was successfully updated.'
format.html { redirect_to(@book) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @book.errors, :status => :unprocessable_entity }
end
end
end
# DELETE /books/1
# DELETE /books/1.xml
def destroy
@book = Book.find(params[:id])
@book.destroy
respond_to do |format|
format.html { redirect_to(books_url) }
format.xml { head :ok }
end
end
end
models/book.rb
class Book < ActiveRecord::Base
end
views/books/edit.html.erb
<h1>Editing book</h1>
<% form_for(@book) do |f| %>
<%= f.error_messages %>
<p>
<%= f.submit 'Update' %>
</p>
<% end %>
<%= link_to 'Show', @book %> |
<%= link_to 'Back', books_path %>
views/books/index.html.erb
<h1>Listing books</h1>
<table>
<tr>
</tr>
<% @books.each do |book| %>
<tr>
<td><%= link_to 'Show', book %></td>
<td><%= link_to 'Edit', edit_book_path(book) %></td>
<td><%= link_to 'Destroy', book, :confirm => 'Are you sure?', :method => :delete %></td>
</tr>
<% end %>
</table>
<br />
<%= link_to 'New book', new_book_path %>
views/books/new.html.erb
<h1>New book</h1>
<% form_for(@book) do |f| %>
<%= f.error_messages %>
<p>
<%= f.submit 'Create' %>
</p>
<% end %>
<%= link_to 'Back', books_path %>
views/books/edist.html.erb
<%= link_to 'Edit', edit_book_path(@book) %> |
<%= link_to 'Back', books_path %