AppCore is a cross-platform app runtime module for Ultralight that provides platform-specific window creation, events, message loops, and GPU context creation / drawing.
You should use AppCore only if you intend to build a standalone HTML-based desktop application (ala Electron).
For lower-level integration, (eg, for rendering within an existing game engine), you should instead use the
lower-level Ultralight API (eg, Renderer::Create()
) which grants you the ability to render Views offscreen
to a pixel buffer using the CPU renderer.
For more information see our Docs.
The following GPU back-ends are used on each platform:
Platform | GPU Driver |
---|---|
Windows | Direct3D 11 |
macOS | Metal |
Linux | OpenGL 3.2 (GLFW) |
Pre-built binares are uploaded to the following S3 buckets every commit:
- Release Bins: https://appcore-bin.sfo2.digitaloceanspaces.com/
Click any of the bucket links to get an XML file listing. Download a package by appending the filename to the bucket URL.
- CMake 3.2+ (https://cmake.org/)
- Ninja (https://ninja-build.org/)
- Recent GCC/Clang on macOS/Linux
- Visual Studio 2019 on Windows
- Install Visual Studio 2019 (Free Community Edition works fine). Remember to select the C++ packages.
- Install Chocolatey (https://chocolatey.org).
- Run the following from command line:
choco install cmake ninja
- Install Xcode 9.4.1 (Older versions of Xcode can be found here: https://developer.apple.com/download/more/)
- Install Homebrew (https://brew.sh/)
- Run the following from command line:
brew install cmake ninja
To get everything on Linux, just type the following:
sudo apt install cmake ninja-build clang lld-4.0 libx11-dev xorg-dev libglu1-mesa-dev
To build AppCore for Windows / 64-bit:
make release x64
To build AppCore with debug symbols:
make full_debug x64
By default, the build scripts in this repo fetch pre-built dependencies from our servers.
To build AppCore using locally-built dependencies in the /deps
folder (really only useful
if you need to build against modified modules/deps):
make release x64 local
To build for macOS/Linux:
./make
Build products will be in <build_dir>/out
.
If your checkout is up-to-date, a 7zip release archive will also be generated in <build_dir>
.