Introduction to ASP.NET Core Development using React with Redux

ASPNC-106 (5 Days)
Request Pricing for Introduction to ASP.NET Core Development using React with Redux

ASP.NET Core Training Overview

This Introduction to ASP.NET Core Development using React with Redux training teaches attendees the skills necessary to build a modern web application powered by JavaScript on the client-side and ASP.NET Core on the backend. Students learn business application development skills, including securing an application with a login, building multi-page applications with routing, and building complex forms including validation. Participants also learn best practices of React, Redux, and ASP.NET Core and their usage in a Single Page Application (SPA).

Location and Pricing

Most Accelebrate courses are taught as private, customized training for 3 or more attendees at our clients' sites worldwide. In addition, we offer live, private online classes for teams who may be in multiple locations or wish to save on travel costs. Please visit our client list for organizations for whom we have delivered onsite training. To receive a customized proposal and price quote for private on-site or online training, please contact us.

ASP.NET Core Training Objectives

All students will learn how to:

  • Understand the goals and benefits of the .NET Core platform
  • Make good decisions about application architecture and the choice of data access technology
  • Use ASP.NET Core's routing system to achieve a REST-style architecture
  • Gain experience building a service that makes data available via a modern Web API
  • Use a JavaScript package manager
  • Understand the new JavaScript language features including classes, modules, and arrow functions
  • Articulate what React is and why it is useful
  • Explore the basic architecture of a React application
  • Gain a deep understanding of JSX and the Virtual DOM
  • Use React components to build interactive interfaces
  • Create and validate forms using controlled components
  • Make HTTP calls to read or change data
  • Configure simple and complex routing
  • Utilize Redux to manage the state of the application
  • Use React and Redux together
  • Implement React and Redux best practices
  • Write unit tests for React using Jest and Enzyme

ASP.NET Core Training Outline

Expand All | Collapse All | Printer-Friendly

Introduction
.NET Core SDK
  • Installation
  • Version Management
  • Command-Line Interface (CLI)
  • Hello World Application
  • Using Visual Studio Code for C# Coding
  • Optional: Using Visual Studio 2019 for C# Coding
  • Optional: Using Visual Studio for Mac for C# Coding
ASP.NET Core Application Architecture
  • NuGet Packages and Metapackages
  • Application Startup
  • Hosting Environments
  • Middleware and the Request Processing Pipeline
  • Services and Dependency Injection
Application Configuration
  • Configure and ConfigureServices
  • Configuration Providers and Sources
  • Configuration API
  • Options Pattern
  • HTTPS, GDPR, and HTTP/2
Request Routing
  • RESTful Services
  • Endpoint Routing
  • Attribute-Based Routing
  • Route Templates
  • Route Constraints
Models
  • Persistence Ignorance
  • Object-Relational Mapping
  • Entity Framework (EF) Core
  • Automapper
Controllers
  • Responsibilities
  • Requirements and Conventions
  • Dependencies
  • Action Results
Web APIs
  • Introduction
  • CRUD Operations
  • Bad Requests
  • Cross-Origin Resource Sharing (CORS)
Application State
  • Client-Side vs. Server-Side
  • HttpContext.Items
  • Session State
Error Handling
  • Best Practices
  • HTTP Error Status Codes
  • Status Code Pages
  • Developer Exception Page
  • Exception Filters
Logging
  • Configuration
  • ILogger
  • Serilog and Seq
Testing
  • Unit Testing
  • xUnit
  • Testing Controllers
  • Integration Testing
Introduction to React and Redux
  • What is React?

  • What problem does React solve?

  • Development Ecosystem

  • React versus other frameworks
Development Tools
  • Create React App project generator
  • React Developer Tools
  • Running and Debugging a React Application
  • Role of Node.js
  • Purpose of React and ReactDOM
Functional Components
  • What are Components?
  • Create Element and JSX
  • Benefits of JSX
  • Fragments
  • JavaScript Arrow Functions
  • ES2015 Modules
  • JSX and Expressions
  • Displaying Collections of Data
  • JavaScript Array Maps and React Keys
  • Passing Data with Props
  • Validating Props with PropTypes
  • Default Props
  • Using Memo
Class-Based Components
  • JavaScript Classes and Extends
  • Configuring State
  • Lifecycle Methods
  • Google Performance Tool
  • Context of Event Handlers
  • Class Properties and Class Arrow Functions
  • PropTypes and Default Props on Classes
Hooks
  • Overview of Hooks
  • State Hook
  • Effect Hook
  • Ref Hook
  • Callback Hook
Advanced Components
  • Composition vs. Inheritance
  • Patterns: Specialization, Containment, and Higher Order Components
  • Lifting State Up
  • Forwarding Refs
  • Context
Redux
  • Managing Application State
  • Three Principles of Redux
  • Pure Functions
  • Reducer Functions
  • Composing Reducer Functions
  • Dispatching Actions
  • Action Creators
