A few days ago I started to learn Elm with the goal to create a new front end for lemmy.

At the same time I want to create tui applications, which are really modern.

So someone recommended Crate tui, which is a Rust library.

Should I keep learning Elm or should I switch to Rust or should I even learn both, even if it takes a lot of time and energy?

  • jokeyrhyme
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    2 years ago

    Hehe, I actually just remembered that Lemmy itself is also written in Rust: https://github.com/LemmyNet/lemmy (the web front-end is TypeScript, I think)

    I don’t know Elm at all really, but it might be worth going over what we think are characteristics of combinations of back-end and front-end stacks

    Great:

    • define types once, and be able to use them or generate them for the other side, e.g. protobuf, or generate types from JSON Schema, or use same language on both sides
    • tooling available to generate front-end SDK based on OpenAPI/Swagger for the back-end

    Fine:

    • explicitly define the same types in multiple languages, manually keep them synchronised, e.g. probably the out-of-the-box experience whenever you use different languages in front and back
    • manually create HTTP client helpers in front-end to talk to HTTP endpoints in back-end

    Bad:

    • a core type or data structure concept on one side is missing from the other, e.g. imagine if one side didn’t have arrays or booleans or something that you use all the time, so you had to do extra work just to get both sides to communicate
    • no common protocols between technologies, e.g. one side doesn’t even speak HTTP

    I’m trying to think of other characteristics, but coming up empty :) I’ll update if I think of more :)

    • maxmoonOP
      link
      fedilink
      arrow-up
      2
      ·
      2 years ago

      I don’t know Elm very good yet, but as far as I know it, it is a perfect match :)