cross-posted from: https://programming.dev/post/1379446

Why I think Typescript is A Good Thing, But mainly a complaint about the number of programming languages. Other than objects (which were not invented), I don’t think any of them are a marked improvement on PL/1.

  • Knusper@feddit.de
    link
    fedilink
    arrow-up
    4
    ·
    1 year ago

    JavaScript’s longevity is assured for one reason. Browsers only support JavaScript.

    I do agree that JavaScript will be with us for quite a while still, but that statement has a caveat: WebAssembly

    You can use a backend language, for example Rust has good tooling here, and compile it to WebAssembly, which runs in browsers.
    That way, your frontend stack can be HTML+CSS+Rust.

    This also has various advantages:

    • Better performance than JS.
    • Can share the communication model between backend and frontend.
    • Don’t have to write JS (or TS, which still carries over quite a few oddities from JS).
      • v9CYKjLeia10dZpz88iU@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        1 year ago

        It’s not a perfect solution yet, but their comment is mostly accurate. wasm-bindgen works well enough to create whatever else is missing. In my opinion, it can feel annoying to use when doing stuff like managing callbacks with rust, but, there are web frontend frameworks that are progressing.

        I’ve used Dioxus. If the application isn’t too complicated, it’s not a bad experience. It’s still in development though. There’s also Yew, which has a similar react like design that Dioxus uses, but I preferred Dioxus. Lemmy also actually has a frontend client that uses Leptos, which is another react like framework in rust.

        If someone was using egui, I don’t think they would have issues with their user interface on the web. (but be more constrained to the limitations of it)

        —-

        They were also only correcting the author who stated browsers support only JS. I mean, I’m not sure I would recommend rust to a new developer, but, I think they’re correct that browsers support more than JS. (Browsers are just not supporting WebAssembly to the level of JS yet)

        • Knusper@feddit.de
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          I’m using Leptos myself and my understanding is that it’s decisively different from React in that it does not maintain a Virtual DOM. In that sense, it’s more reactive than React.

          Well, unless you meant something different. I don’t know terribly much about React. 🙃

      • Knusper@feddit.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        As I understand things, yes, WASM has to interop with JS to handle the DOM access. But I have implemented a small UI with DOM access and had to write no JS myself, because frameworks can generate that interop code for you.