Skip to content
@project-robius

Project Robius

Community for Multi-platform Application Development in Rust

Robius: Multi-Platform App Dev in Rust

Robius Book Code Examples Matrix Chat δΈ­ζ–‡

Robius is a fully open-source, decentralized, community-driven effort to enable multi-platform application development in Rust.

For more info, check out:

The Robius organization also acts as an informal1 working group: a welcoming, public space to collect and discuss resources related to improving and furthering the app dev experience in Rust.

Got a question? Want to get involved? Interested in contributing?
Come join our friendly community on the Matrix chat Robius space.

Our vision

We believe that the Rust programming language is the right choice for the next generation of application developers, but that the language ecosystem needs a bit more love and attention to make it a first-class citizen in the world of application development, particularly on mobile platforms.

We envision a future in which:

  1. Rust developers can create safe, beautiful, and robust applications that execute efficiently and performantly on a wide variety of platforms, especially mobile.
  2. Frontend developers using other languages are encouraged to come over to the dark side wonderful world of Rust and give it a try, with a seamless transition experience that helps overcome the steep learning curve commonly associated with Rust.
  3. The Rust ecosystem is broadened and strengthened, demonstrating to existing Rust experts in other domains that Rust is a great fit for highly-productive application development, not just low-level systems and embedded programming.

What's in a name?

The name Robius comes from the Latin word robius, meaning red in color, as in oxen, wheat, rust, etc. This makes for a nice color-based connection to Rust, our programming language of choice.

Robius rhymes with Mobius, and our logo/icons take inspiration from the wordplay combination of "Rust" and "Mobius strip".

Yes, technically, the original German name is MΓΆbius, but we use an Americanized pronunciation with a long "o" sound: "Roe-bee-us" / ˈɹoʊˈbiΙ™s.

Current status

Robius is a brand new vision -- we're just getting off the ground.

Currently, the best way to get started is to directly use one of the recommended UI toolkits to build out your application's UI and define its UX behavior. For now, everything else beyond UI will require you to add the missing pieces yourself, e.g., network connectivity, async multitasking, and access to other device peripherals or system services.

Everything is developed right here in the open, so check back for updates often! We plan to introduce a pre-alpha version of the full Robius system stack (everything beneath the application) by early-to-mid 2024, which will enable easier access to and integration of other platform/OS features alongside the UI toolkits.

Platform support πŸ“² πŸ–₯️ 🌐 πŸ’» πŸ–±οΈ ⌨️

➑️ Click here for a table ⬅️ showing which projects support which features on which platforms.

Key Community Projects

The Robius ecosystem consists of several independent projects that can be composed into a complete system stack to realize fast, painless application development across multiple platforms in pure Rust. Components are loosely coupled, allowing a developer (in the future) to customize which components are used to comprise the underlying system, such as choosing

  • Makepad is a cross-platform UI toolkit currently under active development that offers a hybrid retained-mode and immediate-mode UI model.

    • Rapid development cycle: very fast compile times due to a custom minimal dependency set, plus a custom DSL for live design that enables hot reloading of UI elements.
    • Makepad Studio: an IDE prototype built using Makepad itself with unique features like cross-process shared textures for live reload of an in-window UI app, docking tabs for file/window views, hyper-smooth code folding, and more.
    • Makepad framework: a (growing) collection of highly-performant widgets and minimal, zero/low-overhead platform abstractions.
  • Dioxus is a cross-platform, production-ready UI toolkit that is inspired by React, with a custom metalanguage called RSX that is used to declare UI elements/layout in an HTML-like style.

    • Supports many platforms with a set of interchangeable target renderers, including desktop, webapps, static sites, text UIs, liveview, and mobile.
    • Fast and memory-efficient, with perfect lighthouse scores and performance orders of magnitude better than Node or Python.
    • Excellent built-in abstractions for state management.
    • Easy, familiar styling using vanilla CSS or the CSS framework of your choice, e.g., Tailwind.
  • Osiris is a set of Rust interfaces for developing immersive applications atop a diverse set of operating systems services and platform-specific functionality.

    • Osiris aims to provide Rust apps with an easy canonical way to access platform features like storage, networking, multimedia (video, audio, camera), geolocation, device orientation (accelerometer, gyro), timers & alarms, notifications, clipboard, drag-n-drop, and more.
    • osi: the primary Rust package that exposes direct access to OS interfaces. Higher-level Rust abstractions are coming soon, after raw interfaces for more platforms are complete.
    • Osiris offers build tooling that can:
      1. Set up new project directories with auto-generated scaffolding for platform-specific integration components that can be customized post-creation.
      2. Generate application artifacts that adhere to the policies of each platform, i.e., packages that can be published to common app stores (Google Play, Apple App Store, Microsoft Store, etc).

