Book description
Get started with speed building AngularJS applications, and scale up to a full-stack web application, using the existing AngularJS framework without the trouble of migrating to Angular 2
About This Book
- Follow the best practices of the framework to organize and modularize your application
- Get to grips with Angular's Model-View-Controller architecture
- Create application modules with maximum reusability and extensibility
- Structure and use AngularJS applications in your MEAN project in your MEAN project
Who This Book Is For
This course is for people who want to discover how they can improve their current web applications with the existing version of Angular without having to worry much about migrating to AngularJS 2
What You Will Learn
- Install and set up the AngularJS framework
- Create your own full-featured and robust AngularJS web apps
- Create reusable directives and then extend the behavior of HTML on your web page
- Optimize and maintain your web applications
- Create more powerful full-stack web applications, that draw on the combined power of AngularJS, Node.js, MongoDB, and Express in the MEAN stack
In Detail
The AngularJS course is a journey to help you improve and scale your current web applications with the existing version of Angular without having to worry about migration to Angular 2. The course is divided into four modules.
The first part - AngularJS Essentials is like a practical guide, filled with many step-by-step examples that will lead you through the best practices of AngularJS. After a brief introduction, you will learn how to create reusable components with directives. You will then take a look at many data handling techniques, discover a complete set of technologies that are capable to accomplish any challenge related to present, transform, and validate data on the user's interface. Finally, you will discover the best way to deal with the scope and how to break up the application into separate modules, giving rise to reusable and interchangeable libraries.
With this you've crossed a milestone and are about to enter the world of learning by example. In the next part - Learning AngularJS By Example, you will learn how to effectively build apps using the AngularJS platform. You will be building multiple apps on this platform ranging from simple ones to more complex ones. In this module, you will roll up your coding sleeves and create a serious AngularJS application by example ? a rich featured workout app. Take the coding a step at a time at first, then once you're coding a full app in this module, a lot of AngularJS will fall right into place for you.
The third module - AngularJS Web Application Development Cookbook, will get you accustomed to the AngularJS concept armed with a solid understanding of how it works, insight into the best ways to wield it in real-world applications, and annotated code examples. It is a rich library of AngularJS coding solutions that you can use straight away in your own code projects.
You are just a step away from completing this learning path of AngularJS. The name of the next part - MEAN Web Development itself assures that you are nearing the destination. The idea is simple with this part, you'll take MongoDB as the database, Express as the web framework, AngularJS as the frontend framework, and Node.js as the platform, and combine them together in a modular approach that will ensure the flexibility needed in modern software development. This is also your graduation to full-stack web development, which can open many new coding and career opportunities for you!
Style and approach
Get up to speed building AngularJS applications, then improve and scale full-stack web applications, using the existing AngularJS framework without the trouble of migrating to Angular 2
Table of contents
-
AngularJS
- Table of Contents
- AngularJS
- Meet Your Course Guide
- Course Structure
- Course Structure
-
1. Core Learning – AngularJS Essentials
- Lesson 1: Getting Started with AngularJS
-
Lesson 2: Creating Reusable Components with Directives
- What is a directive?
-
Using AngularJS built-in directives
- The ngApp directive
- The ngController directive
- The ngBind directive
- The ngBindHtml directive
- The ngRepeat directive
- The ngModel directive
- The ngClick directive and other event directives
- The ngDisable directive
- The ngClass directive
- The ngOptions directive
- The ngStyle directive
- The ngShow and ngHide directives
- The ngIf directive
- The ngInclude directive
- Refactoring application organization
- Creating our own directives
- Animation
- Lesson 3: Data Handling
- Lesson 4: Dependency Injection and Services
- Lesson 5: Scope
- Lesson 6: Modules
-
2. Core Coding – AngularJS By Example
-
Lesson 1: Building Our First App – 7 Minute Workout
- What is 7 Minute Workout?
- Code organization
- The 7 Minute Workout model
- Adding app modules
- The app controller
- The 7 Minute Workout view
- Adding start and finish pages
- Learning more about an exercise
- Displaying the remaining workout time using filters
- Adding the next exercise indicator using ng-if
-
Lesson 2: More AngularJS Goodness for 7 Minute Workout
- Formatting the exercise steps
- Tracking exercise progress with audio clips
- Pausing exercises
- Enhancing the workout video panel
-
Animations with AngularJS
- AngularJS CSS animation
- AngularJS JavaScript animation
- Adding animation to 7 Minute Workout
- Workout history tracking using Angular services
- AngularJS services primer
- Implementing workout history tracking
- Adding the workout history view
- AngularJS eventing
- Enriching history tracking with AngularJS eventing
- Persisting workout history in browser storage
- Filtering workout history
- Filtering and ordering using ng-repeat
-
Lesson 3: Building Personal Trainer
- The Personal Trainer app – the problem scope
- The Personal Trainer model
- The Personal Trainer layout
- Implementing the workout and exercise list
-
Building a workout
- Building left nav
- Adding the WorkoutBuilderService service
- Adding exercises using exercise nav
- Implementing WorkoutDetailController
- Implementing the workout builder view
-
AngularJS forms
- AngularJS form constructs
- The ng-model directive
- Controlling model updates with ng-model-options (Angular 1.3)
- ng-model – beyond data binding
- Understanding NgModelController
- Implementing a decimal-to-integer formatter and parser
- AngularJS validation
- The AngularJS model state
- Workout builder validation
- Custom validation for an exercise count
- Saving the workout
- The AngularJS form directive and form validation
- Revisiting Angular scopes
-
Lesson 4: Adding Data Persistence to Personal Trainer
- AngularJS and server interactions
- $http service basics
-
Personal Trainer and server integration
-
Loading exercise and workout data
- Loading exercise and workout lists from a server
- Mapping server data to application models
- Understanding promise chaining
- Loading exercise and workout data from the server
- Fixing workout and exercise detail pages
- Creating and resolving custom promises
- Fixing workout and exercise detail pages continued…
- Performing CRUD on exercises/workouts
-
Loading exercise and workout data
- Getting started with $resource
- Using $resource to access exercise data
- Exercising CRUD with $resource
- Request/response interceptors
- AngularJS request/response transformers
- Handling routing failure for rejected promises
- Fixing the 7 Minute Workout app
-
Lesson 5: Working with Directives
- Directives – an introduction
- Anatomy of a directive
- Building a remote validation directive to validate the workout name
- Model update on blur
- Implementing a remote validation clues directive
- Understanding directive-isolated scopes
- AngularJS jQuery integration
-
Lesson 1: Building Our First App – 7 Minute Workout
-
3. Your AngularJS Technique Library – AngularJS Web Application Cookbook
-
Lesson 1: Maximizing AngularJS Directives
- Introduction
- Building a simple element directive
- Working through the directive spectrum
- Manipulating the DOM
- Linking directives
- Interfacing with a directive using isolate scope
- Interaction between nested directives
- Optional nested directive controllers
- Directive scope inheritance
- Directive templating
- Isolate scope
- Directive transclusion
- Recursive directives
-
Lesson 2: Expanding Your Toolkit with Filters and Service Types
- Introduction
- Using the uppercase and lowercase filters
- Using the number and currency filters
- Using the date filter
- Debugging using the json filter
- Using data filters outside the template
- Using built-in search filters
- Chaining filters
- Creating custom data filters
- Creating custom search filters
- Filtering with custom comparators
- Building a search filter from scratch
- Building a custom search filter expression from scratch
- Using service values and constants
- Using service factories
- Using services
- Using service providers
- Using service decorators
-
Lesson 3: AngularJS Animations
- Introduction
- Creating a simple fade in/out animation
- Replicating jQuery's slideUp() and slideDown() methods
- Creating enter animations with ngIf
- Creating leave and concurrent animations with ngView
- Creating move animations with ngRepeat
- Creating addClass animations with ngShow
- Creating removeClass animations with ngClass
- Your Coding Challenge
- Staggering batched animations
- Lesson 4: Sculpting and Organizing your Application
- Lesson 5: Working with the Scope and Model
- Lesson 6: Testing in AngularJS
-
Lesson 7: Screaming Fast AngularJS
- Introduction
- Recognizing AngularJS landmines
- Creating a universal watch callback
- Inspecting your application's watchers
- Deploying and managing $watch types efficiently
- Optimizing the application using reference $watch
- Optimizing the application using equality $watch
- Optimizing the application using $watchCollection
- Optimizing the application using $watch deregistration
- Optimizing template-binding watch expressions
- Optimizing the application with the compile phase in ng-repeat
- Optimizing the application using track by in ng-repeat
- Trimming down watched models
-
Lesson 8: Promises
- Introduction
- Understanding and implementing a basic promise
- Chaining promises and promise handlers
- Implementing promise notifications
- Your Coding Challenge
- Implementing promise barriers with $q.all()
- Creating promise wrappers with $q.when()
- Using promises with $http
- Using promises with $resource
- Using promises with Restangular
- Incorporating promises into native route resolves
- Implementing nested ui-router resolves
-
Lesson 1: Maximizing AngularJS Directives
-
4. Full-Stack AngularJS – MEAN Web Development
- Lesson 1: Getting Started with Node.js
- Lesson 2: Building an Express Web Application
- Lesson 3: Introduction to MongoDB
- Lesson 4: Introduction to Mongoose
-
Lesson 5: Managing User Authentication Using Passport
- Introducing Passport
- Understanding Passport strategies
- Understanding Passport OAuth strategies
-
Lesson 6: Introduction to AngularJS
- Introducing AngularJS
- Key concepts of AngularJS
- Installing AngularJS
- Structuring an AngularJS application
- Bootstrapping your AngularJS application
- AngularJS MVC entities
- AngularJS routing
- AngularJS services
- Managing AngularJS authentication
-
Lesson 7: Creating a MEAN CRUD Module
- Introducing CRUD modules
-
Setting up the Express components
- Creating the Mongoose model
-
Setting up the Express controller
- The error handling method of the Express controller
- The create() method of the Express controller
- The list() method of the Express controller
- The read() middleware of the Express controller
- The update() method of the Express controller
- The delete() method of the Express controller
- Implementing an authentication middleware
- Implementing an authorization middleware
- Wiring the Express routes
- Configuring the Express application
- Introducing the ngResource module
- Implementing the AngularJS MVC module
- Finalizing your module implementation
- Lesson 8: Adding Real-time Functionality Using Socket.io
-
Lesson 9: Testing MEAN Applications
- Introducing JavaScript testing
- Testing your Express application
-
Testing your AngularJS application
- Introducing the Jasmine framework
- AngularJS unit tests
- AngularJS E2E tests
- Lesson 10: Automating and Debugging MEAN Applications
- Reflect and Test Yourself! Answers
- Bibliography
- Index
Product information
- Title: AngularJS: Maintaining Web Applications
- Author(s):
- Release date: April 2016
- Publisher(s): Packt Publishing
- ISBN: 9781786465788
You might also like
book
AngularJS
Develop smaller, lighter web apps that are simple to create and easy to test, extend, and …
book
Pro AngularJS
AngularJS is the leading framework for building dynamic JavaScript applications that take advantage of the capabilities …
book
Beginning AngularJS
Beginning AngularJS is your step-by-step guide to learning the powerful AngularJS JavaScript framework. AngularJS is one …
book
AngularJS: Up and Running
If you want to get started with AngularJS, either as a side project, an additional tool, …