Building from source code requires some more knowledge about the project, as it’s split in multiple components. Which component you want to tinker with will affect what you need a bit.

Here’s a short overview:

  • Uno: A programming language (and a compiler), which is a dialect of C#. Unlike the traditional C# development tools, Uno generates C++ code that can be compiled with the normal native development tools (Android Studio and Xcode).
  • UX: An XML-based declarative UI language. This is implemented in the Uno compiler.
  • Fuselibs: An application framework written in Uno, that implements the core of the Fuse development platform. The Fuselibs components are intended to be used from UX. Fuselibs depends on the Uno compiler.
  • Fuse Studio (sometimes referred to as just “Fuse”): This is the WYSIWYG editor for UX-based applications. Fuse Studio depends on Fuselibs and Uno.

These components are written to be as independent of each other as we’ve managed, and in general you can build the code in each repository independently and get useful restults. However, most users are probably going to want to work with all of these repositories checked out side-by-side, so they can modify any compoent and get the desired results.

There’s documentation for this spread a bit around the place. Fuselibs documents how to coexist with Fuse. Uno documents how to coexist with Fuselibs.