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?
What have been your biggest challenges as you've developed this?
I'd give it a go, and probably will at some point, but just don't have time at the moment. But having had a cursory glance, I'm very impressed with the documentation. The framework looks similar enough to Vue and svelte that I feel it would be easy enough for most frontend devs to pick this up quite quickly.
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!
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!