Everything you need to know about AngularJS
Tutorials
- Official AngularJS Tutorial
- 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
Core Concepts
Templates
In Angular applications, you move the job of filling page templates with data from the server to the client. The result is a system better structured for dynamic page updates. Below are the core features you'll use.
- Data binding
- Expressions
- Directives
- Views and routes (see the example)
- Filters
- Forms and Concepts of AngularJS Forms
Application Structure
- Blog post: When to use directives, controllers or services
- App wiring: Dependency injection
- Exposing model to templates: Scopes
- Communicating with servers: $http, $resource
Other AngularJS Features
- Animation: Core concepts, ngAnimate API, and Animation in AngularJS 1.2
- Security: Security Docs, Strict Contextual Escaping, Content Security Policy, $sanitize, video
- Internationalization and Localization: Angular Guide to i18n and l10n, date filter, currency filter, Creating multilingual support
- Mobile: Touch events
- Accessibility: ngAria
Testing
- Unit testing: Using Karma (video), Unit testing, Testing services, Karma in Webstorm
- Scenario testing: Protractor
Specific Topics
- Login: Google example, AngularJS Facebook library, Facebook example, authentication strategy, unix-style authorization
- Mobile: Angular on Mobile Guide, PhoneGap
- Other Languages: CoffeeScript, Dart
- Realtime: Socket.io, OmniBinder
- Visualization: SVG, D3.js
- Local Storage and session: ngStorage
Tools
- Getting Started: Comparison of the options for starting a new project
- Debugging: Batarang
- Testing: Karma, Protractor
- Editor support: Webstorm (and video), Sublime Text, Visual Studio
- Workflow: Yeoman.io and Angular Yeoman Tutorial
Complementary Libraries
This is a short list of libraries with specific support and documentation for working with Angular. You can find a full list of all known Angular external libraries at ngmodules.org.
- Internationalization: angular-translate, angular-gettext, angular-localization
- RESTful services: Restangular
- SQL and NoSQL backends: BreezeJS, AngularFire
- UI Widgets: KendoUI, UI Bootstrap, Wijmo, ngTagsInput
- Advanced Routing: UI-Router
- Maps: UI-Map (Google Maps)
Deployment
General
- Docs Page: Running an AngularJS App in Production
- Javascript minification: Background, ng-annotate automation tool
- Analytics and Logging: Angularyitcs (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, Firebase Foundations for AngularJS, 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
Learning Resources
###Books
- AngularJS: Up and Running by Brad Green and Shyam Seshadri
- Mastering Web App Development by Pawel Kozlowski and Pete Bacon Darwin
- AngularJS Directives by Alex Vanston
- Recipes With AngularJS by Frederik Dietz
- Developing an AngularJS Edge by Christopher Hiller
- ng-book: The Complete Book on AngularJS by Ari Lerner
- AngularJS : Novice to Ninja by Sandeep Panda
- AngularJS UI Development by Amit Gharat and Matthias Nehlsen
- Responsive Web Design with AngularJS by Sandeep Kumar Patel
- Professional AngularJS
###Videos:
Courses
- Free online: thinkster.io, CodeAcademy, CodeSchool
- Paid online: The Angular Course (115 videos that show you how to build a full app), Pluralsite (3 courses), Tuts+, lynda.com, WintellectNOW (4 lessons)
- Paid onsite: angularbootcamp.com
Getting Help
The recipe for getting help on your unique issue is to create an example that could work (even if it doesn't) in a shareable example on Plunker, JSFiddle, or similar site and then post to one of the following:
Social Channels
- Daily updates: Google+ or Twitter
- Weekly newsletter: ng-newsletter
- Meetups: meetup.com
- Official news and releases: AngularJS Blog
Contributing to AngularJS
Though we have a core group of core contributors at Google, Angular is an open source project with hundreds of contributors. We'd love you to be one of them. When you're ready, please read the Guide for contributing to AngularJS.
Final Bits
Didn't find what you're looking for here? Check out AngularJS-Learning for an even more comprehensive list of links to videos, tutorials, and blog posts.
If you have awesome AngularJS resources that belong on this page, please tell us about them on Google+ or Twitter.
Please login to continue.