Connect React to Redux
  • Connect React to Redux with React-Redux
  • React-Redux Higher Order Components
  • React-Redux Hooks
  • Using State Selectors
  • Optimizing State Selectors
Connect React to ASP.NET Core REST API
  • JavaScript Review: Callbacks, Promises & Async/Await
  • Using the Fetch API with ASP.NET Core REST API
  • Asynchronous Operations and React/Redux using Saga
  • JavaScript Generators
  • Sagas Helpers
  • Declarative Effects
  • Error Handling
  • Connecting to Redux
Unit Testing
  • Using Jest
  • Organizing Tests and Test Suites
  • Setup and Teardown of Tests
  • Performing Assertions with Expect
  • Using Spies
  • Snapshot Testing
  • DOM Testing
  • Shallow Testing
  • Generating Code Coverage Reports
  • React Unit Testing
  • Redux Unit Testing
React Router
  • What is routing?
  • URL as State
  • React Router Hooks
  • Configuring Routes
  • Page Pattern
  • Error Page
  • Redirects
  • Animated Transitions
  • Nested Routes
Advanced Forms
  • What is Formik?
  • Challenges with React and Forms
  • Formik Higher Order Components
  • Formik Hooks
  • Form-Level Validation
  • Field-Level Validation
  • Synchronous and Asynchronous Validation
  • Form Submission
  • Form Submission Phases
Authentication
  • Introduction
  • ASP.NET Core Identity
  • Cookie Middleware
  • Authorization
  • Claims-Based Authorization
  • React Login Form
  • Login Error Handling
  • Integrating Authorization with Routing
Conclusion
Request Pricing for Introduction to ASP.NET Core Development using React with Redux
Lecture percentage

50%

Lecture/Demo

Lab percentage

50%

Lab

Course Number:

ASPNC-106

Duration:

5 Days

Prerequisites:

This course presumes that all attendees have C# and JavaScript experience. If attendees do not have experience in those languages, the course outline may be adjusted to include primers for those languages. Accelebrate also offers an Intro to C# course and an Intro to JavaScript course.

Training Materials:

All training students receive comprehensive courseware.

Software Requirements:

  • Windows 8 or later with at least 8 GB RAM, macOS Mohave of later, or Ubuntu 14.04 or later
  • Visual Studio Code
  • .NET Core 3.1 SDK
  • Node.js version 10 or later

Optional:

  • For Windows users: Visual Studio 2019 (Free Community Edition is sufficient) may be used in addition to Visual Studio Code
  • For Windows users, LocalDB or another version of SQL Server
  • For macOS users: Visual Studio for Mac may be used in addition to Visual Studio Code
  • For macOS and Linux SQLite is used (SQL Server 2017 running in a Docker container is possible, too)

Contact Us:

Accelebrate’s training classes are available for private groups of 3 or more people at your site or online anywhere worldwide.

Don't settle for a "one size fits all" public class! Have Accelebrate deliver exactly the training you want, privately at your site or online, for less than the cost of a public class.

For pricing and to learn more, please contact us.

Contact Us Train For Us

Toll-free in US/Canada:
877 849 1850
International:
+1 678 648 3113

Toll-free in US/Canada:
866 566 1228
International:
+1 404 420 2491

925B Peachtree Street, NE
PMB 378
Atlanta, GA 30309-3918
USA

Subscribe to our Newsletter:

Never miss the latest news and information from Accelebrate:

Microsoft Gold Partner

Please see our complete list of
Microsoft Official Courses

Recent Training Locations

Alabama

Birmingham

Huntsville

Montgomery

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

Los Angeles

Oakland

Orange County

Sacramento

San Diego

San Francisco

San Jose

Colorado

Boulder

Colorado Springs

Denver

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Jacksonville

Miami

Orlando

Tampa

Georgia

Atlanta

Augusta

Savannah

Hawaii

Honolulu

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Ceder Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Frederick

Hagerstown

Massachusetts

Boston

Cambridge

Springfield

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Minneapolis

Saint Paul

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Las Vegas

Reno

New Jersey

Princeton

New Mexico

Albuquerque

New York

Albany

Buffalo

New York City

White Plains

North Carolina

Charlotte

Durham

Raleigh

Ohio

Akron

Canton

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Oklahoma City

Tulsa

Oregon

Portland

Pennsylvania

Philadelphia

Pittsburgh

Rhode Island

Providence

South Carolina

Charleston

Columbia

Greenville

Tennessee

Knoxville

Memphis

Nashville

Texas

Austin

Dallas

El Paso

Houston

San Antonio

Utah

Salt Lake City

Virginia

Alexandria

Arlington

Norfolk

Richmond

Washington

Seattle

Tacoma

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Calgary

Edmonton

British Columbia

Vancouver

Manitoba

Winnipeg

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan

© 2013-2020 Accelebrate, Inc. All Rights Reserved. All trademarks are owned by their respective owners.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.