ng-book
ng-book
The Complete Book on AngularJS
About the Book
Covers the latest version of angular (1.2.0*)
Rapidly build faster, smaller, more advanced web apps that are simple to create, test, and maintain throughout their lifecycle. This detailed, yet step-by-step guide teaches you how to build client-side applications with AngularJS from the ground-up. AngularJS is becoming increasingly popular in the web development communities, this book will show you why. You'll work through understanding how AngularJS works, from bi-directional databinding to client-side templates.
You'll learn the deep fundamentals of AngularJS, topics including:
- bi-directional databinding
- dependency injection
- scopes
- controllers
- routing
- client-side templates
- services
- dynamic content through xhr
- testing
- filters
- custom form validations
- in-depth testing
- custom directives
- professional tooling
- ie support
- and much much more
Check out our deals and bundle packages at http://ng-book.com
Table of Contents
-
-
Introduction
- Foreword
- Acknowledgments
- About the author
- Introduction
- About this book
- Organization of this book
- Additional resources
- Conventions used in this book
- Development environment
-
The Basics of AngularJS
- How Web Pages Get to Your Browser
- What is a browser?
- What is AngularJS
-
Data binding and your first AngularJS web application
- Introducing data binding in AngularJS
- Simple data-binding
- Best data-binding practices
- Modules
-
Scopes
- The $scope view of the world
- It’s just HTML
- What can scopes do?
- $scope lifecycle
- Directives and scopes
- Controllers
-
Expressions
- Interpolating a string
- Filters
-
Introduction to Directives
- Directives: Custom HTML Elements and Attributes
- Passing Data Into a Directive
-
Built In Directives
-
Basic
ng
attribute directives - Directives with child scope
-
Basic
-
Building an Advanced Custom Directive
- TODO
- Configuration
-
Multiple views and routing
- Installation
- Layout template
- Routes
- $location service
- Routing modes
- Other advanced routing topics
- Routing on events
- Form validation
-
Dependency injection
- Annotation by inference
- Explicit annotation
- Inline annotation
- $inject api
- ngMin
-
Services
- Registering a service
- Using services
- Options for creating services
- Services in our app
-
Architecture
- TODO
-
Communicating with the outside world: XHR and server-side communication
- Using $http
- Configuration object
- Response object
- Caching http requests
- interceptors
- Configuring the $httpProvider
- Using $resource
- Installation
- Using $resource
- Custom $resource methods
- $resource configuration object
- $resource services
- Using Restangular
- The what and the why
- Installation
- Intro to the Restangular object
- Using Restangular
- Configuring Restangular
-
XHR in practice
- Cross-origin and same-origin policy
- JSONP
- Using CORS
- Server-side proxies
- Sending and receiving transformed data
- working with json
- working with xml
- Authentication with AngularJS
- Talking to MongoDB
- Talking to CouchDB
-
Promises
- What’s a promise?
- Why promises?
- Promises in Angular
- chaining requests
- Server communication
-
Testing
- Why test?
- Testing strategies
- Getting started testing
- Types of AngularJS tests
- Getting started
- Initializing Karma config file
- Configuration options
- Using RequireJS
- Jasmine
- Expectations
- End to end introduction
- Mocking and test helpers
-
Mocking the
$httpBackend
- Testing an app
- Protractor
-
Angular Animation
- Installation
- How it works
- Using CSS3 Transitions
- Using CSS3 Animations
- Using Javascript animations
- Animating built-in directives
-
Introduction
- Home
- Second
-
Home
- Show me
- Grow me
-
Show me
- Building custom animations
- Integrating with third-party libraries
-
The digest loop and $apply
- $watch list
- Dirty checking
- $watch
- $watchCollection
- The $digest loop in a page
- $evalAsync list
- $apply
- When to use $apply()
-
Demystifying angular
- How the view works
- Essential AngularJS extensions
- AngularUI
- Installation
- ui-router
- ui-utils
-
Mobile apps
- Responsive web apps
- Interaction
- Native applications with Cordova
- Getting started with Cordova
- Including Angular
- Building with Yeoman
-
Localization
- angular-translate
-
Security
- Strict Contextual Escaping, the $sce service
- Whitelisting urls
- Blacklisting urls
- $sce API
-
Configuring
$sce
- Trusted context types
-
AngularJS and Internet Explorer
- SEO with AngularJS
- Getting angular apps indexed
- Server-side
- Options for handling SEO from the server-side
- Taking snapshots
- Using Zombie.js to grab html snapshots
- Using grunt-html-snapshot
- Prerender.io
-
Building Angular Chrome apps
- Understanding the Chrome apps
- Building our Chrome app
- Building the skeleton
- manifest.json
- tab.html
- Loading the app in Chrome
- The main module
- Building the homepage
- Sign up for wunderground’s weather API
- A settings screen
- Implementing a User service
- City autofill/autocomplete
- Sprinkling in timezone support
- Customizing the look-and-feel
- Debugging AngularJS
-
Next steps
- Essential tools to know about
- Node
- Grunt
- grunt-angular-templates
- Lineman
- Bower
- Yeoman
- Professional development workflow
- Our app
- Downloading angular
- Booting it up
- Modules
-
Creating our-calendar directive
- Drawing the calendar
The Leanpub 60 Day 100% Happiness Guarantee
Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.
Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.
You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!
So, there's no reason not to click the Add to Cart button, is there?
See full terms...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.
(Yes, some authors have already earned much more than that on Leanpub.)
In fact, authors have earnedover $14 millionwriting, publishing and selling on Leanpub.
Learn more about writing on Leanpub
Free Updates. DRM Free.
If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).
Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.
Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.
Learn more about Leanpub's ebook formats and where to read them