Elixir är ett snabbt, dynamiskt och skalbart språk som snabbt antas av startmängden och etablerade företag för produktionsapplikationer.
Pinterest, Brightcove, Discord och Canvas, för att nämna några, alla kör på Elixir, vilket i sin tur utnyttjar den lågt latens, feltoleranta Erlang VM, vilket innebär fullständig tillgång till Erlangs ekosystem som används av företag som Heroku, WhatsApp, Klarna och Basho.
Från och med denna handledning lär du dig grundläggande kunskap för att få dig igång med Erlang och kodning med Elixir.
Syntaxen är funktionell och främjar en kort, snabb kodningstil som gör det möjligt för användarna att enkelt utnyttja sina data:
% Användare namn: namn, ålder: ålder = User.get ("John Doe") namn # => "John Doe"
I kombination med vakter, vi har en stark struktur:
def serve_drinks (% Användare ålder: ålder) när ålder> = 21 gör # Kod som serverar drycker! end server_drinks User.get ("John Doe") # => Misslyckas om användaren är under 21
Korrekt; Elixir byggdes med skalbara, distribuerade system i åtanke.
Elixir har gängat utförande (kallat processer) i en miljö där flera processer kan kommunicera med varandra via meddelanden.
Dessa lätta trådar kan köras i hundratusentals samtidigt. Elixirs utmärkta skräpkollektor arbetar för varje isolerad tråd, vilket säkerställer att prestanda är optimal över hela systemet och förhindrar resurslåser.
Elixir har handledare
som kan starta om delar av ditt system om sakerna går fel och återställa ditt system till ett initialt tillstånd som är känt att fungera.
Installera Elixir på din maskin innan vi fortsätter:
brygga uppdatering
brygga installera elixir
sudo port installera elixir
pacman -S elixir
zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/erlang/openSUSE_Factory/ erlang
zypper i elixir
dyka upp - skicka dev-lang / elixir
guix-paketet -i elixir
yum installera elixir
cd / usr / ports / lang / elixir && gör installationen ren
pkg installera elixir
wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb
sudo apt-get uppdatering
sudo apt-get install esl-erlang
sudo apt-get installera elixir
cinst elixir
Elixir har ett interaktivt läge, som vi kan komma åt via kommandoradsprompten som så:
$ iex Interactive Elixir - tryck Ctrl + C för att avsluta (skriv h () ENTER för hjälp) iex> c "my_file.ex" # Kompilerar en fil iex> t Enum # Skrivartyper definierade i modulen Enum iex> h IEx.pry # Skriver dokumentationen för IEx-pryfunktionalitet iex> i "Hej, Värld" # Skriver ut information om den givna datatypen
Windows-användare måste springa iex.bat
för att komma åt den interaktiva konsolen.
När vi går in i det här läget kan vi skriva alla Elixir
koden och få tillbaka direkt, så det är bra att börja lära sig språket.
Låt oss göra några grundläggande uttryck:
dvs> 2 + 2 4 ie> round (3.58) 4 iex> "hej" <> "world" "hej världen"
När vi kör ett skript gör vi det från shell terminalen som så:
$ elixir scriptName.exs
För att mata ut från ett skript till terminalen måste vi använda följande IO
klass:
IO.puts "Hej världen från Elixir"
Moduler finns tillgängliga för Elixir så att utvecklare kan expandera språket på många sätt.
Här är ett exempel på att använda Elixirs testram ExUnit:
defmodule MathTest använder ExUnit.Case, async: true test "kan lägga till två siffror" hävda 1 + 1 == 2 änden
Du kan köra testen parallellt genom att ställa in async: true
. I denna inställning använder Elixir så många CPU-kärnor som möjligt.
Under tiden, hävda
kan kontrollera om påståendet misslyckas i din kod. Funktionerna är byggda med hjälp av Elixir-makron, vilket gör det möjligt att lägga till hela nya konstruktioner som om de var en del av själva Elixir-språket, vilket innebär total anpassning för vilken produktivitet som helst (enhetstestning i det här fallet) du kanske behöver.
Elixir är ett kraftfullt och mångsidigt språk som används av några av de största appsna i världen just nu. Dess snabba sammanställda tider, lätta trådprocesser, utbyggbarhet med DSL-moduler och feltolerans medföljer Handledare
gör den idealisk för alla seriösa webbutvecklingsgrupper. Det är uppenbart att när Elixir används fullt ut finns det stora vinster att göra.
I nästa del fortsätter vi på de tillgängliga datatyperna Elixir och hur man skriver mer kod, och vi kommer äntligen att komma ner på att sammanställa det!