3 ms·
Very nice! Apart from using Redbean (which looks interesting itself), could you summarize the differences between Fullmoon and Lapis?
by rainingmonkey 5y ago
Very nice!
Apart from using Redbean (which looks interesting itself), could you summarize the differences between Fullmoon and Lapis?
- paulclinger 5y ago(Fullmoon author here) I actually started with integrating Lapis into redbean (I have redlapis module that mimics a subset of openresty API over redbean to Lapis, so I can run it over Redbean), but it led to too much work given the difference in the underlying server architecture, so I abandoned this effort in favor of the redbean-focused one (can publish what I have if someone is interested to give it a try). There were also some philosophical differences; for example, I preferred a different routing implementation (with specific routing order) and it was difficult to change or re-configure the one in Lapis. In terms of the differences, Lapis is definitely the more feature rich one, as it includes its own ORM and integration with various back-ends (including data access and migration). Lapis is largely class-based and Fullmoon is taking a more procedural approach, which I think aligns better with redbean's simplicity and performance. Lapis provides session support, which Fullmoon currently doesn't have, but it's one of the next functions I plan to implement. Routing and templating capabilities are similar in both, even though the approaches taken are quite different. Fullmoon is likely to be noticeably faster (at least based on my local tests) and can leverage some of the components already available in redbean out of the box (for example, argon2, hmac functions, and direct SSL integration). Lapis is well documented and has several interesting projects built on it, so it's much more battle tested. fullmoon is only 3 months old and is being actively worked on. Its code is also much shorter, so it may be easier to study and tweak. Fullmoon also includes 150+ tests that one can run locally or from redbean. Hope this helps as a quick overview, but if there are more detailed questions, let me know.
- rainingmonkey 5y agoVery comprehensive, thank you!