ASP.NET MVC5 Crie aplicações web na plataforma Microsoft®
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
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.