JUCE contains over half a million lines of painstakingly hand-crafted code, and hundreds of classes. The main features are listed here.
There's also a complete set of API documentation, where you can browse through all the available classes.
The library is divided into a series of submodules. You can choose to build with a subset of these modules, depending on your app's requirements.
The Core module contains fundamental classes for collections, threading, system information and networking.
JUCE makes it easy to build a versatile UI that can run on any platform and integrate OpenGL.
The Introjucer is JUCE's project management tool. It's open-source and you can build it from the source-code included in the JUCE repository.
JUCE handles 2D rendering engines, image format handling and font functionality.
A rich set of tools including basic audio data management classes, cross-platform audio I/O, audio file reading and writing, plugin hosting, a client wrapper and various helpers and GUI classes.
Everything you need to create complex MIDI functionality.
Build VST, VST3, AU, RTAS and AAX format plugins with ease, and host VST and AU plugins inside your own applications.
XML & JSON
Comprehensive support for structured text data formats.
A set of useful tools for making robust and powerful applications.
Easy interaction with remote devices and applications.
A set of tools for ensuring your application’s security.
Augment the functionality of your browser.
Several useful tools that have proved handy over ten years of development of the library.