include ../_util-fns
:marked
This Developers Guide is a practical guide to Angular for experienced programmers who
are building client applications in HTML and Dart.
figure
img(src="/resources/images/devguide/intro/people.png" alt="Us" align="left" style="width:200px; margin-left:-40px;margin-right:10px" )
:marked
We are on a journey together to understand how Angular works and, more importantly,
how to make it work for us. We look at our application requirements and we see problems to solve.
* How do we get data onto the screen and handle user interactions?
* How do we organize our code into manageable, cohesive chunks of functionality that work together?
* What are the essential Angular building blocks and how do they help?
* How do we minimize routine, mechanical coding in favor of declarative, higher level constructs without losing control?
This chapter begins the journey.
:marked
# How to read this guide
Each chapter of this guide targets an Angular feature,
showing how to use it to solve a programming problem.
All the chapters include code snippets ... snippets we can reuse in our own applications.
Typically, these snippets are excerpts from a sample application that accompanies the chapter.
**All the source files** for each sample app are displayed together at the **end of each chapter.**
Here is a learning path we might follow:
1. First, be familiar with Dart programming and with web concepts such as
the DOM, HTML, and CSS. Dart tutorials such as
[Get Started](https://www.dartlang.org/docs/tutorials/get-started/) and
[Connect Dart & HTML](https://www.dartlang.org/docs/tutorials/connect-dart-html/)
are a great way to start.
1. Follow the [QuickStart](../quickstart.html), which is the "Hello, World" of Angular 2.
It shows how to set up the libraries and tools needed to write *any* Angular app.
It ends with a "proof of life", a running Angular app.
1. Next, read the Developers Guide chapters in order:
1. The rest of this chapter, especially the Architecture overview
1. [Displaying Data](displaying-data.html)
1. [User Input](user-input.html)
1. [Forms](forms.html)
1. Consider hopping over to the [TypeScript docs](/docs/ts/latest/)
since they're currently ahead of the Dart docs. (We're working on that!)
Especially check out the [Tutorial](/docs/ts/latest/tutorial/) and
[Cheat Sheet](/docs/ts/latest/guide/cheatsheet.html), and the guide chapters
[Dependency Injection](/docs/ts/latest/guide/dependency-injection.html)
and [Template Syntax](/docs/ts/latest/guide/template-syntax.html).
Don't miss the [Cheat Sheet](cheatsheet.html), a handy map to Angular.
.l-main-section
:marked
# Appendix: The Hero Staffing Agency
There's a backstory to the samples in this guide.
The world is full of crises large and small.
Fortunately, courageous heroes are prepared to take on every challenge.
The shadowy Hero Staffing Agency matches crises to heroes.
We are contract developers, hired by the Agency to build an application to manage their operations.
The Agency maintains a stable of heroes with special powers.
Ordinary humans submit crises as job requests. The heroes bid to take the job, and the Agency
assigns each job accordingly.
Our application handles every detail of recruiting, tracking, and job assignment.
For example, the [Forms](forms.html) chapter features a screen for
entering personal information about heroes:
figure.image-display
img(src="/resources/images/devguide/forms/hero-form-1.png" width="400px" alt="Clean Form")