4
4
5
5
#FAQ
6
6
7
- ### Why is this project called "angular "? Why is the namespace called "ng"?
7
+ ### Why is this project called "AngularJS "? Why is the namespace called "ng"?
8
8
9
- Because HTML has angular brackets and "ng" sounds like "angular ".
9
+ Because HTML has Angular brackets and "ng" sounds like "Angular ".
10
10
11
- ### Is <angular/> an HTML5 tag?
12
11
13
- No, <angular/> is not an HTML5 tag. angular is an orthogonal project to HTML5; you can use the two
14
- together.
12
+ ### Is AngularJS a library, framework, plugin or a browser extension?
15
13
16
- ### Is angular a {library, framework, DOM manipulation library, widget library, native plugin}?
14
+ AngularJS fits the definition of a framework the best, even though it's much more lightweight than
15
+ a typical framework and that's why many confuse it with a library.
17
16
18
- No, angular is none of these. You don't call its functions, it does not call your functions,
19
- it does not provide a way to manipulate DOM, but does provide primitives to create UI projections
20
- of your data. There are lots of existing widget libraries which you can integrate with angular.
21
- It is 100% JavaScript, 100% client side and compatible with both desktop and mobile browsers.
17
+ AngularJS is 100% JavaScript, 100% client side and compatible with both desktop and mobile browsers.
18
+ So it's definitely not a plugin or some other native browser extension.
22
19
23
- ### Do I need to worry about security holes in angular?
24
20
25
- Like with any technology, angular is not impervious to attack. angular does, however, provide
21
+ ### Is AngularJS a templating system?
22
+
23
+ At the highest level, Angular does look like a just another templating system. But there is one
24
+ important reason why Angular templating system is different and makes it very good fit for
25
+ application development: bidirectional data binding. The template is compiled in the browser and
26
+ the compilation step produces a live view. This means you, the developers, don't need to write
27
+ code to constantly sync the view with the model and the model with the view as in other
28
+ templating systems.
29
+
30
+
31
+ ### Do I need to worry about security holes in AngularJS?
32
+
33
+ Like with any technology, AngularJS is not impervious to attack. angular does, however, provide
26
34
built-in protection from basic security holes including cross-site scripting and HTML injection
27
- attacks. angular does round-trip escaping on all strings for you.
35
+ attacks. AngularJS does round-trip escaping on all strings for you and even offers XSRF protection
36
+ for server-side communication.
37
+
38
+ AngularJS was designed to be compatible with other security measures like Content Security Policy
39
+ (CSP), HTTPS (SSL/TLS) and server-side authentication and authorization that greatly reduce the
40
+ possible attack vectors and we highly recommended their use.
28
41
29
- ### Can I download the source, build, and host the angular environment locally?
42
+
43
+ ### Can I download the source, build, and host the AngularJS environment locally?
30
44
31
45
Yes. See instructions in {@link downloading}.
32
46
33
- ### Is angular a templating system?
34
47
35
- At the highest level, angular does look like a just another templating system. But there is one
36
- important reason why angular templating system is different and makes it very good fit for
37
- application development: bidirectional data binding. The template is compiled on the browser and
38
- the compilation step produces a live view. This means you, the developer, don't need to write
39
- code to constantly sync the view with the model and the model with the view as in other
40
- templating systems.
41
48
42
49
### What browsers does angular work with?
43
50
44
- Webkit-based browsers (Safari, Chrome, iPhone, Android, WebOS, BlackBerry 6), Firefox, IE6 and
45
- above. Note that CSS only works on IE7 and above.
51
+ Our we run our extensive test suite against the following browsers: Safari, Chrome, Firefox, Opera,
52
+ IE8, IE9 and mobile browsers (Android, Chrome Mobile, iOS Safari).
53
+
54
+
55
+ ### What's Angular's performance like?
56
+
57
+ The startup time heavily depends on your network connection, state of the cache, browser used and
58
+ available hardware, but typically we measure bootstrap time in tens or hundreds of milliseconds.
46
59
47
- ### What's angular's performance like?
60
+ The runtime performance will vary depending on the number and complexity of bindings on the page
61
+ as well as the speed of your backend (for apps that fetch data from the backend). Just for an
62
+ illustration we typically build snappy apps with hundreds or thousands of active bindings.
48
63
49
- angular takes ~300ms to load, render, and compile. In Chrome it uses about 2-5MB of memory. Your
50
- app's performance will vary depending on how many bindings you use.
51
64
52
- ### How big is the angular bootstrap JS file that I need to include?
65
+ ### How big is the angular.js file that I need to include?
66
+
67
+ The size of the file is < 29KB compressed and minified.
53
68
54
- The size of the library itself is < 50KB compressed and obfuscated.
55
69
56
70
### Can I use the open-source Closure Library with angular?
57
71
@@ -60,22 +74,25 @@ in angular.
60
74
61
75
### Does angular use the jQuery library?
62
76
63
- Yes, angular uses {@link http://jquery.com/ jQuery}, the open source DOM manipulation library.
64
- If jQuery is not present in your script path, angular falls back on its own implementation of
65
- {@link api/angular.element jQuery lite}. If jQuery is present in the path, angular uses it to
66
- manipulate the DOM.
77
+ Yes, Angular can use {@link http://jquery.com/ jQuery} if it's present in your app when the
78
+ application is being bootstrapped. If jQuery is not present in your script path, Angular falls back
79
+ to its own implementation of the subset of jQuery that we call {@link api/angular.element jQLite}.
80
+
67
81
68
82
### What is testability like in angular?
69
83
70
- Very testable. It has an integrated dependency injection framework. See
84
+ Very testable and designed this way from ground up. It has an integrated dependency injection
85
+ framework, provides mocks for many heavy dependencies (server-side communication). See
71
86
{@link api/ng service} for details.
72
87
88
+
73
89
### How can I learn more about angular?
74
90
75
91
Watch the July 28, 2010 talk
76
92
"{@link http://www.youtube.com/watch?v=elvcgVSynRg| Angular: A Radically Different Way of Building
77
93
AJAX Apps}".
78
94
95
+
79
96
### How is angular licensed?
80
97
81
98
The MIT License.
0 commit comments