|
8 | 8 | AngularJS is a structural framework for dynamic web apps. It lets you use HTML as your template
|
9 | 9 | language and lets you extend HTML's syntax to express your application's components clearly and
|
10 | 10 | succinctly. Out of the box, it eliminates much of the code you currently write through data
|
11 |
| -binding and dependency injection. And it all happens in JavaScript within the browser making it an |
12 |
| -ideal partner with any server technology. |
| 11 | +binding and dependency injection. And it all happens in JavaScript within the browser, making it |
| 12 | +an ideal partner with any server technology. |
13 | 13 |
|
14 | 14 | Angular is what HTML would have been had it been designed for applications. HTML is a great
|
15 | 15 | declarative language for static documents. It does not contain much in the way of creating
|
16 |
| -applications, and as a result building web applications is an exercise in *what do I have to do, so |
17 |
| -that I trick the browser in to doing what I want.* |
| 16 | +applications, and as a result building web applications is an exercise in *what do I have to do |
| 17 | +to trick the browser into doing what I want.* |
18 | 18 |
|
19 |
| -The impedance mismatch between dynamic applications and static documents is often solved as: |
| 19 | +The impedance mismatch between dynamic applications and static documents is often solved with: |
20 | 20 |
|
21 |
| - * **library** - a collection of functions which are useful when writing web apps. Your code is |
| 21 | + * **a library** - a collection of functions which are useful when writing web apps. Your code is |
22 | 22 | in charge and it calls into the library when it sees fit. E.g., `jQuery`.
|
23 | 23 | * **frameworks** - a particular implementation of a web application, where your code fills in
|
24 | 24 | the details. The framework is in charge and it calls into your code when it needs something
|
25 |
| - app specific. E.g., `knockout`, `sproutcore`, etc. |
| 25 | + app specific. E.g., `knockout`, `ember`, etc. |
26 | 26 |
|
27 | 27 |
|
28 | 28 | Angular takes another approach. It attempts to minimize the impedance mismatch between document
|
29 | 29 | centric HTML and what an application needs by creating new HTML constructs. Angular teaches the
|
30 | 30 | browser new syntax through a construct we call directives. Examples include:
|
31 | 31 |
|
32 |
| - * Data binding as in `{{}}`. |
| 32 | + * Data binding, as in `{{}}`. |
33 | 33 | * DOM control structures for repeating/hiding DOM fragments.
|
34 | 34 | * Support for forms and form validation.
|
35 | 35 | * Attaching code-behind to DOM elements.
|
36 | 36 | * Grouping of HTML into reusable components.
|
37 | 37 |
|
38 | 38 |
|
39 | 39 |
|
40 |
| -## End-to-end solution |
| 40 | +## A complete client-side solution |
41 | 41 |
|
42 |
| -Angular tries to be an end-to-end solution, when building a web application. This means it is |
43 |
| -not a single piece in an overall puzzle of building a web application, but an end-to-end solution. |
44 |
| -This makes Angular opinionated about how a CRUD application should be built. But while it is |
45 |
| -opinionated, it also tries to make sure that its opinion is just a starting point, which you can |
46 |
| -easily change. Angular comes with the following out-of-the-box: |
| 42 | +Angular is not a single piece in the overall puzzle of building the client-side of a web |
| 43 | +application. It handles all of the DOM and AJAX glue code you once wrote by hand and puts it in a |
| 44 | +well-defined structure. This makes Angular opinionated about how a CRUD application should be |
| 45 | +built. But while it is opinionated, it also tries to make sure that its opinion is just a |
| 46 | +starting point you can easily change. Angular comes with the following out-of-the-box: |
47 | 47 |
|
48 | 48 | * Everything you need to build a CRUD app in a cohesive set: data-binding, basic templating
|
49 | 49 | directives, form validation, routing, deep-linking, reusable components, dependency injection.
|
|
0 commit comments