Skip to main content

What is XFrames?

XFrames is a high-performance framework for building native desktop applications with minimal overhead. Designed for developers who want to leverage the power of languages like JavaScript, Python, Lua, OCaml, and more, XFrames allows you to create applications without the usual resource-intensive web technologies like DOM, CSS, or Electron. By utilizing OpenGL and GLFW3 on native platforms or WebAssembly and WebGPU in the browser, XFrames provides fine-grained control over performance and memory usage.

Getting Started

The requirements will depend on which programming language you wish to use with XFrames.

So far, XFrames has been tested with the following languages/platforms:

  • JavaScript/TypeScript
  • WebAssembly
  • Free Pascal
  • Delphi
  • Python
  • Julia
  • Lua
  • OCaml
  • C#
  • F#
  • Rust
  • Ada
  • D
  • Crystal
  • Ruby
  • Nim
  • Zig
  • Haskell
  • Racket
  • Gnu Step
  • Gnu Smalltalk
  • Swift
  • Java
  • Kotlin
  • Scala

JavaScript / TypeScript (Node.js)

Generate a new Node.js desktop application

npx create-xframes-node-app

You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor.

The command also installs all necessary dependencies you need to run your XFrames app.

Enter a project name, cd into the newly created project folder then run

npm start

WebAssembly

Generate a new WASM-enabled, Webpack-based web application

Detailed instructions are coming soon! Meanwhile, please refer to this example.

Python

Instructions coming soon! There might be details in the project's README file.

Rust

Instructions coming soon! There might be details in the project's README file.

Julia

Instructions coming soon! There might be details in the project's README file.

Zig

Instructions coming soon! There might be details in the project's README file.

Swift

Instructions coming soon! There might be details in the project's README file.

Gnu Step

Instructions coming soon! There might be details in the project's README file.

Gnu Smalltalk

Instructions coming soon! There might be details in the project's README file.

Nim

Instructions coming soon! There might be details in the project's README file.

Lua

Instructions coming soon! There might be details in the project's README file.

Free Pascal

Instructions coming soon! There might be details in the project's README file.

Delphi

Instructions coming soon! There might be details in the project's README file.

OCaml

Instructions coming soon! There might be details in the project's README file.

C#

Instructions coming soon! There might be details in the project's README file.

F#

Instructions coming soon! There might be details in the project's README file.

Ada

Instructions coming soon! There might be details in the project's README file.

D

Instructions coming soon! There might be details in the project's README file.

Racket

Instructions coming soon! There might be details in the project's README file.

Haskell

Instructions coming soon! There might be details in the project's README file.

Crystal

Instructions coming soon! There might be details in the project's README file.

Java

Instructions coming soon! There might be details in the project's README file.

Kotlin

Instructions coming soon! There might be details in the project's README file.

Scala

Instructions coming soon! There might be details in the project's README file.