I constantly hear about research into functional programming, and even real things coming out of them, like certain programming languages (idris).

Is there anything like this for frontend UI dev? It doesn’t have to be FP related.

  • shnizmuffin
    link
    fedilink
    English
    1410 months ago

    On the web, there’s semantic HTML and Web Content Accessibility Guidelines which focus on making content for the Internet as broadly interoperable and accessible as possible. The former from a technical point of view, the latter from a human interaction point of view. They go together hand on hand.

  • pinchcramp
    link
    fedilink
    810 months ago

    Maybe Elm? It was the result of Evan Czaplicki’s thesis.

  • @[email protected]
    link
    fedilink
    English
    710 months ago

    AFAIK, Halogen for Purescript is about as FP as it gets in the front-end world. It’s pretty complicated but Halogen takes advantage of “free monads”. Perhaps you are looking for something even more rigorous since you mentioned Idris but I figured I’d mention that one.

    I’m learning it now and it has not been easy. I tried to port a simple vanilla JavaScript dynamic draggable table over to Halogen and it has not been fun at all. I got 80% of the way there then started to have to reach for FFI, unsafeCoerce, or build my own Purescript module to capture mousevents.

  • @TCB13
    link
    English
    710 months ago

    At the rate frontend spits frameworks and languages it’s pointless to write papers for it. Innovation on that field happens by bruteforce.

  • Turun
    link
    fedilink
    5
    edit-2
    10 months ago

    Have you looked at Elm?

    It’s very much not JavaScript, but I think that comes with the territory of wanting something significantly different.

    For what it’s worth, with wasm you could use any language that compiles to it as a frontend language. Rust has a few frameworks that can compile to standalone wasm web pages.

    • @[email protected]
      link
      fedilink
      English
      610 months ago

      I’m confused why everyone sleeps on Purescript. I mean, it is currently QUITE obscure… I could be wrong but I feel like Purescript has all of the same goals as Elm but better.

        • @[email protected]
          link
          fedilink
          English
          6
          edit-2
          10 months ago

          Thanks for that explanation. That makes sense.

          I guess I should also mention IHP.


          As far as npm and Purescript goes: I don’t interact with npm when I use it. I use nix and nixpkgs to build it which pulls packages from a predefined, fixed package set inside of Pursuit (Purescript’s package manager that feels a whole lot like Stackage). I suppose if I wanted to use it in the real world, I’d probably have to expose myself to some npm. But, from my cursory understanding and experience, it is probably less tainted by the safety issues in the npm than straight up JavaScript. Packages in Pursuit (particularly the ones exposed in the standard package set I use) tend to be super high quality code like the modules you’d find in GHC.

      • Turun
        link
        fedilink
        210 months ago

        I also sleep on elm, JavaScript and typescript. (i.e. don’t use then)

        It’s simply that I never heard of purescript.

  • adr1an
    link
    fedilink
    4
    edit-2
    10 months ago

    htmx.org has tons of assays posted online. But I don’t recall seeing any ‘white paper’ for frontend frameworks… maybe it’s also related to “ux research” (if there’s such thing) being more of a marketing discipline, and by its profit-seeking nature that’s mostly secretive.

  • @[email protected]
    link
    fedilink
    410 months ago

    Concepts like Reactive programming are widely used in web/UI contexts. The problem of connecting a UI to an underlying data set is not trivial. Several frameworks deal with this.

    As was already said, concerns like Accessibility are studied academically. They have more to do with user experience than the technology, so not sure if they match your question.