Coder Social home page Coder Social logo

angularlicious / angular-for-net-developers Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 2.0 3.88 MB

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

License: MIT License

TypeScript 85.47% JavaScript 4.86% HTML 8.95% CSS 0.72%

angular-for-net-developers's Introduction

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

angular-for-net-developers's People

Contributors

buildmotion avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.