boudra

boudra

Whistle, running an Elm(ish) architecture in the server

Hello everyone,

I just published an article detailing how to use Whistle, a library similar to LiveView that borrows concepts from Elm. It lets you make interactive web apps entirely in Elixir, with a very simple API.

The project is not complete yet but I am posting this with hopes of getting some early feedback!

Here is the Article.

Most Liked

boudra

boudra

Hello again!

I have released a demo application to showcase what Whistle can do so far: https://lumpy-some-piglet.gigalixirapp.com/

It’s a chat program with multiple chat rooms and user presence tracking. This works both as a dynamic Single Page Application with WebSockets and Browser history, and also as a normal web page as a fallback, Whistle provides all this for free.

The code is here if you’re curious: GitHub - boudra/whistle-chat · GitHub

For more info on how it all works, the main Whistle library repository is public now if people want to try it out or want to help out:

https://github.com/boudra/whistle

Be advised that test coverage is pretty low, there is missing documentation and some of the code is hacked together, so please don’t run this in production :smile:

Any feedback or questions are more than welcome!

boudra

boudra

Thanks :slight_smile: Most of the features I had in mind for a public release are now finished, just writing some much needed docs now.

DevotionGeo

DevotionGeo

I didn’t read the whole post yet, but it seems so interesting!

Where Next?

Popular in Discussions Top

pillaiindu
In django there is a cache framework backed by memcached. Rails also puts a lot of emphasis on caching, and even the idea of russian-doll...
New
arpan
Hello everyone :wave: Today I am very excited to announce a project that I have been working on for almost 3 months now. The project is...
New
chuck
Let me start by stating an assumption: Phoenix is a great approach to building REST APIs. There are many reasons for this, but I will ass...
New
AstonJ
Please see the new poll here: Which code editor or IDE do you use? (Poll) (2022 Edition) It’s been a while since we first asked this, I...
208 31265 143
New
CharlesO
Erlang :list.nth simple, but 1 - based nth(1, [H|_]) -> H; nth(N, [_|T]) when N > 1 -> nth(N - 1, T). Elixir Enum.at … coo...
New
marciol
Please, let me know if this kind of discussion already took place in another topic . Hi all, how do you consider if is better to build ...
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
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
tomekowal
Hey guys! I want to create a toy project that shows a chart of temperature over time and updates every 5 seconds. I feel LiveView is per...
New
joeerl
I’m playing with Elixir - It’s fun. I think @rvirding does give Elixir courses these days. Re: files and database - when I given Erlang ...
New

Other popular topics Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
Darmani72
If I have a post route which an argument: post /my_post_route/:my_param1, MyController.my_post_handler How would get the post params ...
New
mcarvalho
What is the difference between System.get_env and Application.get_env? For example, what are best practices to use one versus another.
New
chrismccord
Phoenix 1.4.0 released Phoenix 1.4 is out! This release ships with exciting new features, most notably with HTTP2 support, improved deve...
688 31013 112
New
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 52673 488
New
boundedvariable
I am going through the kafka architecture. All the features what the kafka is providing are already in Erlang. I would like hear your opi...
New
komlanvi
Hi everyone, I was playing with phoenix liveView but I run into an issue. I have a form and want to validate each input text when the te...
New

We're in Beta

About us Mission Statement