Bailing on MarkoJS
Look, it's been fun, but my org has given me the opportunity to bail on MarkoJS (by insituting a massive pivot, obviating most of the code I wrote). I'm going to double down on NextJS.
MarkoJS is a very good idea, put together by very kind and helpful people. It's simply just not well executed enough, and the people can't be sufficiently kind and helpful to compensate for how not ready for general use it is.
I will miss Marko's unbelievable speed. It's the "great physical connection" part of the relationship that almost makes me forget about all the problems that developed between us.
You should use MarkoJS if you want to develop MarkoJS into something useable.
The biggest problems are
- the error messages are terrible
- errors have to be looked up in the compiled JS code, from which you have to infer what went wrong in the Marko code
- the documentation was obviously mostly written for old versions of Marko, and needs to be fully restructured to make sense for what Marko is now
- there's a lot of weird behavior that's just not documented at all outside PRs
- complex component relationships are completely undocumented, even in examples -- you'll note that every MarkoJS snippet everywhere has trivially simple data models
- any given Google search about MarkoJS will turn up a wealth of information about a deprecated MarkoJS-related project (Marko Widgets, Marko Router...) and almost nothing about MarkoJS as it presently exists
- no one uses it except a handful of highly enthusiastic eBay engineers, so you better hope one of them is online to answer your questions, and will continue to be, forever
- most of the documentation for MarkoJS refers to Lasso and wants you to use Lasso, but no one has actually used it for anything other than MarkoJS, so finding information about it is pretty much impossible
I hope MarkoJS takes off, because I think it's largely composed of good ideas. And is mind-blowingly fast.