What is JUCE?
JUCE is a wide-ranging C++ class library for building rich cross-platform applications and plugins for all the major operating systems. Having been actively developed since 2003, it is used by thousands of developers around the world, and JUCE-based apps are used by millions of people every day.
The JUCE Experience
There are lots of practical reasons to use JUCE, but the most common compliment is purely aesthetic: "The code's just really nice!" A decade of development, mostly by one person, has led to a codebase that is highly consistent, literate and easy to use.
JUCE has hundreds of classes covering a vast range of tasks from high-level user-interface handling right down to low-level collections, networking, strings, etc. Supported platforms are OSX, Windows, Linux, iOS and Android, and the Introjucer project management tool makes it a breeze to maintain cross-platform projects.
JUCE built in an entirely modular manner, meaning you can easily find what you need, and use only those elements that you need. Everything is divided by function, from GUI basics to cryptography, and the modules all work together as a consistent whole.
Any behind-the-scenes platform-dependent code is kept away from public view and implementation details are hidden. When you include JUCE header files, they only include pure C++ classes, and won't pull in any OS-specific headers. Wherever it's possible to use a pure C++ technique instead of native functionality, we've done so.
High Quality C++
JUCE is led by Jules Storer, a professional C++ coder for 20 years, who has studied all the available C++ guru literature. Every class in the library is intended to be a good example of the best possible coding practices – so if you spot anything dodgy lurking in there, don't hesitate to let us know!