Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

GPU-accelerated GUI development for the desktop and the browser

License

NotificationsYou must be signed in to change notification settings

xframes-project/xframes

Repository files navigation

XFrames is a high-performance library that empowers developers to build native desktop applications using whichever programming language they are familiar with, without the overhead of the DOM. XFrames was originally conceived as a streamlined alternative to Electron, designed for developers looking to maximize performance and efficiency.

Key Features

  • DOM-free rendering: Bypasses the traditional DOM, providing a faster, more lightweight environment for GUI development.
  • Cross-platform support: Easily create applications for multiple platforms, including the browser through WebAssembly, while maintaining a native feel.
  • Advanced layout capabilities: Leverage the power and flexibility ofYoga layouts.

Getting started

Node.js

At the moment the easiest way to get started on Node.js is to run

npx create-xframes-node-app

Enter a name for your project then wait until source files and dependencies are installed, then

cd <project-name>npm start

You should see the following:

alt text

FAQs

Please refer to ourproject website's FAQ.

Core Technologies

Please refer to the'technologies used' section of our project website.

Roadmap

XFrames is actively maintained with planned features and enhancements. The focus at the moment is to add support for more widgets and programming languages.

Supported platforms

Node-API v9

ArchitectureOSNotes
wasm32-emscriptenN/AWorks in browsers that support WebGPU rendering
x64-windowsWindows 11 HomeWorks
x64-linuxWSL2 (Ubuntu) 24.04.1 LTSWorks by settingexport GALLIUM_DRIVER=d3d12
x64-linuxDebian TrixieWorks
x64-linuxUbuntu 22.04 LTSWorks
x64-linuxUbuntu 24.04 LTSWorks
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works, though there are stricter limits with custom fonts loading
riscv64-linuxDebian Trixie on Docker (emulated)Compiles successfully, yet to be tested on real hardware

Java

XFrames for Java

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks

Kotlin

XFrames for Kotlin

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks

Scala

XFrames for Scala

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks

F#

XFrames for F#

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxDebian TrixieWorks

C#

XFrames for C#

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxDebian TrixieWorks

Python

XFrames for Python

ArchitectureOSNotes
x64-linuxUbuntu 24.04.1Works

Rust

XFrames for Rust

ArchitectureOSNotes
x64-linuxUbuntu 24.04.1Works, but please refer to the README

Ada

XFrames for Ada

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Lua

XFrames for Lua

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Fortran

XFrames for Fortran

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxDebian TrixieWorks (gcc v14)

OCaml

XFrames for OCaml

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxDebian TrixieWorks
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Crystal

XFrames for Crystal

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxUbuntu 24.04.1Works

D

XFrames for D

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxUbuntu 24.04.1Works
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Ruby

XFrames for Ruby

ArchitectureOSNotes
x64-windowsWindows 11Works
x64-linuxUbuntu 24.04.1Works
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Gnu Step

XFrames for Gnu Step

ArchitectureOSNotes
x64-linuxUbuntu 24.04Works
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Gnu Smalltalk

XFrames for Gnu Smalltalk

ArchitectureOSNotes
x64-linuxWSL2 (Ubuntu) 24.04.1 LTSWorks
x64-linuxUbuntu 24.04Works
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Swift

XFrames for Swift

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxUbuntu 24.04Works
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Julia

XFrames for Julia

ArchitectureOSNotes
x64-windowsWindows 11Works
x64-linuxUbuntu 24.04Works
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Nim

XFrames for Nim

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxUbuntu 24.04Works
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Zig

XFrames for Zig

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxUbuntu 24.04Works

Racket

XFrames for Racket

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxUbuntu 24.04.1Works, had to build Racket from source
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works, had to build Racket from source

Haskell

XFrames for Haskell

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxUbuntu 24.04Works
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Free Pascal

XFrames for Free Pascal

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks
x64-linuxUbuntu 24.04.1Works, but please refer to the README
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024Works

Delphi

XFrames for Delphi

ArchitectureOSNotes
x64-windowsWindows 11 HomeWorks

Factor

XFrames for Factor

ArchitectureOSNotes
x64-linuxUbuntu 24.04.1Works, but please refer to the README

Accessibility

Accessibility is a key priority for the future ofXFrames. While the current version lacks comprehensive accessibility support, we are committed to making XFrames an inclusive framework that provides equitable access for all users. Upcoming development will focus on implementing accessibility features and adhering to industry standards, ensuring XFrames applications can be used effectively by people with disabilities. Our goal is to create a robust, accessible platform that enables developers to build applications for diverse audiences with confidence.

Basic online WASM demo

(online demo) Only browsers that natively support WebGPU: Chrome, Edge, Firefox nightly, possibly Safari (though I have not tested it).

Screenshots

Recording.2024-10-06.134348.mp4

React Dear Imgui screenshot 1

React Dear Imgui screenshot 2

React Dear Imgui screenshot 3

React Dear Imgui screenshot 4

Building

Supported platforms

ArchitectureOSCompilerNotes
wasm32-emscriptenN/Aemsdk 3.1.64Works
x64-windowsWindows 11 HomeVisual Studio 2022Works
x64-linuxWSL2 Ubuntu 24.04.1 LTSgcc 13.2.0Works
x64-linuxDebian Trixiegcc 14Works
x64-linuxUbuntu 22.04 LTSgcc 12.2Works
x64-linuxUbuntu 24.04 LTSgcc 13.2Works
arm64-linuxRaspberry Pi OS (Debian bookworm) Oct 2024gcc 12.2Works

General considerations for Ubuntu

This may seem obvious, particularly if you are an experienced Linux user/developer, so this is for the avoidance of the doubt: building xframes on Ubuntu 24.04 means that the generated binary extension will run on Ubuntu 24.04 but not on Ubuntu 22.04 (or older). As part of doing our tests, the binary extension generated using Ubuntu 22.04 did work fine on Ubuntu 24.04. Moving forward, we'll try to build it on even earlier versions of Ubuntu, i.e. 20.04

Contributing

We welcome contributions! If you’re interested in helping develop xframes, please get in touch and I'll help you get started.

Join the Xframes Discord Community

Contributors ✨

Thanks goes to these wonderful people (emoji key):

genautz
genautz

💻📖📦🔧🚇
Radliński Ignacy
Radliński Ignacy

📓

This project follows theall-contributors specification. Contributions of any kind welcome!

Star history

Star History Chart


[8]ページ先頭

©2009-2025 Movatter.jp