ASP.NET MVC5 Crie aplicações web na plataforma Microsoft®
Everton Coimbra de Araújo
Introdução
Como sempre digo na abertura de todos os meus livros, ensinar e aprender são tarefas que andam juntas e, para que seja alcançado o objetivo em cada uma delas, são necessários muita dedicação e estudo constante. Não há mágica no aprendizado, mas há muita determinação por parte daquele que quer aprender.
Este livro apresenta o ASP.NET MVC 5, que é um framework da Microsoft para o desenvolvimento de aplicações Web. Durante os capítulos, é feito uso do IDE da Microsoft, o Visual Studio 2015 Community Edition, e linguagem adotada para os exemplos é a C#. Conceitos de técnicas, do framework, da ferramenta e da linguagem, sempre que utilizados, são introduzidos.
O livro traz implementações que poderão auxiliar no desenvolvimento de suas aplicações e apresenta um pouco de JavaScript e jQuery, bem como introduz o Bootstrap. Também faz uso do Entity Framework como ferramenta para persistência de dados.
Certamente, este livro pode ser usado como ferramenta em disciplinas que trabalham o desenvolvimento para web, quer seja por acadêmicos ou professores. Isso porque ele é o resultado da experiência que tenho em ministrar aulas dessa disciplina, então trago para cá anseios e dúvidas dos alunos que estudam comigo.
O objetivo deste trabalho é torná-lo uma ferramenta no ensino e aprendizado no desenvolvimento de aplicações para web, fazendo uso de C#, de uma forma mais precisa e direcionada às disciplinas ministradas em cursos que envolvam informática e computação, como Sistemas de Informação, Ciência da Computação, Processamento de Dados, e Análise e Desenvolvimento de Sistemas.
O repositório com todos os códigos-fonte usados no livro podem ser encontrados em: https://github.com/evertonfoz/asp-net-mvc-casa-do-codigo. O livro é todo desenvolvido em dez capítulos, todos com muita prática, e de uma conclusão dos tópicos vistos. Na sequência, são apresentados pequenos resumos do que é trabalhado em cada um deles.
Capítulo 1 ─ A primeira aplicação ASP.NET MVC 5
Este primeiro capítulo traz a introdução a alguns conceitos relacionados ao ASP.NET MVC e o desenvolvimento de aplicações web. Também já ocorre a implementação da primeira aplicação. Esta realiza as operações básicas em um conjunto de dados, conhecidas como CRUD (Create, Read, Update e Delete). Inicialmente, essas operações são realizadas em uma collection, pois este capítulo se dedica à introdução ao framework, preparando para o segundo capítulo, que introduz acesso a uma base de dados.
Capítulo 2 ─ Realizando acesso a dados na aplicação ASP.NET MVC com o Entity Framework
Com o conhecimento que se espera do leitor após a leitura do primeiro capítulo, no qual são apresentadas técnicas específicas do ASP.NET MVC para a criação de um CRUD, neste segundo capítulo aplica-se estas técnicas para a manutenção do CRUD em uma base de dados. Essas implementações são realizadas no SQL Server, por meio do Entity Framework, que também é introduzido neste capítulo e usado nos demais.
Capítulo 3 ─ Layouts, Bootstrap e jQuery DataTable
Em uma aplicação web, o uso de layouts comuns para um número significativo de páginas é normal. Um portal, visto como um sistema, uma aplicação, normalmente é divido em setores, e cada um pode ter seu padrão de layout, e o ASP.NET possui recursos para esta característica. Este capítulo apresenta também o Bootstrap, que é um componente que possui recursos para facilitar o desenvolvimento de páginas web, por meio de CSS. O capítulo termina com a apresentação de um controle JavaScript, que é o jQuery DataTable, onde um conjunto de dados é renderizado em uma tabela com recursos para busca e classificação.
Capítulo 4 ─ Associações no Entity Framework
>As classes identificadas no modelo de negócio de uma aplicação não são isoladas umas das outras. Muitas vezes elas se associam entre si, o que permite a comunicação no sistema. Saber que uma classe se associa a outra quer dizer também que elas podem depender uma da outra. Em um processo, como uma venda, por exemplo, existe a necessidade de saber quem é o cliente, o vendedor e os produtos que são adquiridos. Este capítulo trabalha a associação entre duas classes, o que dará subsídios para aplicar estes conhecimentos em outras aplicações. Também são trazidos controles que permitem a escolha de objetos para gerar a associação.
Capítulo 5 ─ Separando a aplicação em camadas
O ASP.NET MVC traz em seu nome a o padrão de projeto MVC (Mode-View-Controller, ou Modelo-Visão-Controlador). Embora os recursos (classes e visões, dentre outros) possam ser armazenados em pastas que são criadas automaticamente em um novo projeto (Model, Views e Controllers), a aplicação criada, por si só, não está divida em camadas, pois não estão em módulos que propiciem uma independência do modelo. Este capítulo apresenta os conceitos de Coesão e Acoplamento. Implementa uma estrutura básica que pode ser replicada para seus projetos.
Capítulo 6 ─ Code First Migrations, Data Annotations, validações e jQueryUI
Durante o processo de desenvolvimento de uma aplicação que envolve a persistência em base de dados, qualquer mudança em uma classe do modelo deve ser refletida na base de dados. Quando se utiliza o Entity Framework, estas mudanças são identificadas e, dependendo da estratégia de inicialização adotada, pode ocorrer que sua base seja removida e criada novamente, do zero, sem os dados de testes que porventura existam. O Entity Framework oferece o Code First Migration, que possibilita o versionamento da estrutura de uma base de dados que é mapeada por meio de um modelo de classes. Este capítulo apresenta o Code First Migration, que possibilita a atualização dessa base, sem a perda dos dados nela registrados. Também são apresentados os Data Annotations para definir características de propriedades e algumas regras de validação. O jQuery novamente surge, agora com a exibição de mensagens de erro e com validações no lado cliente.
Capítulo 7 ─ Areas, autenticação e autorização
Quando se desenvolve uma aplicação com muitas classes, controladores e visões, torna-se difícil administrar a organização pela forma trivial oferecida pelo ASP.NET MVC, pois todos os controladores ficam em uma única pasta, assim como os modelos e as visões. Para minimizar este problema, o framework oferece Areas. Elas podem ser vistas em submodelos, onde ficam, de maneira mais organizada, seus controladores, modelos e visões. O conceito Modelo para Visões também é apresentado. O capítulo se dedica ainda ao processo de autenticação e autorização de usuários ─ um requisito necessário para o controle de acesso para qualquer aplicação.
Capítulo 8 ─ Uploads, downloads e erros
Com o surgimento da computação em nuvem, ficaram cada vez mais constantes os portais ou sistemas web possibilitarem uploads e oferecerem downloads. Este capítulo apresenta como enviar arquivos para uma aplicação, como obter arquivos de imagens (para que possam ser renderizadas) e como possibilitar o download de arquivos hospedados no servidor. O capítulo termina com uma técnica para tratamento de erros que podem ocorrer na aplicação.
Capítulo 9 ─ Registro de compras em um carrinho fazendo uso de sessão
Quando trabalhamos aplicações comerciais na web, muitas delas se referem a comercialização de algum produto e/ou serviço, o que ficou conhecido como "Carrinho de compra". Uma das técnicas comuns para isso é a aplicação fornecer uma listagem de produtos, com possibilidade de pesquisa e por meio desta listagem, adicionar o item desejado ao seu carrinho de compras e ao final, visualizar seu carrinho e informar seus dados para cobrança e recebimento dos itens adquiridos. O armazenamento dos produtos selecionados em uma variável de sessão, que pode ter seu tempo de vida definido pela aplicação, é um mecanismo comum nesta funcionalidade. O capítulo traz algo mais sobre o jQuery, um controle que funcionará como autocomplemento e finaliza com a apresentação de conteúdo fazendo uso de AJAX.
Capítulo 10 ─ Utilização de DropDownList aninhado, RadioButton e CheckBox
O uso de controles do tipo DropDownList pode ser uma atividade necessária em sua aplicação, e pode ser necessário o uso de mais que um destes controles, além de um determinado controle ter suas opções dependentes de uma seleção em outro. Também é comum o uso de controles do tipo RadioButton e CheckBox , em que opções também são apresentadas, permitindo seleção por parte do usuário. No caso do CheckBox , existe a possibilidade da marcação ou não de uma destas opções. Este capítulo traz estas três implementações.
Capítulo 11 ─ Os estudos não param por aqui
Com este capítulo, concluímos este livro destacando todos os assuntos que vimos até aqui, junto de estímulos para que você continue sua jornada de aprendizagem e aplicação do C#.
Sobre o autor
Everton Coimbra de Araújo atua na área de treinamento e desenvolvimento.É tecnólogo em processamento de dados pelo Centro de Ensino Superior de Foz do Iguaçu, possui mestrado em Ciência da Computação pela UFSC e doutorado pela UNIOESTE em Engenharia Agrícola. É professor da Universidade Tecnológica Federal do Paraná (UTFPR), campus Medianeira, onde leciona disciplinas no Curso de Ciência da Computação e em especializações.Já ministrou aulas de Algoritmos, Técnicas de Programação, Estrutura de Dados, Linguagens de Programação, Orientação a Objetos, Análise de Sistemas, UML, Java para Web, Java EE, Banco de Dados e .NET. Possui experiência na área de Ciência da Computação, com ênfase em Análise e Desenvolvimento de Sistemas, atuando principalmente nos seguintes temas: Desenvolvimento Web com Java e .NET e Persistência de Objetos.O autor é palestrante em seminários de informática voltados para o meio acadêmico e empresarial.
Sumário
1. A primeira aplicação ASP.NET MVC5 - 1.1 Criando o projeto no Visual Studio 2015 Community
- 1.2 Criando o controlador para Categorias de produtos
- 1.3 Criando a classe de domínio para Categorias de produtos
- 1.4 Implementando a interação da action Index com a visão
- 1.5 O conceito de rotas do ASP.NET MVC
- 1.6 Implementando a inserção de dados no controlador
- 1.7 Implementando a alteração de dados no controlador
- 1.8 Implementando a visualização de um único registro
- 1.9 Finalizando a aplicação por meio da implementação da operação Delete do CRUD
- 1.10 Conclusão sobre as atividades realizadas no capítulo
2 Realizando acesso a dados na aplicação ASP.NET MVC com o Entity Framework
- 2.1 Começando com o Entity Framework
- 2.2 Implementando o CRUD fazendo uso do Entity Framework
- 2.3 Conclusão sobre as atividades realizadas no capítulo
3 Layouts, Bootstrap e jQuery DataTable
- 3.1 O Bootstrap
- 3.2 Layouts
- 3.3 Adaptando as visões para o uso do Bootstrap
- 3.4 Configurando o menu de acesso para destacar a página atual
- 3.5 Conclusão sobre as atividades realizadas no capítulo
4 Associações no Entity Framework
- 4.1 Associando as classes já criadas a uma nova classe
- 4.2 Criando a visão Index para a classe associada
- 4.3 Inicializadores de contexto do Entity Framework
- 4.4 Criando a visão Create para a classe Produto
- 4.5 Criando a visão Edit para a classe Produto
- 4.6 Criando a visão Details para a classe Produto
- 4.7 Criando a visão Delete para a classe Produto
- 4.8 Adaptando a visão Details de Fabricantes
- 4.9 Conclusão sobre as atividades realizadas no capítulo
5 Separando a aplicação em camadas
- 5.1 Contextualização sobre as camadas
- 5.2 Criando a camada de negócio ─ O modelo
- 5.3 Criando a camada de persistência
- 5.4 Criando a camada de serviço
- 5.5 Adaptando a camada de aplicação
- 5.6 Adaptando as visões para minimizar redundâncias
- 5.7 Conclusão sobre as atividades realizadas no capítulo
6 Code First Migrations, Data Annotations, validações e jQueryUI
- 6.1 Fazendo uso do Code First Migrations
- 6.2 Adaptando a classe Produto para as validações
- 6.3 Testando as alterações implementadas
- 6.4 Implementando o controle de data
- 6.5 Fazendo uso do jQueryUI para controles de data
- 6.6 Validação no lado cliente
- 6.7 Conclusão sobre as atividades realizadas no capítulo
7 Areas, autenticação e autorização
- 7.1 Areas
- 7.2 Segurança em aplicações ASP.NET MVC
- 7.3 Listando os usuários registrados
- 7.4 Criando usuários
- 7.5 Alterando usuários já cadastrados
- 7.6 Removendo um usuário existente
- 7.7 Adaptando o menu da aplicação para as funcionalidades de usuários
- 7.8 Restringindo o acesso a actions
- 7.9 Implementando a autenticação
- 7.10 Utilizando papéis (roles) na autorização
- 7.11 Gerenciando membros de papéis
- 7.12 Criando os acessos para login e logout
- 7.13 Alterando o processo de autorização para utilizar papéis
- 7.14 Conclusão sobre as atividades realizadas no capítulo
8 Uploads, downloads e erros
- 8.1 Uploads
- 8.2 Download
- 8.3 Páginas de erro
- 8.4 Conclusão sobre as atividades realizadas no capítulo
9 Um carrinho de compras
- 9.1 Adição do carrinho de compra ao modelo de negócio
- 9.2 O controlador para o carrinho de compra
- 9.3 A visão para o carrinho de compra
- 9.4 Registrando o produto no carrinho de compra
- 9.5 O que falta para terminar o carrinho?
- 9.6 Conclusão sobre as atividades realizadas no capítulo
10 Uso de DropDownList aninhado, RadioButton e CheckBox
- 10.1 Implementações necessárias para as classes fornecedoras dos DropDownLists
- 10.2 Adaptações nas implementações existentes para o DropDownList
- 10.3 Inserção de um controle RadioButton em Fabricantes
- 10.4 Inserção de um controle CheckBox em Fabricantes
- 10.5 Conclusão sobre as atividades realizadas no capítulo
11 Os estudos não param por aqui
Dados do produto
- Número de páginas:
- 259
- ISBN:
- 978-85-5519-189-3
- Data publicação:
- 05/2016