Skip to content

[WiP] cross-platform mobile framework written in Rust

Notifications You must be signed in to change notification settings

tomadimitrie/moonlight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Moonlight - a cross-platform mobile framework written in Rust (work in progress)

This started as a proof of concept, but it has potential as there isn't any mobile framework written in Rust, so I am going to continue developing it when I have free time.

Pull requests welcome! If you want to help me build this project, let me know so I can explain what I have in mind for every item in the roadmap.

Installation

  1. Make sure you have the latest versions of Xcode and Rust (+ Cargo)
  2. Clone the repo
  3. Install cargo-lipo (i.e. cargo install cargo-lipo)
  4. Make sure xcode-select -p points to your Xcode location, NOT the command line tools Homebrew loves to install
  5. Add the iOS targets to rustup (i.e. rustup target add aarch64-apple-ios x86_64-apple-ios)
  6. Build the library (i.e. cargo lipo or cargo lipo --release)
  7. Build and run the Xcode project

Done until now (iOS)

  • Passing data to Swift through a C bridging header
  • Passing data back to Rust for deallocation
  • Basic view structure with traits

Roadmap

  • Reactive views
  • Supporting Android
  • Translating everything from UIKit and Android SDK
  • Plugin support
  • Better file organization
  • Testing
  • Better debugging tools - surprisingly, Xcode has some kind of debug support for Rust files (it shows the line with the exception), but it's not enough
  • Better exception handling
  • Better tree shaking and inlining
  • Writing a CLI - preferably in Rust
  • Writing a website

About

[WiP] cross-platform mobile framework written in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published