Hacker News new | ask | show | jobs
by ivolimmen 1217 days ago
There are a huge set of web frameworks in Java that have the same example as shown on this site; I have no idea how this differs from, say, https://ratpack.io or https://sparkjava.com. This really needs some key features on the site to sell it.
3 comments

The major difference that I seem to be able to find digging through the docs/wiki is that in RIFE2, "continuations" are a first-class feature of the framework and the framework was built with these in mind.

What this allows you to do is build flows around pausing and saving the state of execution, and resuming it with all variables captured at a later time, which opens up neat possibilities.

With Loom on the JVM natively this in THEORY should be possible but there is a lot of complication here.

There was a good post on this on /r/java with Ron Pressler from Oracle posting about why this is complicated 1 month ago:

  "Yet another delimited continuations implementation and why Project Loom is a bit disappointing"
https://www.reddit.com/r/java/comments/10889p1/yet_another_d...
Do Java programmers dream of callback hell?

Steele needs to step in here and demonstrate some leadership. He invented Scheme and is involved in Java's day to day engineering decisions, he should be more than familiar with the problems that arise when you let programmers write continuations instead of implementing it at the compiler level.

There's more detail in the readme on GitHub:

https://github.com/gbevin/rife2

Including:

> RIFE2 has features that after 20 years still can't be found elsewhere: web continuations, bidirectional template engine, bean-centric metadata system, full-stack without dependencies, metadata-driven SQL builders, content management framework, full localization support, resource abstraction, persisted cron-like scheduler, continuations-based workflow engine.

Doesn't appear to have websocket support, though.

Thanks for reminding me that I've been neglecting the main site. I added a few very visible cards of some of the key features and split out a more comprehensive list into bullet points as opposed to the previous long paragraph.

It's great that you see the similarities with Spark, I think that's a great framework!