1 / 30

Desenvolvimento Web

Desenvolvimento Web. Hipertexto. Texto em formato digital Acesso por meio de hiperlinks Interconecta conjunto de informação Sistema baseado em Hipertexto mais conhecido World Wide Web. Cliente-Servidor. Clientes Enviam requisições para servidores e aguarda por resposta Servidores

Télécharger la présentation

Desenvolvimento Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Desenvolvimento Web

  2. Hipertexto • Texto em formato digital • Acesso por meio de hiperlinks • Interconecta conjunto de informação • Sistema baseado em Hipertexto mais conhecido World Wide Web

  3. Cliente-Servidor • Clientes • Enviam requisições para servidores e aguarda por resposta • Servidores • Oferecem algum serviço, processam a requisição e retornam o resultado

  4. HTTP • HyperText Transfer Protocol • Protocolo responsável pelo tratamento de pedidos e respostas entre cliente e servidor na WWW • Dados são codificados e encapsulados no corpo da mensagem e enviados ao servidor • Text/plain, text/gif, text/jpeg, etc.. • Métodos • GET • POST (Exemplo)

  5. MVC • Princípio que divide/estrutura a aplicação em três entidades distintas que interagem entre si • Separação: • Dados e Lógica de negócio (Model) • Layout / Visualização(View) • Controller • Intermedia Model e View

  6. MVC • Model • Representa as entidades do domínio da aplicação • View • Interface de usuário • Visualização dos dados • Controller • Processa eventos disparados pelos usuários • Recebe requisição do usuário

  7. MVC

  8. MVC

  9. Rails

  10. O que é? • Meta-Framework/Framework cujo foco é desenvolvimento de aplicações web • Estrutura base das aplicações segue MVC • Linguagem utilizada Ruby

  11. Objetivo • Introdução Rails • Desenvolver ao longo da aula o exemplo que promete construir um blog em 15 minutos

  12. Dono do blog cria post lê, modifica, apaga posts lê, apaga comentários de outros usuários Usuário lê posts de um blog cria comentário para um post lê comentários, apaga seus próprios comentários Requisitos Aplicação

  13. Iniciando • % rails blog • Comando rails gera esqueleto da aplicação • Estrutura da aplicação • app: componentes (controllers/views/model) • config: database.yml • public: arquivos css, javascript, imagens, uploads • Levantando a aplicação (localhost:3000) • % script/server

  14. Criando Primeira Tabela • % script/generate model post • generate: script para gerar estrutura • model: indica tipo da estrutura • post: nome do objeto • Pasta db/migrate: • self.up => fazer alterações • sef.down => desfazer alteração

  15. Criando Primeira Tabela • self.up create_table :posts do |t| t.string :title t.string:body t.timestamps end • self.down drop_table : posts

  16. Criando Primeira Tabela • % rake db:migrate • rake: similar ao MakeFile • Aplica a migração no banco de dados

  17. Criando Primeira Tabela • script/console • Post.create(:title=>’teste’, :body=>’teste’) • Post.find(:all) • P = Post.find(1) • P.destroy

  18. Criando Primeiro Controller • % script/generate controller posts • Testando: • localhost:3000/posts • Em app\controllers\posts_controller.rb def index end • Tentando novamente

  19. Criando Primeiro Controller • app\views\posts\index.rhtml <h1>Listando Posts</h1> <table> <tr> <th>Titulo</th> <th>Conteudo</th> </tr> </table> • Tentando novamente

  20. Criando Primeiro Controller • Listando Posts def index @posts = Post.find(:all) End • Na view index.rhtml – Iterando <% @posts.each do |p| %> <tr><td><%=p.title%></td> <td><%=p.body%></td> </tr> <% end %></table>

  21. Criando Posts • Adicionando links <p> <%= link_to “Nova Postagem", :action => “new” %> </p> • Clicando no link …. • Deve-se registrar action new, assim como new.rhtml

  22. Criando Posts • Criando o formulário: <% form_tag :action => 'create' do%> Titulo: <%= text_field :post,:title%><br /> Mensagem: <%= text_field :post, :body%><br /> <%= submit_tag 'Criar'%> <% end %> <%= link_to 'Voltar', :action => ‘index’ %>

  23. Criando Posts • Criando create: def create post = Post.new post.attributes = params[:post] post.save redirect_to :action => 'index' end

  24. Editando Posts • Inserindo link para editar: <td><%= link_to "Editar", :action => "edit", :id => p.id %></td> • Inserindo action edit: @post = Post.find(params[:id])

  25. Editando Posts • Criando View de edição: <% form_tag :id => @post, :action => 'update' do%> Titulo: <%= text_field :post,:title%><br /> Mensagem: <%= text_field :post,:body%><br /> <%= submit_tag 'Salvar'%> <% end %>

  26. Editando Posts • Definindo action update: def update @post = Post.find(params[:id]) @post.attributes = params[:post] @post.save redirect_to :action => 'index' end

  27. Situação atual • Temos um blog com funcionalidades de listar, inserir e editar um post. • Pode-se ver o quão produtivo é se trabalhar com Rails

  28. Exercício • Implementar os requisitos que não foram finalizados – Slides 12 • Atividade em Dupla • Sem uso de scaffold • Pesquisar sobre registrar o usuário logado na sessão, relacionamentos entre entidades no Rails • Utilizar Sqlite3 • Reflita sobre as entidades e relacionamentos entre elas

  29. Referências • Tutorial: “Rails para sua diversão e lucro” • http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html • Vídeo de Terceiro sobre Rails - Lab. Eng. Software • http://app.dcc.ufba.br/~terceiro/matb14/

  30. Equipes • Leandro e Ivan • Roberto e Jandson • Paulo e Paulo • Lorena e Manuel • Leonardo e Matheus • Caíque e Ademilson • Adnilson e Fabrício • Ítalo e Arleson • Fagner e Naíla • Felipe e Joás

More Related