Hey guys, I would like to present a real-time framework I’ve been building for the last few years.
I believe we can create a Meteor compatibility layer or build live queries, publications and subscriptions on top of it as a ton of the groundwork has already been done. Effectively getting us some of the good parts of Meteor without being bound to any particular stack, database or legacy decision.
tldr: I am looking for anyone who would like to contribute, by being part of a working group, either by building features present in Meteor or expanding compatibility to other frameworks or helping with architectural decisions and validation.
Bear in mind that this can already be used in production as it is if you like on a small service or app. It also supports scaling with Redis.
Helene: Real-time Web Apps for Node.js and Bun
Here is a very bad video going over the package pages:
This can potentially be even greater than my devtools
I can write one easily for Helene too
Basically it works with Methods (RPC similar to Meteor) and it is completely event-driven (which abstracts things a lot, you can implement DDP on top of it for example). The client can subscribe to events, and you can manage channels and permissions.
It is completely written in TypeScript if you take it for a spin it should be easy to see what is possible.
Here is a mermaid diagram for the arch (open on github for the preview):
And if anyone is interested in using something like Meteor with Vite or Next.js, I can demo how to do it with Helene, feel free to reach out.
Helene has React hooks, like useMethod
, here is a real example:
const { result, refresh, loading } = useMethod({
method: 'exercise.public.listBySectionId',
params: { sectionId: _id },
required: ['sectionId'],
defaultValue: [],
deps: [_id],
lazy: true,
})
Events:
useRemoteEvent(
{ event: AdminEvent.USER_REGISTERED, active: user?.isAdmin },
email => {
client.emit(SapienzaEvent.NOTIFICATION, {
title: t`New User Registered`,
body: email,
})
},
[user],
)
Helene also has an equivalent to “minimongo” which works both in the server and the browser and a few hook utilities for it like:
All hooks can be seen here:
The documentation website code can be found here (Vite):
I have a private working app completely build with Helene, if you want I can do a private demo.
Hope you are interested, I hope this can help who wants more freedom in the Node.js and Bun ecosystem, it is not a replacement for Meteor or its tons of features and packages.
Perhaps you want to run a small service or job queue and want a lib that is a fraction of the size and is very simple.
Perhaps you have a use case that we still don’t support but could with your help.
@fredmaiaarantes perhaps we can collaborate on this in the future as Meteor 3 is completed. I was half afraid of publishing it here, but this can perhaps be a great opportunity for me as well as Meteor Software to expand its offerings.
The name is not set in stone either. I was thinking on something like Asteroid or “Dinosaur Killer” (haha I’m kidding)
I would deeply appreciate any feedback or criticism.
Thank you!