└── README.md /README.md: -------------------------------------------------------------------------------- 1 | Angular 2-Learning 2 | ================== 3 | 4 | A bunch of links to blog posts, articles, videos, etc for learning AngularJS 2. 5 | 6 | The version of this repo for Angular 1.x is [here](https://github.com/jmcunningham/AngularJS-Learning) 7 | 8 | ### Table of Contents 9 | [Books](#books) 10 | [Videos](#videos) 11 | [Courses](#courses) 12 | [Help](#help) 13 | [General Topics](#general-topics) 14 | [Typescript](#typescript) 15 | [Introductions/Beginning AngularJS2](#introductionsbeginning-angular2) 16 | [Best Practices/Style Guides](#best-practicesstyle-guides) 17 | [Lessons Learned](#lessons-learned) 18 | [Boilerplates/Seed Projects](#boilerplatesseed-projects) 19 | [Sample Apps](#sample-apps) 20 | [Dependency Injection](#dependency-injection) 21 | [Components](#components) 22 | [Services/Providers](#servicesproviders) 23 | [Routing](#routing) 24 | [Observables](#observables) 25 | [Forms](#forms) 26 | [Templates](#templates) 27 | [Component Libraries]() 28 | [Authentication](#authentication) 29 | [Code Organization](#code-organization) 30 | [Testing](#testing) 31 | [Localization](#localization) 32 | [Styling](#styling) 33 | [Mobile](#mobile) 34 | [Popular Third-Party Modules](#popular-third-party-modules) 35 | 36 | ## Books 37 | | Title | Author | Publisher | ng Version | Last Update | 38 | |---------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------:|:--------------------:|:----------------:|:-----------:| 39 | | [Angular 2 Cookbook](https://www.packtpub.com/web-development/angular-2-cookbook) | Matt Frisbie | Packt Publishing | v2.4 | January 2017 | 40 | | [ng-book 2](https://www.ng-book.com/2/) | Lerner, Coury, Murray, Taborda | Gumroad | v2.0 | October 2016 | 41 | | [Angular 2 Development with TypeScript](https://www.manning.com/books/angular-2-development-with-typescript) | Yakov Fain and Anton Moiseev | Manning | v2.0 | Sept 2016 | 42 | | [Angular 2 Development in Action](https://www.manning.com/books/angular-2-in-action) | Jeremey Wilken | Manning | v2.0 | Summer 2016 | 43 | | [Testing Angular 2 Applications](https://www.manning.com/books/testing-angular-2-applications) | Jesse Palmer | Manning | v2.0 | Summer 2016 | 44 | | [Angular 2 Router](https://leanpub.com/router) | Victor Savkin | Leanpub | v2.0 | October 2016 | 45 | | [Angular 2 A Practical Introduction](https://leanpub.com/angular2-book) | Sebastian Eschweiler | Leanpub | v2.0 | October 2016 | 46 | | [Rangle's Angular 2 Training Book](https://angular-2-training-book.rangle.io/) | Rangle.io | - | v2.0 | ? | 47 | 48 | 49 | ## Videos 50 | * [Egghead.io](https://egghead.io/technologies/angular2/) 51 | * [Build Angular 2 apps with TypeScript and Visual Studio Code](https://www.youtube.com/watch?v=zoCLEwFUpqg) 52 | * [TypeScript 2.0 - ES6, ES7 features, how to use TypeScript in Angular2](https://www.youtube.com/watch?v=R5gXgPzPR_U) 53 | 54 | ## Courses 55 | * [Angular 4 Master Class: Beginner to Advanced](https://www.udemy.com/angular-crash-course-for-beginners/?couponCode=GITHUB25) 56 | * [Angular University](https://angular-university.io/) 57 | * [Angular 2 From the Ground Up](https://www.udemy.com/angular-2-from-the-ground-up/?ids=586976) 58 | * [Ultimate Angular](https://ultimateangular.com/) 59 | 60 | ## Help 61 | * [StackOverflow](http://stackoverflow.com/questions/tagged/angularjs) 62 | * [AngularJS Mailing List (Google Groups)](http://groups.google.com/group/angular) 63 | * [Chatroom (Browser-based IRC)](http://webchat.freenode.net/?channels=angularjs&uio=d4) 64 | * [AngularJS Google+ Community](https://plus.google.com/u/0/communities/115368820700870330756) 65 | * [reddit](http://www.reddit.com/r/angular2) 66 | 67 | ## General Topics 68 | * [Two-way Data Binding in Angular 2](http://blog.thoughtram.io/angular/2016/10/13/two-way-data-binding-in-angular-2.html) 69 | * [Angular 2 Animations - Foundation Concepts](http://blog.thoughtram.io/angular/2016/09/16/angular-2-animation-important-concepts.html) 70 | * [Angular 2 Change Detection Explained](http://blog.thoughtram.io/angular/2016/02/22/angular-2-change-detection-explained.html) 71 | * [Two Phases of Angular 2 Applications](https://vsavkin.com/two-phases-of-angular-2-applications-fda2517604be#.b8enydcti) 72 | * [Change Detection in Angular 2](https://vsavkin.com/change-detection-in-angular-2-4f216b855d4c#.zbsrbs3od) 73 | * [Angular 2 NgModule Intro - Ahead Of Time Compilation And Lazy Loading - Avoid Common Pitfalls](http://blog.angular-university.io/angular2-ngmodule/) 74 | * [How does Angular 2 Change Detection Really Work ?](http://blog.angular-university.io/how-does-angular-2-change-detection-really-work/) 75 | * [Use @NgModule to Manage Dependencies in your Angular 2 Apps](https://auth0.com/blog/angular-2-ngmodules/) 76 | * [Debugging Angular 2 Apps with Augury](https://scotch.io/tutorials/debugging-angular-2-apps-with-augury) 77 | * [Ahead-of-Time Compilation in Angular 2](http://blog.mgechev.com/2016/08/14/ahead-of-time-compilation-angular-offline-precompilation/) 78 | * [Scalable Single-Page Application Architecture](http://blog.mgechev.com/2016/04/10/scalable-javascript-single-page-app-angular2-application-architecture/) 79 | * [Building an Angular 2 Application for Production](http://blog.mgechev.com/2016/06/26/tree-shaking-angular2-production-build-rollup-javascript/) 80 | * [Debugging Angular 2 Applications](http://tutorials.pluralsight.com/front-end-javascript/debugging-angular-2-applications) 81 | * [Angular 2 Lazy Loading with Webpack](https://medium.com/@daviddentoom/angular-2-lazy-loading-with-webpack) 82 | * [Angular 2 AoT Compilation with webpack](https://medium.com/@laco0416/aot-compilation-with-webpack-359ac9f4916f#.6rqapma5q) 83 | * [Angular 2 Fundamentals](https://tutorialedge.net/course/angular-2-fundamentals) 84 | 85 | ## Typescript 86 | * [Angular 2: Why Typescript](https://vsavkin.com/writing-angular-2-in-typescript-1fa77c78d8e8#.e8hmmohp5) 87 | * [Functional Typescript](https://vsavkin.com/functional-typescript-316f0e003dc6#.u1x9h5g75) 88 | * [Learn Typescript in 30 Minutes](http://tutorialzine.com/2016/07/learn-typescript-in-30-minutes/) 89 | * [Adding Custom Typings Files (*.d.ts) In An Angular 2 TypeScript Application](https://www.bennadel.com/blog/3169-adding-custom-typings-files-d-ts-in-an-angular-2-typescript-application.htm) 90 | 91 | ## Introductions/Beginning Angular2 92 | * [Core Concepts of Angular 2](https://vsavkin.com/the-core-concepts-of-angular-2-c3d6cbe04d04#.vdpk10s1z) 93 | 94 | ## Tutorial Series 95 | * [Tour Of Heros](https://angular.io/docs/ts/latest/tutorial/index.html) 96 | * [Official Angular 2 Quickstart](https://angular.io/docs/ts/latest/quickstart.html) 97 | * [Angular 2 User Registration and Login Example & Tutorial](http://jasonwatmore.com/post/2016/09/29/angular-2-user-registration-and-login-example-tutorial) 98 | * [building hacker news with angular 2 cli, rxjs and webpack](http://houssein.me/angular2-hacker-news) 99 | 100 | ## Best Practices/Style Guides 101 | * [Official Style Guide](https://angular.io/docs/ts/latest/guide/style-guide.html) 102 | 103 | ## Lessons Learned 104 | 105 | ## Boilerplates/Seed Projects 106 | * [Angular CLI](https://github.com/angular/angular-cli) 107 | * [Official Quick Start by the Angular team](https://github.com/angular/quickstart) 108 | * [Angular Seed](https://github.com/mgechev/angular-seed) 109 | * [Angular 2 Webpack](https://github.com/preboot/angular2-webpack) 110 | * [Angular2 Seed](https://github.com/falconmick/angular-seed) 111 | 112 | ## Sample Apps 113 | * [Angular 2 Kitchen Sink](https://github.com/born2net/Angular-kitchen-sink) 114 | * [Angular 2 Chat App](https://github.com/start-angular/angular2-node-socket-io-chat-app) 115 | * [Angular 2 Full Stack Project](https://github.com/DavideViolante/Angular2-Full-Stack) 116 | * [Angular 2 Admin Dashboard](https://github.com/elliotforbes/angular-2-admin) 117 | * [Angular 2 Websocket Messenger](https://github.com/elliotforbes/ng-chat) 118 | 119 | ## Dependency Injection 120 | * [Dependency Injection in Angular 1 & Angular 2](https://vsavkin.com/dependency-injection-in-angular-1-and-angular-2-d69589979c18#.s31f6b2l5) 121 | 122 | ## Components 123 | * [Angular 2 Template Syntax](http://victorsavkin.com/post/119943127151/angular-2-template-syntax) 124 | * [Component Relative Paths in Angular 2](http://blog.thoughtram.io/angular/2016/06/08/component-relative-paths-in-angular-2.html) 125 | * [Polymorphic Component Container using ContentChildren](http://www.mcrook.com/2016/10/angular-2-contentchildren-with-abstract.html) 126 | * [Stateful and Stateless Components: The Missing Manual](https://toddmotto.com/stateful-stateless-components) 127 | * [Angular 2 Smart Components vs Presentation Components: What's the Difference, When to Use Each and Why?](http://blog.angular-university.io/angular-2-smart-components-vs-presentation-components-whats-the-difference-when-to-use-each-and-why/) 128 | 129 | ## Services/Providers 130 | * [Bypassing Providers in Angular 2](http://blog.thoughtram.io/angular/2016/09/14/bypassing-providers-in-angular-2.html) 131 | 132 | ## Routing 133 | * [Resolving Route Data in Angular 2](http://blog.thoughtram.io/angular/2016/10/10/resolving-route-data-in-angular-2.html) 134 | * [Routing in Angular 2 Revisited](http://blog.thoughtram.io/angular/2016/06/14/routing-in-angular-2-revisited.html) 135 | * [Protecting Routes Using Navigation Guards](http://blog.thoughtram.io/angular/2016/07/18/guards-in-angular-2.html) 136 | * [Angular Router: Understanding Redirects](https://vsavkin.com/angular-router-understanding-redirects-2826177761fc#.gcqlf0qvq) 137 | * [The Powerful URL Matching Engine of Angular Router](https://vsavkin.com/the-powerful-url-matching-engine-of-angular-router-775dad593b03#.qdynh1gsq) 138 | * [Angular Router: Preloading Modules](https://vsavkin.com/angular-router-preloading-modules-ba3c75e424cb#.6kqqd77v2) 139 | * [Angular 2 Router](https://vsavkin.com/angular-2-router-d9e30599f9ea#.k0skg6bxn) 140 | * [Angular Router: Declarative Lazy Loading](https://vsavkin.com/angular-router-declarative-lazy-loading-7071d1f203ee#.71q1f28h8) 141 | * [Angular 2 Router - How To Build a Navigation Menu with Bootstrap 4 and Nested Routes](http://blog.angular-university.io/angular-2-router-nested-routes-and-nested-auxiliary-routes-build-a-menu-navigation-system/) 142 | * [Angular 2 Router Introduction - Child Routes, Auxiliary Routes, Avoid Common Pitfalls](http://blog.angular-university.io/angular2-router/) 143 | * [Named Router Outlets in Angular 2](http://onehungrymind.com/named-router-outlets-in-angular-2/) 144 | 145 | ## Observables 146 | * Taking Advantage of Observables in Angular 2: [Part 1](http://blog.thoughtram.io/angular/2016/01/06/taking-advantage-of-observables-in-angular2.html), [Part 2](http://blog.thoughtram.io/angular/2016/01/07/taking-advantage-of-observables-in-angular2-pt2.html) 147 | * [Cold versus Hot Observables](http://blog.thoughtram.io/angular/2016/06/16/cold-vs-hot-observables.html) 148 | * [Managing State In Angular 2 Applications](https://vsavkin.com/managing-state-in-angular-2-applications-caf78d123d02#.x1ql2h7ku) 149 | * [The Taxonomy of Reactive Programming](https://vsavkin.com/the-taxonomy-of-reactive-programming-d40e2e23dee4#.j0qx1fyxi) 150 | * [Angular 2 HTTP Requests with Observables](https://scotch.io/tutorials/angular-2-http-requests-with-observables) 151 | * [RxJ First Steps](http://juristr.com/blog/2016/06/rxjs-1st-steps-subject/) 152 | * [3 Common Rxjs Pitfalls that you might find while building Angular 2 Applications](http://blog.angular-university.io/angular-2-rxjs-common-pitfalls/) 153 | * [Observables Cheat Sheet](http://onehungrymind.com/observable-cheat-sheet/) 154 | 155 | ## Forms 156 | * [Reactive Forms in Angular 2](http://blog.thoughtram.io/angular/2016/06/22/model-driven-forms-in-angular-2.html) 157 | * [Custom Form Controls in Angular 2](http://blog.thoughtram.io/angular/2016/07/27/custom-form-controls-in-angular-2.html) 158 | * [Introduction to Angular 2 Forms - Template Driven vs Model Driven or Reactive Forms](http://blog.angular-university.io/introduction-to-angular-2-forms-template-driven-vs-model-driven/) 159 | * [Angular 2 Form Validation](https://scotch.io/tutorials/angular-2-form-validation) 160 | * [How to Build Nested Model-driven Forms in Angular 2](https://scotch.io/tutorials/how-to-build-nested-model-driven-forms-in-angular-2) 161 | * [Using Angular 2’s Model-Driven Forms with FormGroup and FormControl](https://scotch.io/tutorials/using-angular-2s-model-driven-forms-with-formgroup-and-formcontrol) 162 | * [How to Implement Conditional Validation in Angular 2 Model-driven Forms](https://scotch.io/tutorials/how-to-implement-conditional-validation-in-angular-2-model-driven-forms) 163 | * [Using Angular 2’s Template-Driven Forms](https://scotch.io/tutorials/using-angular-2s-template-driven-forms) 164 | * [How to Deal with Different Form Controls in Angular 2](https://scotch.io/tutorials/how-to-deal-with-different-form-controls-in-angular-2) 165 | * [Angular 2 form fundamentals: reactive forms](https://toddmotto.com/angular-2-forms-reactive) 166 | * [Angular 2 form fundamentals: template-driven forms](https://toddmotto.com/angular-2-forms-template-driven) 167 | * [Angular 2 Forms — Create Async Validator Directive](https://medium.com/@NetanelBasal/angular-2-forms-create-async-validator-directive-dd3fd026cb45#.ge1d9la2t) 168 | * [Reactive FormGroup validation with AbstractControl in Angular 2](https://toddmotto.com/reactive-formgroup-validation-angular-2) 169 | 170 | ## Templates 171 | * [Angular 2 Template Syntax](https://vsavkin.com/angular-2-template-syntax-5f2ee9f13c6a#.rmb27rg77) 172 | * [Angular 2 ngFor - Learn all Features including trackBy, why is it not only for Arrays ?](http://blog.angular-university.io/angular-2-ngfor/) 173 | 174 | ## Authentication 175 | * [Angular 2 Authentication Tutorial](https://dzone.com/articles/angular-2-authentication-tutorial-part-ii) 176 | * [Auth0: Angular 2 Authentication](https://auth0.com/blog/angular-2-authentication/) 177 | * [JWT authentication with Vert.x, Keycloak and Angular 2](http://126kr.com/article/5ycbj4vkc4q) 178 | * [Angular 2 — Making your component auth-aware](https://medium.com/@NetanelBasal/angular-2-making-your-component-auth-aware-982054048c8a#.cj6um59ur) 179 | 180 | ## Code Organization 181 | 182 | ## Testing 183 | * [3 Ways to Test Angular 2 Components](https://vsavkin.com/three-ways-to-test-angular-2-components-dcea8e90bd8d#.g1gb8mbe6) 184 | * [Testing Components in Angular 2 with Jasmine](https://semaphoreci.com/community/tutorials/testing-components-in-angular-2-with-jasmine) 185 | * [Angular 2 Testing In Depth: Services](https://auth0.com/blog/angular-2-testing-in-depth-services/) 186 | 187 | ## Localization 188 | * [Angular 2: Automated i18n workflow using gulp](http://rolandoldengarm.com/index.php/2016/10/17/angular-2-automated-i18n-workflow-using-gulp/) 189 | 190 | ## Styling 191 | * [CSS Encapsulation with Angular 2 Components](https://coryrylan.com/blog/css-encapsulation-with-angular-2-components) 192 | 193 | ## Mobile 194 | 195 | ## Popular Third-Party Modules 196 | * [Angular 2 Progressbar](https://murhafsousli.github.io/ng2-progressbar/) 197 | * [PrimeNG](http://www.primefaces.org/primeng/#/) 198 | * [Kendo UI for Angular 2](http://www.telerik.com/kendo-angular-ui/) 199 | --------------------------------------------------------------------------------