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

Nvim
Anybody know of a Pragmatic Studio 40% off coupon code for video course like Phoenix?
New
yachnytskyi
Hello everyone. I am gonna start with Elixir/Phoenix, thinking to use Stephen Grider as a start point, then elixir school and other sourc...
New
shansiddiqui94
Hello all, I recently did my first app in Phoenix and Liveview, many thanks to all the users who assisted me. I found that the tutorial ...
New
maqbool
what books/Resources do you recommend to learn about distributed system(theory)?
New
eliottramirez
Hello, I’m trying to learn Phoenix but I constantly find difficult understanding how the framework works, and I think part of this is th...
New
New
Yoga
Or at least, in the works? All I can find are bits and pieces but not a single project from start to finish. Including things like i18n,...
New
imanuelgittens
Hey all! Just joined the forum and I’m very excited to learn the language. I just finished reading the documentation and I was wondering ...
New
ericmachine88
Hi all, I am currently on this course Half a way thru, and struggled a bit… sometimes I don’t even know what I am coding especially ...
New
QueenSvetlana
My bookstore has Introducing Elixir: Getting Started In Functional Programming and the front cover says the book uses Elixir 1.4. The cur...
New

Other popular topics Top

lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
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
JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
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
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
beno
I will often find my self writing things similar to: case some_value do nil -> something() "" -> something() _ -> someth...
New
skosch
To my knowledge, put_in, Map.update etc. all have the one limitation of not automatically creating intermediate keys when needed (for exa...
New
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New

We're in Beta

About us Mission Statement