@ngdoc overview @name FAQ @description #FAQ ### Why is this project called "AngularJS"? Why is the namespace called "ng"? Because HTML has Angular brackets and "ng" sounds like "Angular". ### Is AngularJS a library, framework, plugin or a browser extension? 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. 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. ### 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. 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 AngularJS environment locally? Yes. See instructions in {@link downloading}. ### What browsers does angular work with? 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. 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. ### How big is the angular.js file that I need to include? The size of the file is < 29KB compressed and minified. ### Can I use the open-source Closure Library with angular? Yes, you can use widgets from the {@link http://code.google.com/closure/library Closure Library} in angular. ### Does angular use the jQuery library? 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 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.