Elixir er et raskt, dynamisk og skalerbart språk som raskt blir vedtatt av oppstartsmengden og etablerte bedrifter både for produksjonsapplikasjoner.
Pinterest, Brightcove, Discord og Canvas, for å nevne noen, kjører alle på Elixir, som igjen utnytter lavt latency, feiltolerant Erlang VM, noe som betyr full tilgang til Erlang-økosystemet som brukes av selskaper som Heroku, WhatsApp, Klarna og Basho.
Fra og med denne opplæringen lærer du den grunnleggende kunnskapen for å komme i gang i Erlang og koding med Elixir.
Syntaxen er funksjonell og fremmer en kort, hurtig kodestil, som gjør det mulig for brukerne å enkelt trekke seg til dataene sine:
% Bruker navn: navn, alder: alder = User.get ("John Doe") navn # => "John Doe"
Når kombinert med vakter, vi har en kraftig struktur:
def serve_drinks (% Bruker alder: alder) når alder> = 21 gjør # Kode som serverer drinker! end server_drinks User.get ("John Doe") # => Mislykkes hvis brukeren er under 21
Bekreftende; Elixir ble bygget med skalerbare, distribuerte systemer i tankene.
Elixir har gjenget utførelse (referert til som prosesser) i et miljø der flere prosesser kan kommunisere med hverandre via meldinger.
Disse lette trådene kan kjøres i hundretusener samtidig. Elixirs utmerkede søppelkollektor fungerer for hver isolert tråd, noe som sikrer at ytelsen er optimal system-wide og hindrer ressurslåser.
Elixir har veiledere
som kan starte deler av systemet ditt hvis ting går galt og gå tilbake til systemet til en innledende tilstand som er kjent for å fungere.
Installer Elixir på maskinen din før vi fortsetter:
bryg oppdatering
brygg installere elixir
sudo port installere elixir
pacman -S elixir
zypper ar -f http://download.opensuse.org/repositories/devel:/languages:/erlang/openSUSE_Factory/ erlang
zypper i eliksir
dukke opp - skift dev-lang / elixir
guix pakke -i elixir
Du installerer elixir
cd / usr / ports / lang / elixir && gjør installasjonen ren
pkg installere 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 oppdatering
sudo apt-get installere esl-erlang
sudo apt-get install elixir
cinst elixir
Elixir har en interaktiv modus, som vi kan få tilgang til via kommandolinjeprompt slik:
$ iex Interactive Elixir - trykk Ctrl + C for å avslutte (skriv h () ENTER for hjelp) iex> c "my_file.ex" # Kompilerer en fil iex> t Enum # Skrivertyper definert i modulen Enum iex> h IEx.pry # Skriver dokumentasjonen for IEx-pry-funksjonaliteten iex> i "Hei, Verden" # Skriver ut informasjon om den gjeldende datatypen
Windows-brukere må løpe iex.bat
for å få tilgang til den interaktive konsollen.
Når vi går inn i denne modusen, kan vi skrive inn noen Elixir
kode og kom tilbake umiddelbart, så det er bra å begynne å lære språket.
La oss gjøre noen grunnleggende uttrykk:
dvs> 2 + 2 4 ie> runde (3.58) 4 iex> "hei" <> "verden" "hallo verden"
Når vi kjører et skript, gjør vi det fra shell terminalen som sådan:
$ elixir scriptName.exs
For å sende ut fra et skript til terminalen, må vi bruke følgende IO
klasse:
IO.puts "Hei verden fra Elixir"
Moduler er tilgjengelige for Elixir, slik at utviklere kan utvide språket på mange måter.
Her er et eksempel på bruk av Elixirs testramme ExUnit:
defmodule MathTest bruker ExUnit.Case, async: sann test "kan legge til to tall" gjenkjenn 1 + 1 == 2 ende ende
Du kan kjøre testene parallelt ved å sette inn asynk: sant
. I denne innstillingen bruker Elixir så mange CPU-kjerner som mulig.
i mellomtiden, hevde
kan sjekke for påstandssvikt i koden din. Disse funksjonene er bygd med Elixir-makroer, noe som gjør det mulig å legge til helt nye konstruksjoner som om de var en del av selve Elixir-språket, noe som betyr total tilpasning for hva som helst produktivitet (enhetstesting i dette tilfellet) du trenger.
Elixir er et kraftig og allsidig språk som brukes av noen av de største appene i verden akkurat nå. Dens raske kompileringstider, lette trådprosesser, utvidbarhet med DSL-moduler, og feiltoleranse som følger med Supervisor
gjør den ideell for enhver seriøs webutviklingsteam. Klart, når Elixir er fullt utnyttet, er det massive gevinster å bli gjort.
I neste del fortsetter vi på de tilgjengelige datatyper av Elixir og hvordan du skriver mer kode, og vi vil endelig komme ned for å kompilere det!