Modern Web Application Development for .NET Developers

.NET Web

Web development has evolved. Although that's nothing new, the pace at which things are changing has picked up so much that it's hard to keep up with the latest and greatest. Both on the server-side and on the client-side, we have new frameworks and new ways of working available that make developers more productive.

In this course, developers will get a solid understanding of modern ways to build web applications. We will start on the server-side where Microsoft has introduced ASP.NET Core, a new way of building ASP.NET applications. This course covers ASP.NET Core 2 MVC (latest version). While exploring the many facets of ASP.NET Core, students will understand the MVC pattern and how it's implemented by Microsoft. Working with data is explained using Entity Framework Core 2.

Next to the server-side, students will also get to understand modern ways to improve their web applications from the client-side's perspective. First, we will make sure that everyone is on board with the basic concepts of both CSS and JavaScript. Next, students will understand how modern web applications are built using frameworks such as Bootstrap and Angular. While doing so, students will also learn how ASP.NET Core can be used to expose API endpoints to allow for easy access to data via REST.

Finally, this course will give students an insight in how this all ties into the cloud using Azure. Students will get to understand how ASP.NET Core and APIs can be hosted in the cloud, including the databases created with EF Core.

Prerequisites
C# knowledge is expected. Basic knowledge of HTML is expected as well. No previous JavaScript knowledge is expected as students will get to see client-side development from scratch. Note that the course will focus on the use of Visual Studio 2017 and Visual Studio Code.

Who is this course for?
This course is intended for developers wanting to start web development. This course can also be used for developers who have been doing other types of web development, for example WebForms.

Duration
5 Days

Course Outline
Part 1: The state of web development

  • Students will get to see a high-level overview of how a modern web application is built
  • Also, an introduction to .NET Core and .NET Standard is provided

Part 2: Creating web applications with ASP.NET Core

  • Overview of ASP.NET Core
  • Hello ASP.NET Core MVC
  • Site configuration
    • Middleware
    • Diagnostics pipeline
  • Creating pages with ASP.NET Core
  • Entity Framework Core
  • Working with the view
    • Razor
    • Tag Helpers
    • Custom tag helpers
    • View Components
  • Routing and navigation
    • Convention-based routing
    • Attribute-based routing
  • Forms and model binding
  • Security model with ASP.NET Identity
    • Authentication
    • Authorization
      • Roles
      • Policies
      • Third-party authentication
    • Threats for ASP.NET Core application and how to mitigate them
  • Unit testing ASP.NET Core applications
  • Validation
    • Server-side
    • Client-side
    • Custom validation rules and attributes
  • Filters
  • Adding Diagnostics
  • Logging
    • Built-in logging
    • Third-party logging providers
  • Deployment
    • Azure
    • Automation with VSTS

Part 3: Creating APIs with ASP.NET Core

  • Creating an API with ASP.NET Core
  • Looking at similarities between MVC and API
  • Securing the API
  • Response codes
  • Routing

Part 4: Moving to the client

  • Fundamentals of JavaScript and jQuery
  • Fundamentals of CSS and Bootstrap
  • Fundamentals of TypeScript
  • Understanding the core concepts of Angular
  • Binding the views using Angular
  • Working with components and directives
  • Creating a simple form with Angular

Part 5: Integrating with the cloud

  • An overview of Azure
  • Working with Azure App Services
  • Databases in the cloud

Tid

09:00 - 17:00