Skip to content

Commit

Permalink
docs(faq): update faq docs
Browse files Browse the repository at this point in the history
  • Loading branch information
IgorMinar committed Aug 7, 2012
1 parent eee9a51 commit 54e4a6f
Showing 1 changed file with 50 additions and 33 deletions.
83 changes: 50 additions & 33 deletions docs/content/misc/faq.ngdoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,54 +4,68 @@

#FAQ

### Why is this project called "angular"? Why is the namespace called "ng"?
### Why is this project called "AngularJS"? Why is the namespace called "ng"?

Because HTML has angular brackets and "ng" sounds like "angular".
Because HTML has Angular brackets and "ng" sounds like "Angular".

### Is <angular/> an HTML5 tag?

No, <angular/> is not an HTML5 tag. angular is an orthogonal project to HTML5; you can use the two
together.
### Is AngularJS a library, framework, plugin or a browser extension?

### Is angular a {library, framework, DOM manipulation library, widget library, native plugin}?
AngularJS fits the definition of a framework the best, even though it's much more lightweight than
a typical framework and that's why many confuse it with a library.

No, angular is none of these. You don't call its functions, it does not call your functions,
it does not provide a way to manipulate DOM, but does provide primitives to create UI projections
of your data. There are lots of existing widget libraries which you can integrate with angular.
It is 100% JavaScript, 100% client side and compatible with both desktop and mobile browsers.
AngularJS is 100% JavaScript, 100% client side and compatible with both desktop and mobile browsers.
So it's definitely not a plugin or some other native browser extension.

### Do I need to worry about security holes in angular?

Like with any technology, angular is not impervious to attack. angular does, however, provide
### Is AngularJS a templating system?

At the highest level, Angular does look like a just another templating system. But there is one
important reason why Angular templating system is different and makes it very good fit for
application development: bidirectional data binding. The template is compiled in the browser and
the compilation step produces a live view. This means you, the developers, don't need to write
code to constantly sync the view with the model and the model with the view as in other
templating systems.


### Do I need to worry about security holes in AngularJS?

Like with any technology, AngularJS is not impervious to attack. angular does, however, provide
built-in protection from basic security holes including cross-site scripting and HTML injection
attacks. angular does round-trip escaping on all strings for you.
attacks. AngularJS does round-trip escaping on all strings for you and even offers XSRF protection
for server-side communication.

AngularJS was designed to be compatible with other security measures like Content Security Policy
(CSP), HTTPS (SSL/TLS) and server-side authentication and authorization that greatly reduce the
possible attack vectors and we highly recommended their use.

### Can I download the source, build, and host the angular environment locally?

### Can I download the source, build, and host the AngularJS environment locally?

Yes. See instructions in {@link downloading}.

### Is angular a templating system?

At the highest level, angular does look like a just another templating system. But there is one
important reason why angular templating system is different and makes it very good fit for
application development: bidirectional data binding. The template is compiled on the browser and
the compilation step produces a live view. This means you, the developer, don't need to write
code to constantly sync the view with the model and the model with the view as in other
templating systems.

### What browsers does angular work with?

Webkit-based browsers (Safari, Chrome, iPhone, Android, WebOS, BlackBerry 6), Firefox, IE6 and
above. Note that CSS only works on IE7 and above.
Our we run our extensive test suite against the following browsers: Safari, Chrome, Firefox, Opera,
IE8, IE9 and mobile browsers (Android, Chrome Mobile, iOS Safari).


### What's Angular's performance like?

The startup time heavily depends on your network connection, state of the cache, browser used and
available hardware, but typically we measure bootstrap time in tens or hundreds of milliseconds.

### What's angular's performance like?
The runtime performance will vary depending on the number and complexity of bindings on the page
as well as the speed of your backend (for apps that fetch data from the backend). Just for an
illustration we typically build snappy apps with hundreds or thousands of active bindings.

angular takes ~300ms to load, render, and compile. In Chrome it uses about 2-5MB of memory. Your
app's performance will vary depending on how many bindings you use.

### How big is the angular bootstrap JS file that I need to include?
### How big is the angular.js file that I need to include?

The size of the file is < 29KB compressed and minified.

The size of the library itself is < 50KB compressed and obfuscated.

### Can I use the open-source Closure Library with angular?

Expand All @@ -60,22 +74,25 @@ in angular.

### Does angular use the jQuery library?

Yes, angular uses {@link http://jquery.com/ jQuery}, the open source DOM manipulation library.
If jQuery is not present in your script path, angular falls back on its own implementation of
{@link api/angular.element jQuery lite}. If jQuery is present in the path, angular uses it to
manipulate the DOM.
Yes, Angular can use {@link http://jquery.com/ jQuery} if it's present in your app when the
application is being bootstrapped. If jQuery is not present in your script path, Angular falls back
to its own implementation of the subset of jQuery that we call {@link api/angular.element jQLite}.


### What is testability like in angular?

Very testable. It has an integrated dependency injection framework. See
Very testable and designed this way from ground up. It has an integrated dependency injection
framework, provides mocks for many heavy dependencies (server-side communication). See
{@link api/ng service} for details.


### How can I learn more about angular?

Watch the July 28, 2010 talk
"{@link http://www.youtube.com/watch?v=elvcgVSynRg| Angular: A Radically Different Way of Building
AJAX Apps}".


### How is angular licensed?

The MIT License.

0 comments on commit 54e4a6f

Please sign in to comment.