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?

  • maxmoonOP
    link
    22 years ago

    Thanks for this great list. I went through a few, but couldn’t test a lot yet.

    If it’s about web development, now I know that Rust can be used to create a back end and with Elm I could create a front end.

    The question is: Is it a good combination?

    • @jokeyrhyme
      link
      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
        22 years ago

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