OpenFrameworks alternatives and similar libraries
Based on the "Frameworks" category.
Alternatively, view OpenFrameworks alternatives based on common mentions on social networks and blogs.
-
JUCE
JUCE is an open-source cross-platform C++ application framework for desktop and mobile applications, including VST, VST3, AU, AUv3, LV2 and AAX audio plug-ins. -
Cinder
Cinder is a community-developed, free and open source library for professional-quality creative coding in C++. -
libPhenom
DISCONTINUED. libPhenom is an eventing framework for building high performance and high scalability systems in C. [Apache2] -
ffead-cpp
Framework for Enterprise Application Development in c++, HTTP1/HTTP2/HTTP3 compliant, Supports multiple server backends -
LibU
LibU is a multiplatform utility library written in C, with APIs for handling memory allocation, networking and URI parsing, string manipulation, debugging, and logging in a very compact way, plus many other miscellaneous tasks -
Loki
Loki is a C++ library of designs, containing flexible implementations of common design patterns and idioms. -
XPLPC - Cross Platform Lite Procedure Call
Cross Platform Lite Procedure Call - Support Linux, macOS, Windows, iOS, Android, Web Assembly, Flutter, Kotlin, Python and More -
Windows Template Library
A C++ library for developing Windows applications and UI components. [Public] -
GLib
GLib provides the core application building blocks for libraries and applications written in C. [LGPL] -
ROOT
A set of OO frameworks with all the functionality needed to handle and analyze large amounts of data in a very efficient way. Used at CERN. [LGPL] -
Reason
A cross platform framework designed to bring the ease of use of Java, .Net, or Python to developers who require the performance and strength of C++. [GPL2] -
Cxxomfort
A small, header-only library that backports to C++03 some of the nifty C++11 goodies. [MIT]
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of OpenFrameworks or a related project?
README
openFrameworks
openFrameworks is a C++ toolkit for creative coding. If you are new to OF, welcome!
Build status
- The master branch contains the newest, most recently updated code. This code is packaged and available for download in the "Nightly Builds" section of openframeworks.cc/download.
- The stable branch contains the code corresponding to the last stable openFrameworks release. This stable code is packaged and available for download at openframeworks.cc/download.
Platform | Master branch | Stable branch |
---|---|---|
Windows MSYS2 | ||
Windows Visual Studio | ||
Linux 64 & Arm | ||
Emscripten | ||
macos | ||
iOS & iOS | ||
Android Arm7 |
folder structure
This release of OF comes with several folders:
- addons
- apps
- docs
- examples
- export (on some systems)
- libs
- other
- scripts
- projectGenerator
docs
has some documentation around OF usage, per platform things to consider, etc. You should definitely take a look in there; for example, if you are on OSX, read the osx.md. apps
and examples
are where projects go -- examples
contains a variety of projects that show you how to use OF, and apps
is where your own projects will go. libs
contains the libraries that OF uses, including the openframeworks core itself. addons
are for additional functionality that's not part of the core. export
is for DLLs and dylibs that need to be put in each compiled project. The scripts
folder has the templates and small scripts for automating OF per platform. project generator
is a GUI based tool for making new projects - this folder is only there in packaged releases.
One idea that's important is that OF releases are designed to be self-contained. You can put them anywhere on your hard drive, but it's not possible to mix different releases of OF together, so please keep each release (0.8.0, 0.8.1) separate. Projects may generally work from release to release, but this is not guaranteed. Because OF is self-contained, there's extensive use of local file paths (ie, ../../../) throughout OF. It's important to be aware of how directories are structured. A common error is to take a project and move it so that it's a level below or above where it used to be compared to the root of OF. This means that links such as ../../../libs will break.
Get involved
The openframeworks forum:
http://forum.openframeworks.cc/
is a warm and friendly place. Please ask or answer a question. The most important part of this project is that it's a community, more than just a tool, so please join us! Also, this is free software, and we learn so much about what is hard, what doesn't make sense, what is useful, etc. The most basic questions are acceptable here! Don't worry, just join the conversation. Learning in OF is social, it's hard to do it alone, but together we can get far!
Our GitHub site is active:
https://github.com/openframeworks/openFrameworks
if you have bugs or feature requests, consider opening an issue. If you are a developer and want to help, pull requests are warmly welcome. Please read the contributing guide for guidelines:
https://github.com/openframeworks/openFrameworks/blob/master/CONTRIBUTING.md
We also have a developer's mailing list, which is useful for discussing issues around the development and future of OF.
Developers
To grab a copy of openFrameworks for your platform, check the download page on the main site.
If you are working with the Git repository, the stable
branch of the OF repository corresponds to the most recent release, with a few important differences:
- The release includes a simple openFrameworks project generator.
- This GitHub repository contains code and libs for all the platforms, but the releases are done on a per-platform basis.
- This GitHub repository has no project files for the different examples. They are generated automatically for each release using a tool in
apps/projectGenerator/
. - There are no external dependencies in this repository, you can download them using the download_libs.sh script for each platform in the particular platform folder inside scripts.
If you want to work with the openFrameworks GitHub repository, you need to download the external dependencies and you should use the project generator to create project files for all the code in examples/
. To generate the project files with the project generator enable the 'Advanced Options' in the settings tab, then use 'Update Multiple' to update the projects for the examples/
folder path in the repo.
To set up the project generator submodule within the OF repo, use the command git submodule init
then git submodule update
whilst inside the openFrameworks repo.
For more info on working with the Project Generator, for per-platform readmes, and more information, see the [documentation](docs/table_of_contents.md).
Versioning
openFrameworks uses Semantic Versioning, although strict adherence will only come into effect at version 1.0.0.