Modulo.js is full featured Web Component framework, in a single 2000 line file without any dependencies. It’s packed with many modern features (state management, data binding, liquid-style templating, SSR), and can even build itself and your components from within the browser, so no NPM or terminal skills are needed, making it easier to teach beginners.

While it might be new, I’ve been using internally for almost a year, meaning the documentation is fairly complete for a project at this stage, with 100s of example components / tutorials. So, I’d love to hear feedback! :)

Anyone into trying a new, fun little open source framework?

  • modulojs@programming.devOP
    link
    fedilink
    arrow-up
    7
    ·
    1 year ago

    Thanks so much for the feedback! Yeah, glad to see it look familiar! My goal was exactly that, to be kind of in between Vue, Svelte, React, and backend SSG templating, so it’s “skill-compatible” in both directions, e.g. pro devs can pick it up and feel expressive with it right away, and newbies can learn it during class, and then transition to something else and feel less overwhelmed during the entire process.

    What have been your biggest challenges as you’ve developed this?

    Ooh, good question! Since I developed it while “dogfooding it” internally for a while, the main issue was knowing when something was “user error” or “framework error”, and when to just fix this for the site, when to document it as a “gotcha”, or when to add a feature or fix a bug in the framework itself. I suspect this is probably a general problem of writing your own framework while using it!

    • bugsmith@programming.dev
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      That’s so interesting. I’m a developer myself, but haven’t ever tackled a making a framework. Having obviously dealt many times with assuming there must be a framework error after hours of debugging (usually to find out it was indeed a user error…), I can imagine the debacle of trying to figure that out while developing one!