/react-juce

Write cross-platform native apps with React.js and JUCE

Primary LanguageCMIT LicenseMIT

React-JUCE

Write cross-platform native apps with React.js and JUCE

React-JUCE (formerly named Blueprint) is a hybrid JavaScript/C++ framework that enables a React.js frontend for a JUCE application or plugin. It provides an embedded, ES5 JavaScript engine via Duktape, native hooks for rendering the React component tree to juce::Component instances, and a flexbox layout engine via Yoga.

For more information, see the introductory blog post here: Blueprint: A JUCE Rendering Backend for React.js

Status

Approaching Beta. We hope to announce a beta release in the coming weeks, after which we will aim our focus at stability and completeness on the path to a 1.0 release.

Anticipated Breaking Changes

  • We'll be renaming Blueprint to react-juce before beta (#34)
  • Updating the examples and npm init template to point to npm instead of the local package
  • ReactApplicationRoot::evaluate and ReactApplicationRoot::evaluateFile (#115)
  • Refactoring the hot reloader and decoupling the EcmascriptEngine from ReactApplicationRoot (#65)

Resources

Maintainers

Examples

React-JUCE is a young project, but already it provides the framework on which the entire user interface for Creative Intent's Remnant plugin is built.

Creative Intent Remnant: Screenshot

Besides that, you can check out the example code in the examples/ directory. See the "Documentation" section below for building and running the demo plugin. If you have a project written with React-JUCE that you want to share, get in touch! I would love to showcase your work.

Contributing

See CONTRIBUTING.md

License

See LICENSE.md