
Getting Started with Angular
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
Book DescriptionWant to build quick and robust web applications with Angular? This book is the quickest way to get to grips with Angular and take advantage of all its new features.What you will learn - You?ll learn how to take full advantage of Angular, with updates on the latest API changes introduced by Angular 2 and 4 and a crash-course on TypeScript. Whether building a new app with Angular ASP.NET or upgrading from Angular JS with ngUpgrade, this book will give you all the tools to complete your project.
Who this book is forWho is this book for? ? Developers who are familiar with AngularJS and JavaScript ? Anyone looking to learn all about Angular ? IT professionals interested in assessing changes to Angular before moving over
All prices
More details
Person
Minko Gechev is a Google Developer Expert for the Angular team and a presenter at over 40 worldwide conferences, including ng-conf, AngularConnect, AngularUP, and many others. Minko is co-author of the official Angular style guide, and has developed codelyzer - a tool for static analysis of Angular applications and best practices, which is part of the Angular CLI, and currently has over a million downloads each month. Minko is a former member of the Angular Mobile Team where his role involved him with tools for facilitating the process of developing Progressive web applications with Angular easier. Other projects by the author include the AngularJS style guide, which is translated to 13 different languages, aspect.js, Angular Seed, and many others. Minko Gechev is co-founder and CTO at Rhyme and strongly believes in open source software.
Content
- Cover
- Copyright
- Credits
- Foreword
- About the Author
- About the Reviewer
- www.PacktPub.com
- Customer Feedback
- Table of Contents
- Preface
- Chapter 1: Get Going with Angular
- Angular and semver
- The evolution of the Web - time for a new framework
- The evolution of ECMAScript
- Web Components
- Web Workers
- Lessons learned from AngularJS in the wild
- Controllers
- Scope
- Dependency injection
- Server-side rendering
- Applications that scale
- Templates
- Change detection
- Summary
- Chapter 2: The Building Blocks of an Angular Application
- A conceptual overview of Angular
- Changing directives
- Getting to know Angular components
- Components in action
- Components in Angular
- Angular modules
- Bootstrapping an Angular application
- Pipes
- Defining pipes
- Improving change detection
- Classical change detection
- Change detection in AngularJS
- In the zone.js
- Simplified data flow
- Enhancing AngularJS's change detection
- Services
- The new router
- Angular route definition syntax
- Summary
- Chapter 3: TypeScript Crash Course
- Introduction to TypeScript
- Compile-time type checking
- Better support by text editors and IDEs
- There's even more to TypeScript
- Using TypeScript
- Installing TypeScript with npm
- Running our first TypeScript program
- TypeScript syntax and features introduced by ES2015 and ES2016
- ES2015 arrow functions
- Using the ES2015 and ES2016 classes
- Defining variables with block scope
- Meta-programming with ES2016 decorators
- Using configurable decorators
- Writing modular code with ES2015
- Using the ES2015 module syntax
- Taking advantage of the modules' implicit asynchronous behavior
- Using aliases
- Importing all the module exports
- Default exports
- ES2015 module loader
- ES2015 and ES2016 recap
- Taking advantage of static typing
- Using explicit type definitions
- The type any
- Understanding the Primitive types
- The Enum types
- Understanding the Object types
- The Array types
- The Function types
- Defining classes
- Using access modifiers
- Defining interfaces
- Interface inheritance
- Implementing multiple interfaces
- Further expressiveness with TypeScript decorators
- Writing generic code by using type parameters
- Using generic functions
- Having multiple type parameters
- Writing less verbose code with TypeScript's type inference
- Best common type
- Contextual type inference
- Using ambient type definitions
- Using predefined ambient type definitions
- Custom ambient type definitions
- Summary
- Chapter 4: Getting Started with Angular Components and Directives
- The "Hello world!" application in Angular
- Using TypeScript
- Setting up our environment
- Installing the sample project repository
- Playing with Angular and TypeScript
- Using Angular directives
- The ngFor directive
- Improved semantics of the directives syntax
- Declaring variables inside a template
- Using syntax sugar in templates
- Defining Angular directives
- Setting the directive's inputs
- Understanding the directive's constructor
- Better encapsulation of directives with NgModules
- Using NgModules for declaring reusable components
- Using custom element schema
- Creating custom Angular components
- Introducing the component's view encapsulation
- Implementing the component's controllers
- Handling user actions
- Using inputs and outputs
- Determining of the inputs and outputs
- Defining the inputs and outputs
- Passing inputs and consuming the outputs
- Event bubbling
- Renaming the inputs and outputs
- An alternative syntax to define inputs and outputs
- Explaining Angular's content projection
- Basic content projection in Angular
- Projecting multiple content chunks
- Nesting components
- Using ViewChildren and ContentChildren
- ViewChild versus ContentChild
- Hooking into the component's life cycle
- Order of execution of the life cycle hooks
- Defining generic views with TemplateRef
- Understanding and enhancing the change detection
- The order of execution of the change detectors
- Understanding Angular's change detection strategies
- Introducing immutable data structures and OnPush
- Using immutable data in Angular
- Summary
- Chapter 5: Dependency Injection in Angular
- Why do I need DI?
- DI in Angular
- Benefits of DI
- Configuring an injector
- Dependency resolution with generated metadata
- Instantiating an injector
- Introducing forward references
- Configuring providers
- Using existing providers
- Defining factories for instantiating services
- Child injectors and visibility
- Building a hierarchy of injectors
- Configuring dependencies
- Using the @Self decorator
- Skipping the self injector
- Having optional dependencies
- Using multiproviders
- Using DI with components and directives
- Configuring DI with NgModules
- Introducing the element injectors
- Declaring providers for the element injectors
- Exploring DI with components
- viewProviders versus providers
- Using Angular's DI with ES5
- Summary
- Chapter 6: Working with the Angular Router and Forms
- Developing the "Coders repository" application
- Exploring the Angular router
- Using PathLocationStrategy
- Configuring routes
- Using routerLink and router-outlet
- Lazy-loading with loadChildren
- Prefetching of lazy-loaded routes
- RouterModule.forRoot versus RouterModule.forChild
- Using Angular's forms module
- Developing template-driven forms
- Digging into the template-driven form's markup
- Using the built-in validators
- Defining custom validators
- Using select inputs with Angular
- Using the NgForm directive
- Two-way data binding with Angular
- Storing the form data
- Listing all the stored data
- Summary
- Chapter 7: Explaining Pipes and Communicating with RESTful Services
- Developing model-driven forms in Angular
- Using composition of control validators
- Exploring the HTTP module of Angular
- Using Angular's HTTP module
- Defining parameterized views
- Defining nested routes
- Transforming data with pipes
- Developing stateless pipes
- Using Angular's built-in pipes
- Developing stateful pipes
- Using stateful pipes
- Using Angular's AsyncPipe
- Using AsyncPipe with observables
- Summary
- Chapter 8: Tooling and Development Experience
- Running an application in a Web Worker
- Web Workers and Angular
- Bootstrapping an application running in a Web Worker
- Migrating an application to Web Worker
- Making an application compatible with Web Workers
- Initial load of a SPA
- Initial load of a SPA with server-side rendering
- Server-side rendering with Angular
- Enhancing our development experience
- Text editors and IDEs
- Angular language service
- Bootstrapping a project with angular-cli
- Using angular-cli
- Angular quick starters
- Angular Seed
- Angular 2 Webpack starter
- AoT compilation in Angular
- How code generation works
- Introducing AoT compilation
- Constraints of the AoT compilation
- How to use the AoT compilation of Angular
- Summary
- Index
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.
File format: PDF
Copy-Protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our eBook Help page.