Practical Angular 2 Book
Practical Angular 2 Book
$25.00
Minimum price
$25.00
Suggested price
Practical Angular 2 Book

This book is 100% complete

Completed on 2016-09-15

About the Book

This books shows all the steps necessary for the development of SPA (Single Page Application) applications with the brand new Angular 2 (still in beta). With this book you will learn:

  • Complete guide to TypeScript
  • Use of the new Visual Studio Code IDE
  • How to create a project in Angular 2
  • Understand how the SystemJS imports works
  • Components
  • Events
  • Modules
  • Services
  • Template System
  • Using HTTP to connect to a server
  • Bonus:
    • How to install and work with Node/NPM
    • How to work with MongoDB via mongolab
    • How to create a complete ReSTful server with Express
    • Final example code in github
    • Final example with login using JSON Web Token

This book still doesn't addresses the migration from Angular 1 to Angular 2. A new chapter will be added when Angular 2 is officially launched.

This book is a translation into English of Angular 2 na prática (PT-BR) which was originally written in Português.

About the Authors

Daniel Schmitz
Daniel Schmitz

Daniel Schmitz is a software developer and writer. He's originally from Brazil and has published several books in Portuguese/English.

Reader Testimonials

Pablo Reyes
Pablo Reyes

We buy your book, ITS AWESOME!

Table of Contents

  • 1. Introduction
    • 1.1 Prerequisites
      • 1.1.1 Node
      • 1.1.2 Web server
      • 1.1.3 The package.json file
      • 1.1.4 Text editors and IDEs
    • 1.2 Besides Javascript
    • 1.3 TypeScript
    • 1.4 Source code
  • 2. TypeScript
    • 2.1 Installing TypeScript
    • 2.2 Using Visual Studio Code
      • 2.2.1 Detecting changes
      • 2.2.2 Debugging Visual Studio Code
      • 2.2.3 Debug on the browser
    • 2.3 Types
      • 2.3.1 Basic types
      • 2.3.2 Arrays
      • 2.3.3 Enum
      • 2.3.4 Any
      • 2.3.5 Void
    • 2.4 Classes
      • 2.4.1 Constructor
      • 2.4.2 Method and properties visibility
    • 2.5 Inheritance
    • 2.6 Accessors (get/set)
    • 2.7 Static Methods
    • 2.8 Interfaces
    • 2.9 Functions
      • 2.9.1 Default value
      • 2.9.2 Optional parameter
    • 2.10 Rest parameters
    • 2.11 Parameters in JSON format
    • 2.12 Modules
      • 2.12.1 Example with Systemjs
      • 2.12.2 Hiding js e map files on VSCode
      • 2.12.3 Using SystemJS
    • 2.13 Decorators (or annotation)
    • 2.14 Conclusion
  • 3. Let’s practice
    • 3.1 AngularBase Project
      • 3.1.1 Setting up the project
      • 3.1.2 Setting up the TypeScript compilation
      • 3.1.3 Creating the first Angular 2 component
      • 3.1.4 Creating the ngModule
      • 3.1.5 Creating the bootstrap
      • 3.1.6 Creating an HTML file
    • 3.2 Creating a playlist
      • 3.2.1 Initial file structure
      • 3.2.2 Creating the application settings file
      • 3.2.3 Adding the bootstrap
      • 3.2.4 Creating the Video class
      • 3.2.5 Creating a simple video list
      • 3.2.6 Creating child components
      • 3.2.7 Formatting the template
      • 3.2.8 Passing values between components
      • 3.2.9 Selecting a video
      • 3.2.10 Events
      • 3.2.11 Event Bubbling
      • 3.2.12 Showing the video details
      • 3.2.13 Editing the selected video data
      • 3.2.14 Editing the title
      • 3.2.15 Creating a new item
      • 3.2.16 Some considerations
    • 3.3 Creating Components
    • 3.4 Hierarchical components
  • 4. Some theory
    • 4.1 Overview
    • 4.2 Module
      • 4.2.1 Library Module
    • 4.3 ngModule
    • 4.4 Component
    • 4.5 Template
      • 4.5.1 Interpolation (Using {{ }})
      • 4.5.2 Template Expressions
    • 4.6 Property Bind
      • 4.6.1 Loops
      • 4.6.2 Pipes (Operator |)
    • 4.7 Metadata (annotation)
    • 4.8 Service
    • 4.9 Dependency injection
      • 4.9.1 Using the @Injectable()
  • 5. Forms
    • 5.1 Creating the base project
    • 5.2 Using the ngControl
    • 5.3 Showing an error message
    • 5.4 Disabling the submit button of the form
    • 5.5 Submitting the form
    • 5.6 Controlling the form visibility
  • 6. Connecting to a server
    • 6.1 Creating the project
    • 6.2 ngModule
    • 6.3 Using the Http class
    • 6.4 Using services
    • 6.5 Organizing the project
    • 6.6 User model
    • 6.7 User service
    • 6.8 Changing the AppComponent component
    • 6.9 Submitting data
  • 7. Routes
    • 7.1 Applying AngularRoutes
    • 7.2 Splitting the application in smaller parts
    • 7.3 Creating the area where the components will be created
    • 7.4 Setting up the Router
    • 7.5 Creating route links
    • 7.6 Passing parameters
  • 8. Final example - Server
    • 8.1 Creating the RESTful server
    • 8.2 The MongoDB data base
    • 8.3 Creating the project
    • 8.4 The project structure
    • 8.5 Setting up the MondoDB models
    • 8.6 Setting up the Express server
    • 8.7 Testing the server
    • 8.8 Testing the API without Angular
  • 9. Final Example - Client application
    • 9.1 First files
    • 9.2 The base template for the application
    • 9.3 Implementing the routing
      • 9.3.1 Creating the components
      • 9.3.2 Setting up the @RouteConfig
      • 9.3.3 Setting up the menu
      • 9.3.4 Setting up the router-outlet
    • 9.4 Showing Posts
    • 9.5 Login
    • 9.6 Services
      • 9.6.1 LoginService
      • 9.6.2 UserService
      • 9.6.3 HeadersService
    • 9.7 Connecting to the server
    • 9.8 Posts
      • 9.8.1 PostService
    • 9.9 Refactoring the home screen
    • 9.10 Conclusion
  • 10. Using Sublime Text
    • 10.1 Installation
    • 10.2 Adding support to TypeScript language
    • 10.3 Automating the TypeScript build
  • 11. Publishing the App in a Cloud Server
    • 11.1 Creating a new account on Digital Ocean
    • 11.2 Creating the droplet (server)
    • 11.3 Setting up the SSH access
    • 11.4 Creating the user
    • 11.5 Installing git
    • 11.6 Installing Node
    • 11.7 Installing nginx
    • 11.8 Installing Node modules
    • 11.9 Recompiling the TypeScript files
    • 11.10 First test
    • 11.11 Integration between nginx and node
    • 11.12 Some considerations about node+nginx
    • 11.13 Domain
    • 11.14 Conclusion

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