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

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.

Twitter and/or Mastodon Handle

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

Level of Difficulty Intermediate
Pronouns they

Primary author

Presentation materials

There are no materials yet.