ng-book
ng-book
ng-book

Last updated on 2016-07-28

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

  • Share this book

About the Author

Ari Lerner
Ari Lerner

Ari Lerner is a Founder of FullStack, a full-stack engineering and development shop that works with all parts of the stack. He enjoys all parts of the development ecosystem, from infrastructure deployment through to front-end application development and optimization. He co-manages defnewsletter.com and ng-newsletter.com. He lives in the sunny part of San Francisco.

Follow him on Github: @auser or Twitter: @auser

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
    • 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
  • 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 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors, publishers and universities use Leanpub to publish amazing in-progress and completed books and courses, just like this one. You can use Leanpub to write, publish and sell your book or course as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub