I’m creating a JavaScript UI framework for my own projects. It’s a learning journey and I’d like to share my progress.

I’ve written some blog posts about my progress so far:

  1. Functional Web Components - https://positive-intentions.com/blog/dim-functional-webcomponents
  2. Functional Todo App - https://positive-intentions.com/blog/dim-todo-list
  3. Async State Management - https://positive-intentions.com/blog/async-state-management
  4. Bottom-up Browser Storage - https://positive-intentions.com/blog/bottom-up-storage

Note: The UI framework is far from finished. I want to share progress to see if there are any outstanding issues I’m overlooking.

  • MonkderVierte@lemmy.ml
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    edit-2
    14 hours ago

    Ugh, please no. Please don’t paint UI-elements via JS, if you’re not forced to. It makes for a poor experience for most users, not to mention accessibility.

    • moseschrute@lemmy.ml
      link
      fedilink
      English
      arrow-up
      9
      ·
      14 hours ago

      I spent a lot of time early in my career working on some UI component libraries that I ultimately deemed a failure. However, I learned a lot from that. I’ve found that as I’ve settled into a more senior dev role, it’s become harder for me to experiment.

      What I’m trying to say is that best case, you come up with something cool, and worst case, you learn from your mistakes and apply what you learned to the next project!

        • lemmeBe@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          ·
          13 hours ago

          Yep. You should already know all the available tools at your disposal before embarking on creating something new. Then you’ll also know best practices and if it makes sense creating something new and how to approach it.

    • xoron@programming.devOP
      link
      fedilink
      arrow-up
      3
      arrow-down
      1
      ·
      14 hours ago

      Thanks for input. I think it could still work without js-painting given that it’s using the customElement.define().

      I’m aiming for something that looks and behaves like react, but without the overhead of the react tooling for transpiling.