Akademy 2024 abstract
- Title — the title of your session/presentation
- Content — a brief summary of your presentation
- Description — additional information not in the abstract; potential benefits of the topic for the audience
- A short bio — including anything that qualifies you to speak on your subject
- A headshot — your picture that we can use to help promote your talk as part of the final Akademy schedule (not essential but desirable)
Title
Integrating value-oriented design with Qt/QML using the lager library
Content
In this talk, I will be talking about the use of lager in Qt/QML applications. The current way of programming in Qt can often lead to thread-safety or performance problems. lager can solve this problem by incorporating another way of thinking into your Qt/QML software. In this way, the state of your application is a value that can be copied around so developers will have a lot less to worry about thread-safety. The talk will cover the basic usage of lager, and solutions to common problems I have faced when writing a QML application with lager.
Authors
tusooa tusooa@kazv.moe
Contribution type
Coneference Talk (40mins)
Comments
Track
Main
Description
From lager's website:
lager is a C++ library to assist value-oriented design by implementing the unidirectional data-flow architecture. It is heavily inspired by Elm and Redux, and enables composable designs by promoting the use of simple value types and testable application logic via pure functions.
I was first introduced to lager by a Krita developer, Dmitry Kazakov, when I was on a Google Summer of Code program for Krita back in 2019. In that program, I attempted to refactor a part of the vector library for it to use copy-on-write mechanism. We were frustrated by a lot of thread-safety problems. Dmitry recommended the use of lager, though it was too huge a project for me to refactor everything to use lager.
When I went on to create kazv, the Matrix client and instant messaging app, I used the lager library and faced a lot of challenges. I ended up solving those problems and think it would be valuable to share my experience creating a Qt/QML application with lager.
Biography
tusooa is the maintainer of kazv, a Matrix client and instant messaging app that makes heavy use of lager.