Amelia

Amelia

Any tips on building web apps with Elixir?

Hey All,

I have been diving into Elixir & I am impressed with its speed scalability & fault tolerance features; I am planning to build a web application but I am still figuring out the best approach for structuring the project & choosing the right tools within the Elixir ecosystem.

I come from a Ruby background & I have taken a igmGuru Rails course in the past so my brain is still wired to think in the Rails way of doing things However I know Elixir and Phoenix have their own patterns & philosophies that I want to adapt to.

I am looking for is some practical advice from people who have built production apps in Elixir What kind of project setup do you suggest. How do you handle authentication testing & deployment in your projects Any tips on common mistakes to avoid would also be super helpful. Also i have see this 53) ElixirConf US 2018 – Building a Stateful Web Application with Elixir – Enio Lopes
Still need advice.

Thank you.:slight_smile:

Most Liked

jam

jam

Hologram is another solution worth keeping an eye on. It’s early days for it but it has a wonderful vision and promising future.

It allows you to write fullstack Elixir without the latency compromise associated with Liveview. I’m hoping to build some projects with it later this year once it’s matured a bit more.

al2o3cr

al2o3cr

You may find this course useful:

It’s been updated to modern versions since I used it back in the day, but it’s a good introduction to “this Rails thing is spelled like THIS in Phoenix”.

jam

jam

Hey there and welcome! You have a few options to build your web app, ultimately it comes down to what your app needs and what tradeoffs you’re willing to make:

  1. Traditional MVC (like Rails)
  2. Liveview
  3. Pair Phoenix with your JS frontend of choice using either Phoenix Channels or inertia.js

I’m guessing that you’re accustomed to the typical Rails way of doing things with MVC. In which case you can definitely have a similar approach with Phoenix. It seems though many in this community have gravitated towards Liveview to simplify things further. So I’d encourage you to take a look and see if it fits for your use case as it has benefits over the traditional MVC approach.

If you’re building applications that require more interactivity on the client and sprinkling in JS won’t really do, then I’d suggest pairing Phoenix with your JS framework of choice using either Phoenix Channels or inertia.js.

No matter what you decide, the official Elixir and Phoenix docs are very good. There are other books and courses that people recommend in the forums too.

Fwiw, I’d wager that the linked course above would likely be helpful. I happened to take a different course from the same author and thought he did a good job of helping me come up to speed quickly with Liveview even though I ended up choosing the 3rd option.

Generally, I think this community is very supportive. So if you have more questions as you get further into it, ask away.

Where Next?

Popular in Chat/Questions Top

ericdouglas
I think that would be really interesting to have official books created by the community about all kinds of development we can do with El...
New
pietrofxq
I’ve bought the following books: Programming Elixir 1.6 Programming Phoenix 1.4 Programming Ecto Functional Web Development with Elixir...
New
dopomecana
The title of this topic may sound silly at the first glance. But why I trying to ask you guys is how to go to the next level? I am curre...
New
SavagePixie
I was wondering if there are any beginner-friendly, exercise-based resources for learning Elixir out there. I’m looking for something lik...
New
ggwc82
Looking to get started with FP and Elixir coming mainly from an OOP Rails and PHP background. My first question is, whats the best cours...
New
prxssh
I’ve been writing Elixir and Phoenix professionally for the past year and have grown quite fond of them. I’ve read books like Elixir in A...
New
TwistingTwists
I want to learn DSL. Don’t know how to write one. What;s the best introductory resource? I see some macro being used here. Is DSL only ...
New
Nopp
Hey guys and girls, i am completely “new” to programming, recently played a bit with Python, Ruby and PureBasic, but i want to try somet...
New
maqbool
what books/Resources do you recommend to learn about distributed system(theory)?
New
Twfo326
As a novice dev I’m trying to keep the curriculum as lean as possible. My requirements are modest: build simple CRUD apps with Phoenix...
New

Other popular topics Top

aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 42920 311
New
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
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
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New
johnnyicon
Hi all, I’ve just started learning Elixir and Phoenix Framework, so please pardon my n00bness at this stage. I’m trying to use Postgres...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
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
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New

We're in Beta

About us Mission Statement