Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Start from scratch #1

Open
coldnight opened this issue Feb 9, 2022 · 10 comments
Open

Start from scratch #1

coldnight opened this issue Feb 9, 2022 · 10 comments
Labels
thoughts Thoughts during design & development.

Comments

@coldnight
Copy link
Member

I want rustybrain to be a desktop app, and I don't know if it will be success. So I need to make it somehow useful even it is failed at the end. I'm interested in Rust, so it is a very good chance to practice Rust.

Rust for sure. It's great, but the coming question is which UI library should I choose? According to Are we GUI Yet there is no recommended UI library that could be used in the community. I done a research about the most popular Rust UI libraries, here is what I was found:

Project Native UI Third-Party UI Library Activity Period Stars WebView? Highlights Downsides
https://github.com/redox-os/orbtk No No 2020 3.5k ? - -
https://github.com/linebender/druid No No 2019 - present 5.7k No - -
https://github.com/antoyo/relm No GTK+3 2017 - 2018 2.7k Yes Elm and easy to use Inactivity and panic
https://github.com/iced-rs/iced/ No No 2019 - present 12.7k Yes Elm -
https://github.com/ryanmcgrath/cacao Yes Yes 2020 465 Yes Native macOS UI Non cross-platform

After all, I think the best way is use a mature UI library(maybe more then one) and bind to Rust. The the decision is: to use GTK+ to implement the first version, and can use cacao to improve the experience on macOS later.

@coldnight
Copy link
Member Author

Now I'm trying relm, it's great, but it also have a very serious issue panic on event handling, see: antoyo/relm#278

@coldnight coldnight added the thoughts Thoughts during design & development. label Feb 9, 2022
@coldnight coldnight added this to the Prototype milestone Feb 9, 2022
@coldnight
Copy link
Member Author

I'm using tree-sitter to parse Markdown, and it's really useful. Also, its online tool helps a lot.

@coldnight
Copy link
Member Author

Now I'm introducing a new abstraction: Block. A block represents a editable area that contains nodes of tree-sitter and marks of TextView. It custom its own block style.

@coldnight
Copy link
Member Author

Found a new relm binding for gtk+4: https://github.com/AaronErhardt/Relm4

@coldnight
Copy link
Member Author

Found a new note-taking site that implements Zettelkasten: Evergreen note-writing helps insight accumulate

@coldnight
Copy link
Member Author

An new organization is created: https://github.com/rustybrain-dev

@coldnight
Copy link
Member Author

A public domain logo: https://svgsilh.com/image/2062056.html

@coldnight
Copy link
Member Author

@coldnight coldnight removed this from the Prototype milestone Mar 6, 2022
@coldnight
Copy link
Member Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
thoughts Thoughts during design & development.
Projects
None yet
Development

No branches or pull requests

1 participant