vgtk
talent-plan
Our great sponsors
vgtk | talent-plan | |
---|---|---|
14 | 23 | |
1,038 | 9,813 | |
- | 1.4% | |
0.0 | 0.0 | |
about 2 years ago | 7 months ago | |
Rust | Rust | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
vgtk
-
Rust: State of GUI, December 2022 – KAS blog
A pretty fun Rust GUI experienc is vgtk[0], which is doing a bunch of macro magic to give a "we're coding in React" vibe to GTK+. I don't really have a specific thing I want to code in a native GUI at the moment but if I did I think this would be the most tempting for me.
[0]: https://github.com/bodil/vgtk/
-
Code bloat has become astronomical
a stateful GUI markup language is react. it is not yet the case that react-like code works for desktop, though there are cool examples like vgtk https://github.com/bodil/vgtk
- Vgtk - A declarative desktop ui framework for rust built on gtk and gtk-rs
-
A declarative desktop UI framework for Rust built on GTK and GTK-rs
from what i gather from https://github.com/bodil/vgtk/issues/78, you're better off using realm
I'm always curious to see these projects, because I've been experimenting with a React renderer for the GJS bindings for a while. It's frustrating because GTK "feels like" it's so close to being able to support a vdom/declarative paradigm, but the devil is in the details.
The simple use-cases like "Window > Box > Label" are easy to get going. The more complex widgets like Stack/Grid/TreeView ... aren't.
This project seems to have the same issue: https://github.com/bodil/vgtk/issues/40
This is made more difficult now GTK4 has removed the Container base class, so there's no longer a unified interface for adding children (although it had caveats in the first place).
I totally get the GTK view that (presumably) specific widgets are more intuitive with specific add/remove APIs (like the grid - one doesn't really "appendChild" to a grid).
It just feels like: if there was a consistent container API comparable to the web's appendChild approach, a vdom/declarative approach would require only a very light wrapper. Without it, I keep coming back to the idea of implementing wrapper widgets that expose that consistent API instead. And that's just not something I want to maintain - effectively duplicating each GTK widget for the purpose of making it fit into a tree model.
It's also a problem of trying to wrap richer functionality (pack_start and pack_end) into a simpler set (append only) of course.
So I don't know exactly what my point is :) Perhaps cautioning the reader that the simplicity of the approach comes with a catch.
-
Hacker News top posts: May 28, 2022
A declarative desktop UI framework for Rust built on GTK and GTK-rs\ (23 comments)
-
Newbie here. Just finished reading the book. What now?
Build your own To-do List Application in Rust: https://bodil.lol/vgtk/
talent-plan
-
Need insights to build a distributed key value store from scratch.
Pls check this course: https://github.com/pingcap/talent-plan . It includes how to implement sql and key value store. It’s an awesome course
-
Ask HN: Leetcode for Back End and Server Development
- https://hackattic.com/ : Interesting programming Problems.
- https://sadservers.com/ : Learn Linux by solving problems.
- https://fly.io/dist-sys/ : Distributed Systems Problems.
- https://github.com/pingcap/talent-plan/ : System Programming / Distributed System Challenge.
- https://protohackers.com/ : Server Programming Challenges.
- https://codecrafters.io/ : Implement server tech / softwares from scratch.
- https://hyperskill.org/ : Lots of projects based tutorials.
- https://github.com/pingcap/talent-plan/ : System Programming / Distributed System Challenge.
- new Rust Networking book
-
Gossip Glomers: Fly.io Distributed Systems Challenges
Awesome stuff!
Just to share in the way: open source training courses about distributed database and distributed systems by PingCap.
https://github.com/pingcap/talent-plan
- Learning and Building a KV Database in rust.
-
How does serde_json work?
You should try this lab by PingCAP (write a serde implementation for redis serialization protocol) ; you can find answers/seek help in github if you really don't know to figure out it.
-
Hey Rustaceans! Got a question? Ask here! (20/2022)!
I am doing pingcap's talent plan recently, where you need to implement a custom Deserializer for REdis Serialization Protocol for the building block 3. What confuses me most is the implementation of `EnumAccess` and `VariantAccess`. One of my attempt looks like the following:
-
Love
Looking at your project, I would recommend following this tutorial that makes you write key-value store in Rust. They don't provide you with a solution and make you come up with most stuff yourself, but give you some direction and structure for learning. You seem to have come up with most of this yourself already, but it might still be useful for you.
-
Newbie here. Just finished reading the book. What now?
If you are interested in network programming and distributed system, checkout https://github.com/pingcap/talent-plan
What are some alternatives?
neon - Neon: Serverless Postgres. We separated storage and compute to offer autoscaling, branching, and bottomless storage.
dnsguide - A guide to writing a DNS Server from scratch in Rust
headway - Self-hostable maps stack, powered by OpenStreetMap.
duckdb - DuckDB is an in-process SQL OLAP Database Management System
orbtk - The Rust UI-Toolkit.
toydb - Distributed SQL database in Rust, written as a learning project
areweguiyet - A website built for the Rust community
rust-plus-golang - Rust + Go — Call Rust code from Go using FFI
piet - An abstraction for 2D graphics.
mini-redis - Incomplete Redis client and server implementation using Tokio - for learning purposes only
Relm4 - Build truly native applications with ease!
duckdb-rs - Ergonomic bindings to duckdb for Rust