Skip to content

A discussion about Angular for .NET developers. There are many transferable skills that make .NET developers excellent Angular developers.

License

Notifications You must be signed in to change notification settings

angularlicious/angular-for-net-developers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Angular for .NET Developers

A discussion about Angular for .NET developers. There are many transferable skills that make .NET developers excellent Angular developers. What is it that makes your skills unique and desirable for an Angular team?

Sample Angular Application: The GitHub repository contains the source code for the an application that demonstrates some of the patterns, layers, and project structure that will be familiar to .NET developers. View online: https://github-search-api-with-angular.firebaseapp.com

The sample application demonstrates the following:

  • a solution-based approach using Angular Workspace
  • using shared library projects
    • cross-cutting concern libraries
    • application feature libraries
    • framework libraries (i.e., rule engine)
    • utility libraries (HTTP/API access)
  • a solution with multiple application projects (Single-page Application)
  • service and business logic layers
  • reactive programming using Rxjs

TypeScript

  • Microsoft
    • Anders Hejlsberg, Erich Gamma, Steve Lucco
    • Who is Michael Collins?
  • Static Typing
    • static language analysis (tooling/IDE)
  • Annotations (Decorators)
  • Class-based Programming
    • classes, abstract classes
    • interfaces
    • enums
  • Object-Oriented Programming
    • Encapsulation
    • Inheritance
    • Abstraction
    • Polymorphism
  • Collections
    • IEnumerable/IIterator
    • Observable/Observer
  • Generics
  • Support in multiple IDEs
  • Adoption in Other JavaScript Frameworks
    • React, Vue
  • Server-Side
    • NestJS
    • NodeJS
  • Libraries
    • package and publish

Visual Studio/Code

  • Has the name Visual Studio
  • Included in VS since 2013
  • Package Management
    • npm/nuget

Angular Anatomy

  • Modules
  • Components
  • Services
  • Dependency Injection

Angular Development Environment

  • Monorepo --> Solution
    • Many projects (applications, libraries, schematics)
  • Scaffolding (Angular CLI)
    • projects, applications, libraries, schematics
    • modules, services, components, directives, pipes
  • Terminal
    • scaffold
    • build, test, lint
    • serve
  • Unit and Integration Test Support

CLI Commands

Create a new workspace (solution).

create-nx-workspace workspace --create-application --npm-scope=denver --style=scss --dry-run

Create a new application project in the workspace.

ng generate application webOne --framework=angular --style=scss --unit-test-runner=jest --e2e-test-runner=cypress  --routing

Add a module (think assembly/library) that is internal to the application. A container for related things (services, components, models, etc.).

ng generate module products --project=web-one

Add a new component to the ProductsModule.

ng generate component products/productList --project=web-one

Add a service to the module to provide an API for the ProductsModule.

ng generate service products/ products --project=web-one

Create a new library project that can be shared with all applications and/or any other library projects.

ng generate library logging

Add a service to the logging module. Creates API end-points for the Logging library.

ng generate service logging --project=logging

Build your web application.

ng build web-one

Serve the application to view in browser.

ng serve web-one

Design Patterns

  • Composite
  • Template Method
  • Facade
  • Any design pattern, really!

Architecture

  • n-tier
  • service APIs
  • Component/Controller
    • MVC

Contact Information

Matt Vaughn

Resources

TypeScript Resources

Angular Resources

Online

Courses

Books

Meetups

Blogs

Rxjs

About

A discussion about Angular for .NET developers. There are many transferable skills that make .NET developers excellent Angular developers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published