Improve this Doc

# External Angular 1 Resources

This is a collection of external, 3rd party resources for learning and developing Angular.

## Articles, Videos, and Projects

### Introductory Material

- 10 Reasons Why You Should Use AngularJS
- 10 Reasons Why Developers Should Learn AngularJS
- Design Principles of AngularJS (video)
- Fundamentals in 60 Minutes (video)
- For folks with a jQuery background

### Specific Topics

#### Application Structure & Style Guides

- Angular Styleguide
- Architecture, file structure, components, one-way dataflow and best practices
- When to use directives, controllers or services
- Service vs Factory

#### Testing

- Unit testing: Using Karma (video), Karma in Webstorm

#### Mobile

- Angular on Mobile Guide
- Angular and Cordova
- Ionic Framework

#### Deployment

##### General

- Javascript minification: Background, ng-annotate automation tool
- Analytics and Logging: Angularytics (Google Analytics), Angulartics (Analytics), Logging Client-Side Errors
- SEO: By hand, prerender.io, Brombone, SEO.js, SEO4Ajax

##### Server-Specific

- Django: Tutorial, Integrating AngularJS with Django, Getting Started with Django Rest Framework and AngularJS
- FireBase: AngularFire, Realtime Apps with AngularJS and FireBase (video)
- Google Cloud Platform: with Cloud Endpoints, with Go
- Hood.ie: 60 Minutes to Awesome
- MEAN Stack: Blog post, Setup, GDL Video
- Rails: Tutorial, AngularJS with Rails4, angularjs-rails
- PHP: Building a RESTful web service, End to End with Laravel 4 (video)
- Meteor: angular-meteor package

### Other Languages

- ES6, Webpack, and JSPM Starter Project
- ES6/Typescript Best Practices
- Dart
- CoffeeScript Tutorial

### More Topics

- Security: video
- Internationalization and Localization: Creating multilingual support
- Authentication/Login: Google example, AngularJS Facebook library, Facebook example, authentication strategy, unix-style authorization
- Visualization: SVG, D3.js
- Realtime Communication: Socket.io, OmniBinder

## Tools

- Getting Started: Comparison of the options for starting a new project
- Debugging: Batarang
- Editor support: Webstorm (and video), Sublime Text, Visual Studio, Atom, Vim
- Workflow: Yeoman.io and Angular Yeoman Tutorial

## Complementary Libraries

This is a list of libraries that enhance Angular, add common UI components or integrate with other libraries. You can find a larger list of Angular external libraries at ngmodules.org.

- Advanced Routing: UI-Router
- Authentication: Http Auth Interceptor
- Internationalization:
  - angular-translate
  - angular-gettext
  - angular-localization
- RESTful services: Restangular
- SQL and NoSQL backends:
  - BreezeJS
  - AngularFire
- Data Handling
  - Local Storage and session: ngStorage
  - angular-cache
  - Data Modeling JS-Data-Angular
- Fileupload:
  - ng-file-upload
  - blueimp-fileupload for Angular
- General UI Libraries:
  - Angular Material
  - Angular UI Bootstrap
  - AngularStrap for Bootstrap 3
  - KendoUI
  - Wijmo
- Specific UI Elements:
  - ngInfiniteScroll
  - ngTable
  - Angular UI Grid
  - Toaster Notifications
  - textAngular Rich Text Editor / contenteditable (Rich Text Editor / binding to contenteditable)
  - Angular UI Map (Google Maps)

## General Learning Resources

### Books

- AngularJS Directives by Alex Vanston
- AngularJS Essentials (Free eBook) by Rodrigo Branas
- AngularJS in Action by Lukas Ruebbelke
- AngularJS: Novice to Ninja by Sandeep Panda
- AngularJS UI Development by Amit Gharat and Matthias Nehlsen
- AngularJS: Up and Running by Brad Green and Shyam Seshadri
- Developing an AngularJS Edge by Christopher Hiller
- Mastering Web App Development by Pawel Kozlowski and Pete Bacon Darwin
- ng-book: The Complete Book on AngularJS by Ari Lerner
- Professional AngularJS
- Recipes With AngularJS by Frederik Dietz
- Responsive Web Design with AngularJS by Sandeep Kumar Patel

### Videos:

- egghead.io

### Courses

- Free online: thinkster.io, CodeAcademy, CodeSchool
- Paid online: Pluralsight, Tuts+, lynda.com, WintellectNOW (4 lessons), Packt
- Paid onsite: angularbootcamp.com