JUCE is an open-source cross-platform C++ application framework, used for the development of desktop and mobile applications. JUCE is used in particular for its GUI and plug-ins libraries. It is dual licensed under the GPLv3 and a commercial license.
The aim of JUCE is to allow software to be written such that the same source code will compile and run identically on Windows, macOS and Linux platforms. It supports various development environments and compilers.
JUCE resulted from a split-out of the underlying C++ code that was developed by Julian Storer to create Tracktion's (now Waveform) DAW graphic and audio capabilities. It was first released to the public in 2004. It is covered by a dual GPL/commercial license.
JUCE and Raw Material Software were acquired in November 2014 by London-based hardware manufacturer ROLI for an undisclosed amount.
In April 2020 it was announced that JUCE had been sold by ROLI to PACE Anti-Piracy Inc..
JUCE is intended to be usable in exactly the same way on multiple platforms and compilers. Raw Material Software gives the following list of platforms and compilers on which support is officially confirmed; others may work, but have not been officially tested.
JUCE is supported on the following platforms.
Windows Vista, 7, 8, and 10
macOS versions 10.7 and later
iOS versions 9 and later
Linux kernel series 2.6 and later
Android using NDK-v5 and later
JUCE is officially confirmed to work properly with the following compilers.
GCC versions 5 and later
LLVM - LLVM Clang versions 3.4 and later
Microsoft Visual Studio - Visual C++ 2015 and later
Like many other frameworks (e.g., Qt, wxWidgets, GTK, etc.), JUCE contains classes providing a range of functions that cover user-interface elements, graphics, audio, XML and JSON parsing, networking, cryptography, multi-threading, an integrated interpreter that mimics ECMAScript's syntax, and various other commonly used features. Application developers needing several third-party libraries may thus be able to consolidate and use only the JUCE library, or at least reduce the number of third-party libraries they use.