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

[RFE] request for documentation on list of backend/frontend components, speed boosts due to rust-lang #512

Open
1 task
hgkamath opened this issue Aug 24, 2023 · 0 comments
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@hgkamath
Copy link

hgkamath commented Aug 24, 2023

Firstly, thank you to developers for their contributions to opensource note taking software mdsilo.

Is your feature request related to a problem? Please describe.
As a notetaking user, I was considering mdSilo. I was attracted to mdsilo when I noticed that part of it is written in rust.
I guess that rust/tauri framework was mainly chosen for

  1. the tauri webgui framework that renders to the webdom.
  2. tauri app framework allows compilation to many targets win/lnx/mac/web etc

I haven't yet read the code to understand the design architecture of mdsilo, but if were designed so that heavy duty performance-demanding, note processing, searching code is in rust backend, then the app would be very fast.

So this RFE is to have a docs/softcomp.md file that documents the list of software components (feature implementations) in mdSilo related to notetaking that are in typescript and those that are in rust and benefit from its speed. Maybe also a justification on why they are where they are, and attempts at backend-ing.
Ex (the below is an imaginatively made up list, not intended to be correct) <- the request is for you to document this as a exhaustive and correct list.

  • FrontEnd (typescript)
    • markdown editor
    • specialized block rendering like mermaid diagrams, vector graphics, music notes
    • visual spell check
  • Backend (rust)
    • note search find/replace
    • backlink processing

Q) Has it at all been a design guideline and ongoing consideration to move the heavy duty code to the rust-backend.
The following bug seemed to be of the same intent [1]

The use of such list apart from informing users, is that it may double up as a todo list and help developers to keep sight of things that could benefit from performance coding.

Describe the solution you'd like
An extremely performant, fast notetaking app, that is also small in size.

Describe alternatives you've considered
C++ (Vnote), common-lisp(lem), rust and haskell (emanote) are blazing fast as they are compiled programming languages. They either compile or JIT-compile to native machine code. They are also capable of true multi-threading. There are not many in note taking apps in this space, and applications state are still very primitive. Needless to sat programming in these languages is hard.
Other languages like java/clojurescript(logseq)/javascript/typescript(zettlr,joplin) are a relatively slower than those previously mentioned.
Interpreted languages do have the advantage that they are easy to develop in.
Another route was the wasm framework, but no such alternative exist as of this writing.

Additional context
Add any other context or screenshots about the feature request here.
NA

Are you willing to submit a PR?

  • I'm willing to submit a PR!
    NA

Ref:
[1] #304

@danloh danloh added documentation Improvements or additions to documentation enhancement New feature or request labels Aug 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants