Advantages
- JavaScript saves bandwidth thanks to the fact that is executed on the client side instead of web server
- It is a relatively easy language – its syntax is based on Java and C and it uses the DOM model which provides prewritten functionality
- The code is executed on the user’s processor and does not need to be processed by the web server
- Versatile – can be easily mixed with other languages on a variety of applications, and it can be used in any type of web page
- Interactive – developers can create dynamic effects, interactions, drop-down menus, webpage text effects, chat rooms, interactive games etc.
- It has an extensive number of libraries
- It is supported by most web browsers
Disadvantages
- JavaScript has security issues – it can be relatively easy to exploit using malicious code
- Rendering varies – it can render differently depending on the browser, and it is not search engine friendly
- Standard sets of objects are not supported
- It has no multithreading or multiprocessor capabilities
- Complex scripts have longer starting and running time
Components
- Frameworks (jQuery, Backbone.js, Angular.js etc.)
- Libraries (React, Handlebars etc.)
- Animations (Velocity.js, Bounce.js etc.)
- Game Engines (MelonJS, ImpactJS, PandaJS etc.)
Development tools
- NetBeans
- Komodo IDE
- Eclipse
- Visual Studio