Repositories of Interest

Robius aims to provide a fully-functional reference design of the entire system stack beneath the application, for which an architectural overview and detailed documentation will be available.

We also intend to provide two classes of actual applications:

  1. Flagships: complete, fully-featured apps with a clean UI design, polished UX, and functional business logic. These apps will be publishable to platform app stores.
  2. Simple demos: a series of basic example apps that exhibit a few key features, with mock components underneath and elsewhere.

Flagship apps

  • Robrix: the Robius Matrix chat client.
    • Currently under active development, and looking for help!
    • The needs of this app will be the primary driver for Robius development.
  • Moxin: a local explorer for open-source LLMs.
    • Currently under active development, and looking for help!
    • Allows running LLMs locally and conversing with an AI Chatbot for each model, using the WasmEdge runtime as an LLM backend runtime.

Simple demo apps

For more examples, check out the extensive set of Dioxus example apps and Makepad example apps. Osiris-specific examples are coming soon.

Contributing

We welcome contributions, ideas, and suggestions from anyone! We're also open to help you host and maintain your project under the umbrella of the Robius organization.

Translations of book content and READMEs to other languages are especially appreciated! If you speak multiple languages and are feeling generous, kindly reach out to us.

As mentioned up top, please feel free to reach out to our friendly community of devs on the Robius space on Matrix chat.
Matrix Chat

Footnotes

  1. Robius is not officially affiliated with the Rust project or Rust foundation. ↩

Pinned

  1. book book Public

    The Robius book: details about our vision for multi-platform app dev in Rust, plus docs, tutorials, examples, and more.

    10 3

  2. robrix robrix Public

    A Matrix chat client written using the Robius app dev framework in Rust

    Rust 26 2

  3. makepad_wechat makepad_wechat Public

    WeChat-like application implemented with Makepad

    Rust 17 6

  4. makepad_social_media_feed makepad_social_media_feed Public

    Example app of a social media feed for mobile applications, using makepad.

    Rust 2

Repositories

Showing 10 of 25 repositories
  • robrix Public

    A Matrix chat client written using the Robius app dev framework in Rust

    Rust 26 MIT 2 4 0 Updated May 8, 2024
  • .github Public

    Project Robius: GitHub profile landing page

    0 MIT 1 0 0 Updated May 8, 2024
  • files Public

    For storing large files that other repositories want to reference.

    0 0 0 0 Updated May 8, 2024
  • robius-demo-simple Public

    Simple Makepad app that demonstrates how to use various Robius platform crates, e.g., πš›πš˜πš‹πš’πšžπšœ-πšŠπšžπšπš‘πšŽπš—πšπš’πšŒπšŠπšπš’πš˜πš—, πš›πš˜πš‹πš’πšžπšœ-πš˜πš™πšŽπš—

    Rust 0 MIT 0 0 1 Updated May 7, 2024
  • moxin Public

    Moxin: a Rust AI LLM client built atop Robius

    Rust 16 Apache-2.0 7 1 1 Updated May 6, 2024
  • robius-open Public

    Rust abstractions for multi-platform opening of URIs

    Rust 0 1 0 0 Updated May 6, 2024
  • Python 0 Apache-2.0 0 0 0 Updated Apr 25, 2024
  • Rust 0 Apache-2.0 0 0 0 Updated Apr 25, 2024
  • robius-authentication Public

    Rust abstractions for multi-platform native authentication (biometric, fingerprint, password, FaceID, TouchID etc)

    Rust 4 1 0 0 Updated Apr 24, 2024
  • Rust 0 0 0 0 Updated Apr 23, 2024

Most used topics

Loading…