JavaScript itself is relatively compact, yet very flexible. Developers have written a variety of tools on top of the core JavaScript language, unlocking a vast amount of functionality with minimum effort. These include:Browser Application Programming Interfaces (APIs) built into web browsers, providing functionality such as dynamically creating HTML and setting CSS styles; collecting and manipulating a video stream from a user's webcam, or generating 3D graphics and audio samples.Third-party APIs that allow developers to incorporate functionality in sites from other content providers, such as Twitter or Facebook.Third-party frameworks and libraries that you can apply to HTML to accelerate the work of building sites and applications.