Thanks, that would be awesome! It really makes state management within custom elements a breeze. I'm hoping others who appreciate observables/mobx will take interest and help me grow/maintain it :)
Our company had been looking to move our project away from Knockout.JS and on to Vue/React. I started playing around with native Web Components just because I like the idea of not being locked into a single framework.
However, I also wanted to keep using observables/computeds so I wrote a quick library that ties MobX with Native Web components, but has a Vue-like binding syntax.
Yes I know it’s yet another library, but it mainly just provides for a simple way to use MobX (an established library) with Web Components (a browser standard), and nothing else. It’s still very new but it works and I’d love feedback.
I started reading more about Native Web Components and wanted to see if I could tie them to observables using MobX so I wrote a library to do just that, using VueJS-like template bindings. It works pretty well, feedback is definitely welcome.
This was exactly my thinking when I wrote ElemX[1]. It has more a VueJS feel with template bindings, but it is based entirely on WebComponents and there are essentially no "tricks" (although it does use MobX for observables/computeds). It's a super small library but easily extendable with custom bindings.
Thanks for taking a look! That’s actually a great idea. It’s always a trade off with bindings in html templates, you lose the things you just mentioned. Right now the bindings are passed to the mobx reactions tied to the element, I’d be curious how that could still be maintained with the proper scoping.
Developer here. Yes I know, it's yet another JS library. I primarily wrote this because I was a fan of KnockoutJS, but have since switched to React and then Vue, and each time something felt a little off. I also wanted to try out Web Components.
The current state of the library is very much a proof-of-concept, so thanks in advance for taking a look, and definitely appreciate any feedback you might have. I'm more so just curious if this is useful to anyone else.