В этом уроке мы рассмотрим основные шаги, связанные с созданием нового приложения Elixir. Уже знакомы с Эликсиром? Перейдите к разделу Начало работы или обратитесь к Экспресс-скрипту в начале этого руководства. Если вы новичок в Эликсире, продолжайте читать, чтобы получить общий обзор языка и основных инструментов.

Экспресс-скрипт (Mac)

Если вы уже знакомы с Elixir, вы можете использовать этот экспресс-скрипт, чтобы быстро приступить к работе:

brew install elixir
elixir -v
mix new [my_app]
iex -S mix
iex(1)> MyApp.hello
:world

Обзор эликсира

Elixir — это функциональный, параллельный и распределенный язык программирования, построенный на основе виртуальной машины Erlang. Он спроектирован так, чтобы быть высокопараллельным, отказоустойчивым и распределенным; предоставление современного, удобного для разработчиков синтаксиса.

Хотя Elixir — относительно новый язык программирования, он неуклонно набирает популярность и в настоящее время используется несколькими крупными компаниями в своих производственных средах. Вот несколько примеров:

  • Discord, популярное приложение для обмена сообщениями и голосового чата, использует Elixir для обработки своих функций обмена сообщениями в реальном времени и голосового чата.
  • Pinterest использует Elixir для управления своей серверной инфраструктурой и обработки изображений.
  • Bleacher Report, веб-сайт спортивных новостей, использует Elixir для обработки своих систем, управляемых событиями в реальном времени, и для обработки своего веб-приложения с высокой посещаемостью.
  • Cisco использует Elixir для управления своими системами управления сетью и данными телеметрии.
  • PagerDuty, платформа управления цифровыми операциями, использует Elixir для обработки своих функций оповещения в реальном времени и управления инцидентами.
  • Moz, компания-разработчик программного обеспечения для SEO, использует Elixir для серверной части своего нового продукта Link Explorer.
  • AdRoll, рекламная платформа, использует Elixir для своей системы торгов в реальном времени.

Есть много других организаций, которые также используют Elixir в производстве, включая стартапы и другие компании среднего размера. Elixir известен своей производительностью и надежностью, что делает его пригодным для многих параллельных и высокопроизводительных сценариев использования в реальном времени.

Понятие Mix и Hex

Начальная загрузка нового приложения Elixir, как правило, является простым процессом благодаря инструменту Elixir mix.

mix — это инструмент сборки, включенный в язык программирования Elixir. Он используется для создания, управления и сборки проектов Elixir. mix предоставляет ряд полезных команд для создания новых проектов, запуска тестов, компиляции кода и многого другого. Он похож на другие инструменты сборки, такие как npm, yarn, bundle, и т. д.

Hex, с другой стороны, является менеджером пакетов для языка программирования Elixir. Он используется для управления и установки библиотек и зависимостей для проектов Elixir. Hex построен на основе менеджера пакетов Erlang rebar3, и предоставляет удобный интерфейс для управления зависимостями в проектах Elixir.

Команда mix использует менеджер пакетов Hex для управления зависимостями.

Начало работы

Для начала на вашем компьютере должен быть установлен Эликсир. Вы можете проверить, установлен ли он уже, выполнив следующие команды в своем терминале:

elixir -v

Erlang/OTP 25 [erts-13.1.3] [source] [64-bit] [smp:20:20] [ds:20:20:10] [async-threads:1] [jit] [dtrace]
Elixir 1.14.3 (compiled with Erlang/OTP 25)
mix -v

Erlang/OTP 25 [erts-13.1.3] [source] [64-bit] [smp:20:20] [ds:20:20:10] [async-threads:1] [jit] [dtrace]

Если Эликсир не установлен, вы можете получить инструкции по установке для вашей конкретной операционной системы с официального сайта: https://elixir-lang.org/install.html.

Для пользователей Mac пакеты программного обеспечения можно установить через Homebrew или Macports:

Доморощенный:

brew install elixir

Макпорты:

sudo port install elixir

В Windows пользователи могут либо запустить установщик (v2.3), либо использовать менеджер пакетов Chocolatey:

Шоколадный:

choco install elixir

После установки Elixir вы можете использовать команду mix для создания нового приложения:

mix new my_app

Это создаст новый каталог с именем my_app, содержащий базовую структуру приложения. Он будет включать следующие файлы и каталоги:

  • lib: Этот каталог содержит исходный код вашего приложения.
  • test: Этот каталог содержит тестовые файлы вашего приложения.
  • config: Этот каталог содержит файлы конфигурации вашего приложения.
  • mix.exs: Этот файл содержит конфигурацию вашего приложения и его зависимостей.
  • README.md: Этот файл содержит документацию для вашего приложения.
  • .gitignore: этот файл указывает намеренно неотслеживаемые файлы, которые Git должен игнорировать. *Требуется Git.
  • formatter.exs: этот файл форматирует заданные файлы и шаблоны в каталоге приложения.

Затем давайте перейдем в новый каталог, выполнив:

cd my_app

Интерактивная команда Elixir

Команда Interactive Elixir (iex) — это инструмент командной строки, запускающий интерактивную оболочку Elixir. Это позволяет разработчикам экспериментировать с языком и выполнять код в среде REPL (цикл чтения-оценки-печати).

Как только командаiex будет запущена, вам будет представлена ​​командная строка, где вы можете ввести код Эликсира и сразу увидеть результаты:

iex
Erlang/OTP 25 [erts-13.1.3] [source] [64-bit] [smp:20:20] [ds:20:20:10] [async-threads:1] [jit] [dtrace]

Interactive Elixir (1.14.3) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> 

Команда iex также предоставляет ряд полезных функций, таких как:

  • Автозавершение кода: позволяет легко увидеть доступные функции и модули.
  • Подсветка кода: облегчает чтение кода, выделяя ключевые слова и синтаксис.
  • Отчет об ошибках: сообщает об ошибках с номерами строк и трассировкой стека, что упрощает отладку проблем.
  • Документация: позволяет просматривать документацию по функциям и модулям с помощью функции h или help.

Тестирование

Еще одним полезным инструментом является команда mix test, которая позволяет запустить набор тестов приложения:

mix test
Compiling 1 file (.ex)
Generated my_app app
..
Finished in 0.01 seconds (0.00s async, 0.01s sync)
1 doctest, 1 test, 0 failures

Заключение

Поздравляем, вы успешно установили Эликсир и создали свое первое приложение! Теперь вы можете начать добавлять функциональность, редактируя файлы в каталоге lib и добавляя новые модули по мере необходимости.