A backend for declarative UI frameworks, enabling the definition of UIs for multiple platforms in one executable target
https://meta.aparoksha.dev/
.gitea | ||
Sources | ||
Tests | ||
.gitignore | ||
.swiftlint.yml | ||
LICENSE.md | ||
Package.swift | ||
README.md |
Meta
Meta is a framework allowing the creation of user interface (UI) frameworks in Swift.
Table of Contents
Overview
Meta follows the following principles:
- It is a declarative framework, meaning that instead of writing how to construct a user interface, you write what it looks like.
- The user interface is treated as a function of its state. Instead of directly modifying the UI, modify its state to update views.
- Multiple UI frameworks can be used in the same code, but the selection of the framework happens when executing the app. This enables the creation of cross-platform UI frameworks combining several UI frameworks which render always with the same backend.
It knows the following layers of UI:
- An app is the entry point of the executable, containing the windows.
- A scene element is a template for a container holding one or multiple views (e.g., a window).
- A view is a part of the actual UI inside a window, or another view.
Detailed information can be found in the docs.
Usage
Meta can be used for creating UI frameworks in Swift which can then be used to create apps.
Follow those steps if you want to create a UI framework.
- Open your Swift package in GNOME Builder, Xcode, or any other IDE.
- Open the
Package.swift
file. - Into the
Package
initializer, underdependencies
, paste:
.package(url: "https://git.aparoksha.dev/aparoksha/meta", from: "0.1.0")