germsvel

germsvel

What topic do you think needs a course in the Elixir community?

:wave: hi there! I’m the creator of Testing LiveView. Now that the course is finished, I’m thinking of creating another one.

But I’d like to know what people think is missing in the community. Here’s a poll, and feel free to reply to the thread with more details too!

  • Phoenix (e.g. learning Phoenix, intermediate Phoenix, advanced Phoenix)
  • Elixir (e.g. learning Elixir)
  • OTP
  • Testing Elixir
  • Testing Phoenix
  • Test-driven development
  • Nerves
  • Machine Learning
  • LiveView
  • Refactoring
  • Something else (reply to thread)
0 voters

Most Liked

KP123

KP123

+1 for documentation around various deployment strategies

I think Elixir needs more example projects. One thing I enjoyed about the churn of the Javascript community is the constant releasing of “how to do the thing in Javascript” tutorials on the web. The examples range from really small one off tasks to building entire applications from scratch. This is especially true on YouTube and even TikTok where there are hundreds of code along videos in every language. The Elixir docs are excellent, best I’ve ever used, but docs are like dictionaries, useful if you know what you’re looking for. Examples and code alongs are great because they provide jumping off points for what to later search in documentation

15
Post #6
sodapopcan

sodapopcan

Would love more info on deploying multi-node set ups running different OTP Applications that communicate with each other. Most (all?) of the stuff out there is about clustering a single application.

13
Post #2
Hisako1337

Hisako1337

My “Other” List:

  • “High-Performance-Code” (however we call it): like doing Stream instead of Enum chains, when to leverage ETS instead of plain/big data structures, moving some code to compile time instead of runtime, when to MapSet instead of List, … basically what to do if my code becomes “slow” in incremental ways (extreme end: Rustler :D) and what tradeoffs do exist to make stuff fast

  • all the OTP primitives and when to use what and how. iE: when to use Agent over GenServer or ETS? Why? How to supervise it for different use-cases? Data bottlenecks (iE: Genserver state VS ETS with concurrent read when load increases)

  • Scripting with Livebook: I think its severe underrepresentated still. Nearly as lightweight as a script file, Nearly as powerful as a full phx app, but immediately available when needed without any fuzz. iE: are there some bash scripts or cleanup tasks that have to be done from time to time? make it interactive in a notebook with some info for everyone :slight_smile:

13
Post #3
dkulchenko

dkulchenko

For me, I’d love an intermediate/advanced-level course on LiveView patterns and best practices.

The docs are pretty solid, but they mostly cover the “what” and less so the “how” or “why”. Fly’s Phoenix Files and other blogs are an excellent resource, which help fill in a lot of the gaps. But ultimately, I think there’s still a huge need for guides/books/courses on things like:

  • async tasks in a LV (until it got added in officially into core in 0.20)
  • situations where it’s useful to keep state on the client and best ways to pass that to the server on load; manually restoring LV state using client-side persistence
  • complex, multi-step forms and different ways to approach those; how to keep and maintain partial state for each step in a multi-step wizard, sections of the form that are shown/hidden or trigger other actions depending on other selections in the form, etc.
  • more involved authentication/authorization patterns
  • passing user agent/other client-side info on load
  • sessions/cookies/LocalStorage and how to persist different state for different situations from a LV
  • complex interactions between client-side JS, hooks, and the server - best ways to coordinate multi-step transactions/operations between both, incl. how to pass data from the server to JS, how to trigger JS from the server, etc.; think, for example, a Stripe Elements purchase from a checkout cart
  • how to make decisions between using LiveViews/LiveComponents/etc and specific situations for which is appropriate, how many LVs to have per page, when to make LVs sticky
  • animations and transitions and how to make them work well with LV navigations
  • design patterns to avoid the dreaded “loss of state” on server restart/redeploy for non-form elements
  • optimistic client-side changes before receiving acknowledgment from the server
  • (a big sore spot:) communication between LVs, live components, functional components and how to design those well without ending up with spaghetti and hard-to-follow dependencies

There’s a substantial amount of content on beginner/intermediate LV work, but once you start to design a large-scale production app, for a lot of the above you end up completely on your own, so I think this could be a really useful resource.

12
Post #7
sodapopcan

sodapopcan

That would be great, I’d be extremely happy with that. I’d also be happy with a convoluted setup guide if that’s what actually needed but now that you mention it, it’s the gotchas I’m most interested in and being pointed in the right direction. I’ve heard lots of conflicting information.

Where Next?

Popular in Polls Top

AstonJ
Do you have any favourites? (You can pick up to three) poll See post below for details:
New
josefrichter
There are two polls and a third question… 1) Displays poll 2) Orientation poll 3) Configuration Please let us know how you are using you...
New
thojanssens1
In an attempt to figure out what are the preferred GraphQL clients for Elixir developers, I made this poll below. If you’re using GraphQL...
New
arcanemachine
Now that the results are in from the Tailwind-only poll, what do you think of the combination of Tailwind and daisyUI? poll
New
AstonJ
I think I’ve used LittleSnitch since my first ever Mac - does anyone else use it or whatever the equivalent is on your OS? What does it ...
New
Nezteb
poll The poll allows up to 2 votes for cases where people have a preferred tool for Elixir and a separate preferred tool for Erlang or th...
New
matt-savvy
I see some people adopt this convention when naming fields or variables where the value is a boolean. I personally see this as an antipat...
New
AstonJ
Polls are a great way to easily get a snapshot of things, and we’ve had some really interesting polls over the years! Here are some tips...
New
AstonJ
After seeing some of the responses in this thread, I’m curious how much RAM you’re opting for and whether there is any specific reason fo...
New
axelson
I’m working on VSCode ElixirLs syntax highlighting, and different themes support different syntax definitions. So I am curious about whic...
New

Other popular topics Top

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
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 45766 226
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
lk-geimfari
What is most correct way to open, read and parse JSON file with poison? For example if we have example.json file in root of some projec...
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New
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
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
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
AstonJ
by Lance Halvorsen Elixir and Phoenix are generating tremendous excitement as an unbeatable platform for building modern web application...
460 27162 124
New

We're in Beta

About us Mission Statement