Overview
Erlang VM is a Practical functional programming for a parallel world - https://www.erlang.org - https://en.wikipedia.org/wiki/Erlang_(programming_language)
Elixir is a dynamic, functional language for building scalable and maintainable applications on the Erlang VM
- Homepage: https://elixir-lang.org/
- Learning: https://elixir-lang.org/learning.html
Phoenix Framework: Build rich, interactive web applications quickly, with less code and fewer moving parts.
- Phoenix Framework: https://www.phoenixframework.org/
- Phoenix Architecture: https://elixirbridge.org/03_Intro_to_Phoenix/16-phoenix-architecture.html
Installing
using asdf-vm
- Install https://asdf-vm.com/
- Install Erlang
- Install Elixir
- use mix ... to install project dependencies
using mise (mise-en-place)
TDB
legacy
ps: better use asdf-vm to manage your dependencies
Note that Elixir v1.16 requires Erlang 24.0 or later.
https://elixir-lang.org/install.html
Erlang Package Manager
Hex
The package manager for the Erlang ecosystem https://hex.pm/ - Usage: https://hex.pm/docs/usage
Elixir
Phoenix
Phoenix is a web development framework written in Elixir which implements the server-side Model View Controller (MVC) pattern. Many of its components and concepts will seem familiar to those of us with experience in other web frameworks like Ruby on Rails or Python's Django.
How Phoenix works
- Guides: https://hexdocs.pm/phoenix/overview.html
- Erlang Factory SF 2016 - Sonny Scroggin - Taking Off with Phoenix https://www.youtube.com/watch?v=eSWNi5vRxU8
- Elixir and Phoenix.LiveView - Scott Hickey https://www.youtube.com/watch?app=desktop&v=C7y4Bs9Jbho
- https://blog.logrocket.com/build-rest-api-elixir-phoenix/
Ecto
Ecto is another exciting feature of Phoenix which provides a language-integrated query composition database wrapper for Elixir. Essentially, it allows us to read and to write to different databases (similar to ActiveRecord for Rails).
- https://elixirforum.com/t/trying-to-understand-a-basic-phoenix-application-and-its-mvc-model-explained-by-a-flowchart-statechart/43122
Community (Contact, Books, Screencasts/Courses)
Hosting (platform-as-a-service)
https://hexdocs.pm/phoenix/deployment.html
https://www.gigalixir.com/docs/
http://gigalixir.com/