21–23 Apr 2023
Europe/Prague timezone

Cross-platform app development in Rust

23 Apr 2023, 15:30
40m
Presentation (40 min) Main Track

Description

You don't have years to spend to make a high quality yet unmaintainable app in C++? You don't want a bulky, slow, glitchy and dependency-ridden app in Java, JS or Python? As we've all heard, there's one programming language that lets you productively write clear and maintainable code that compiles to dependency-free high-performance native code for every platform. This presentation summarizes the findings from making an experimental next-generation GUI framework in Rust.

  • The architecture of a zero-weight framework – No framework feature can cost more than implementing an app-specific feature without a framework

  • Universal and timeless UI design – Taking ideas from the history of design instead of chasing trends

  • Functional GUI programming – A full departure from the old object-oriented GUI, entirely eliminating the stateful object graph, unlike previous reactive approaches that still keep it as a middle layer

  • Generating apps from a specification – A universal non-plain text language for creating domain-specific languages, allowing apps to be described in high-level functionality and have documentation, implementation and tests all generated from one specification

  • Safe high-performance extensibility – A compact machine-independent format for distributing programs, allowing untrusted programs to be compiled to optimized machine code and safely executed, using type safety instead of containers or runtime checks, thereby allowing zero-copy communication between modules

Twitter and/or Mastodon Handle

Mastodon https://social.bau-ha.us/@squirrel

Author(s) Bio

Fredrik is making research-oriented software for the purpose of empowering everyone to create better user experiences. Particular areas of focus include text editors, web browsing and education.

Level of Difficulty Intermediate
Pronouns they

Primary author

Presentation materials

There are no materials yet.