omerss2311

omerss2311

I made a React-like web framework for Elixir, need opinions about its place in the ecosystem

Hey!
(PS. no idea if this is the right category for this, sorry in advance if it isn’t :innocent:)
Last month I made a framework for making websocket servers easily (Tamnoon. I originally wanted to make a js library to integrate it easily with other frameworks, but three days ago I decided against it, and to instead make it a standalone framework.

Sooo I just made it. I still haven’t written good documentation or anything, but it’s usable (at least I hope lol). In essence, it allows you to write HTML components using HEEx and have them trigger events on the server and sync with variables dynamically. Don’t wanna make this too long so if you want to know more check out the docs.

However, currently it doesn’t really support https and wss and all that, and I don’t really want to get into that tbh. But I don’t want it to be just a “liveview alternative” or a “worse liveview” as it admittedly is now.

I have thought about two ideas for where I want to take it, but I’m not sure and figured I’ll ask on here. The options I thought about are:

  1. Make it a Phoenix extension (if that is even allowed? not sure about that tbh). This will allow it to be actually usable in production and likely more stable, but the only reason to use it over Liveview would be for simplicity (aka it will stay a “worse liveview” for 90% of use cases).

  2. Go the direction of making it specifically for usage with wx, and make it basically intended to be used for making local apps (like with Electronjs apps). This would basically solve the issue of not using https and wss (I think?) and pretty much give it a niche. I can see that being a good option for making tools that require a GUI (for example a package like pyplot) with Elixir, especially considering the simplicity of the framework.

What do you think? I would also love to hear some other ideas if you have any too :grin:
Have a nice day!

Most Liked

dimitarvp

dimitarvp

That sounds promising and I’d check it but docs is something that can boost or kill a library. Not sure why you were in such a rush to release but I’ll only take a look when you say that you have added docs + examples.

D4no0

D4no0

Not sure what it tries to achieve, the simplicity mentioned above falls short by looking at examples provided with documentation.

It would be great if you could provide real-world examples between your library and liveview so we can understand where it would fit better, because as you said it is an alternative to liveview.

PS: I have no idea how react works and a lot others on this forum too, so don’t focus too much on that.

omerss2311

omerss2311

Fair enough, thank you.

Yeah I mentioned this in the guide in the docs as well, the documentation is very temporary (wrote that guide in 10 minutes today just so there is something lol) and I will write better docs and everything in the next couple days hopefully. The main claim for simplicity though is the complete lack of boilerplate - as much as I like phoenix, I can’t stand managing 15 auto generated files when it isn’t necessary. It’s a “plug and play” kinda thing - you can run mix new --sup, add Tamnoon to the supervision tree, and then you can start immediately writing your frontend code :slight_smile:

And that’s a good idea about comparing it to liveview like that, thank you! Definitely will do.

Where Next?

Popular in Discussions Top

arcanemachine
https://nitter.net/josevalim/status/1744395345872683471 https://twitter.com/josevalim/status/1744395345872683471
New
thojanssens1
It would be nice to be able to define a redirect from one route to another from the router.ex file. E.g.: redirect "/", UserController, ...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
WolfDan
After doing a port from a c++ library to my project in phoenix I’ve seen that I need a faster way to run this algorithm and I found this ...
New
pillaiindu
I want to convert a Phoenix LiveView CRUD website to a CRUD mobile app. What do you think is the easiest way to do so?
New
rower687
Hi all, I’ve been reading a lot about the “let it crash” term and how supervising processes and the whole messaging passing make an elixi...
New
shishini
I think this twitter post and youtube video didn’t get as much attention as I hoped I am still new to Elixir, so can’t really judge ...
New
Qqwy
I would like to spark a discussion about the static access operator: .. For whom does not know: it is used in Elixir to access fields of...
New
100phlecs
Are there any downsides, like perf issues, to putting all functional components in CoreComponents as long as you prefix it with the conte...
New
scouten
I’m looking for a host for the server part of a small (personal) side project that I’m working on. It’s currently written in Node.js and ...
New

Other popular topics Top

siddhant3030
Hi, I have to write a raw query for one of my project. But till now I have used ecto queries and don’t have much experience writing raw ...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
stefanluptak
Hello everybody, usually, I use a 29" ultra-wide monitor for VSCode which can easily accomodate explorer (files panel) + file with code ...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39467 209
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
SoCreat
i’m a new one to elixir which editor can i use vs code? or atom? Thanks! :smiley:
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
hariharasudhan94
I would like to know what is the best IDE for elixir development?
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement