i am working on a messaging app and created some details in rust. rust is useful because it has tooling for formal verification. my rust code compiles to WASM to be used in a browser.

my project itself is using cryptography beyond the WASM because browsers provide a crypto api for basic functionality out-of-the-box.

to work with what i have now (javascript/typescript) i came across this page, but the links lead to 404 pages on github. not sure about the status of the project. i dont know if there are other similar projects.

https://formal.land/docs/verification/typescript

i would like to improve the “formal-verification coverage” in my project and wanted to investigate if it could be worth considering rewriting the frontend with dioxus. im happy with an ugly UI (initially) in favour of having formal-verification on a broader scope of my project.

(context: the project where i have formal verification is found here: https://github.com/positive-intentions/signal-protocol (this isnt the gold-standard implementation and its far from finished)

  • xoron@programming.devOP
    link
    fedilink
    arrow-up
    2
    ·
    6 days ago

    Thanks. I’m a JavaScript developer. To create a webapp is relatively easy for me because I’m familiar with the tooling.

    I see there are things like UI component libraries like dioxus-material… I suspect there will be things I might have to create myself. Are there nuances that might stand out?

    What are your thoughts on the ecosystem with dioxus?

    My core reason to consider dioxus over JavaScript is the ability to use more mature tooling for formal verification.

    • magikmw@piefed.social
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 days ago

      And I agree with that core reason, it’s why I chose dioxus too.

      I’ve not bothered with component libraries, as my UI is ironically very simple, but the ecosystem is slowly growing.

      For simpler stuff you can use tailwind out of the box with it’s various libs.

      I heard dioxus is react-like which tells me barely anything, as I’ve avoided writing any JavaScript in my 15 years of programming, but the rsx components seem intuitive enough for me.

      You get a signal framework too, the usual rust examples/ dir is there to show how to do some things.

      One thing I struggled with was auth, especially any SSO auth. There’s barely any rust crates for it (and none high level ones), and dioxus docs aren’t straightforward with how to integrate axum middleware. Gotta dig deeper.

      For frontend only, it seems great. Other than wasm being a bit of a chunk to download it’s quick, usually well hydrated and the UI seemingly being on one page with no page loads is cool.

      • xoron@programming.devOP
        link
        fedilink
        arrow-up
        2
        ·
        5 days ago

        Thanks!

        It sounds promising if you chose it for a similar reason.

        I’ll plan something and see if I can get all the core parts working.