In this intensive two-day workshop you'll get hands-on experience building a state-of-the-art interactive web application written in Angular 2 that communicates with a RESTful backend web service running on ASP.NET Core 1.
This allows you to leverage your C# skills to build a cross-platform Web API that can run on Linux inside a Docker container and deployed to Cloud services with a microservices architecture, while taking advantage of a modern web stack with support for integrated configuration and dependency injection systems. On the front end you'll use TypeScript to build a JavaScript using the latest features of ECMAScript 2015, as well as proposed future features such as decorators and async/await, while benefiting from static types, generics and interfaces to support features we've come to take for granted as developers, such as real-time syntax checking, code refactoring and intellisense.
-
ASP.NET Core Architecture
- The Cloud, containers, microservices
- Bin-deployable runtimes
- Modular base class libraries
- Cross-platform, open-source
- Middleware-based pipeline
-
Getting Started with ASP.NET Core
- Hello World with .NET Core
- Hosting with Kestrel
- Dependency Injection
- Configuration
- Building a RESTful Web API
-
Design Patterns, Unit Testing
- Repository pattern
- Unit of Work pattern
- Intro to xUnit, MOQ
-
Using Entity Framework Core
- Choosing a provider
- Code-based modeling
- EF command-line tools
- LINQ-based queries
- Disconnected updates
-
Introduction to TypeScript
- What TypeScript adds to JavaScript
- Installing TypeScript
- Linting and compiling TypeScript
- Language Basics
-
TypeScript Development with Visual Studio Code
- Folder-based projects
- Navigation
- Intellisense
- Compiler options
- Debugging
-
Angular 2 Architecture
- Evolution of web application architectures
- Model-View-ViewModel
- Modules, templates, components
- Services, metadata
- Root module and component
- Platform bootstrapper
-
Scaffolding Client Apps with Angular CLI
- Adding styles with bootstrap.js
- Generating models and components
- Adding data binding to the template
- Injecting services
- Connecting to the Web API
Students will be provided logins for remote labs, so there is no need to install software locally.
However, the following instructions are provided in case you wish to use your own machine or
would like to perform lab exercises after the class has concluded.
-
Utilities
-
- Current Version, 64 bit SDK
-
- Current Version
-
NPM global packages:
npm install -g
- typescript
- gulp
- yo
- generator-aspnet
- angular-cli
-
SQL Server
-
NorthwindSlim database
- Download and extract zip file
- Use SSMS to create new database called NorthwindSlim
- Run NorthwindSlim.sql in SSMS to create database objects with data
-
- Install extensions: C#, TSLint, Angular 2 TypeScript Snippets (johnpapa)
- Sync TypeScript version: http://bit.ly/vs-code-ts-version
-
Clone the Setup Validation Repository
- For the .NET Core apps execute:
dotnet restore
followed bydotnet run
- For the Angular-CLI app execute:
ng serve
- For the .NET Core apps execute: