mat-hek
Elixir Language Tour - learn Elixir in your browser with Popcorn (interactive tutorial)
Hi everyone!
We just released the Elixir Language Tour guide – an interactive intro to Elixir.
The guide itself is written in Elixir and runs fully in your browser – all of this thanks to Popcorn ![]()
The guide is in fact an interactive version of the Elixir’s Getting Started guide - a part of it is covered, for now.
We’re looking forward to your feedback - if you like it, we’ll extend it further!
Happy hacking ![]()
First Post!
AstonJ
Most Liked
felix-starman
Just looking at the Popcorn site even makes me think back to the marketing conversation a while back.
This is so cool and this is the kind of thing that brings in new people (Livebook too).
We need more cool things like this that show off the ecosystem and the cool stuff that can be built. We get really excited about cool things within the community but that’s because we know the language. More things like this that don’t require knowing the language beforehand makes it easier for us to engage with other developers outside the community.
mat-hek
New version of the tour is up! Comes with a livebook-like layout and a chapter about modules ![]()
Check it out: elixir-language-tour.swmansion.com
I made a short video about it:
Thanks again for your feedback! ![]()
mat-hek
New version of the tour just landed. In this release, we vastly extended the Processes chapter, so you can learn & play with core OTP components: Links, Agents, GenServers and Supervisors ![]()
Check it out at elixir-language-tour.swmansion.com
Last Post!
mat-hek
Thanks for the detailed feedback! I’ll allow myself to paste it here to refer to it
1. It’s kind of slow to load and when running the examples. I’m sure y’all are already aware and I’m not sure if there’s anything you can do to speed it up.
2. The JobSupervisor in DynamicSupervisor is nowhere to be found as far as I can tell.
3. It might be nice to have a button that will apply the changes you suggest in each section of the tutorial so people can see what they should do or if they get stuck.
4. It’s not clear that when running one section, it actually needs to run prior sections so there’s a pretty long delay. Some sort of progress indicator via toast would be nice.
5. I think a dedicated Task section would be useful, especially if it shows the different options like async_nolink. GenServer sections starts with “We learned that we can use Agents to keep state and Tasks to execute possibly long-running jobs with limited interaction”. Did I miss where Tasks were introduced?
6. Would love if this extended beyond the basics with an advanced section.
- Yes indeed, there’s a good chance we’ll make it way faster soon.
- It’s just a name - doesn’t imply existence of a module. But changed to
:job_supervisorto avoid confusion. - I see some footguns in this, but we’ll think about it
- Good point, for now I added an explanation on the first page.
- Due to AtomVM limitations
Task.asyncandTask.awaitdon’t work yet. We’ll cover tasks as long as it’s fixed, which should be soon. I removed the misleading parts you quoted. - Can you elaborate on what the advanced section should cover? BTW, contributions welcome

Popular in Courses
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex










