Первые впечатления от Elixir как JS-разработчика

Почему именно Эликсир?

Я наткнулся на Эликсир, когда искал что-то новое, чему можно научиться. Хотя я использовал несколько языков, я в основном пишу на JavaScript для работы, а также многие из моих сторонних проектов. Я хочу попробовать что-то другое, и я слышал много хорошего об Elixir. На прошлой неделе я экспериментировал с Эликсиром и заметил несколько ключевых моментов, которые помогут вам сразу же взяться за дело. Это напоминает мне о продуктивности, которую я наблюдал с Ruby on Rails.

Что такое Эликсир и как он помогает продуктивности?

Elixir - это функциональный язык программирования, работающий на виртуальной машине Erlang, он рекламируется как «разработанный для создания масштабируемых и поддерживаемых приложений», и, если вы прищурились, он имеет синтаксис в стиле Ruby на поверхности. Начать работу с Elixir легко, а то, что входит в комплект поставки, делает его одним из самых доступных языков программирования, с которыми я когда-либо работал. Инструменты, включенные по умолчанию, великолепны и обеспечивают очень хороший опыт разработчика. Так что же это за инструменты и что их отличает?

IEx REPL

Elixir поставляется с IEx, как и IRB для Ruby, но имеет некоторые более продвинутые функции. IEx незаменим при разработке. Запуск вашего проекта с:

$ iex -S mix

Позволяет перекомпилировать модули, не выходя из iex:

iex(1)> r MyModule

REPL - отличный способ быстро что-то опробовать, не выходя из терминала.

Менеджер шестнадцатеричных пакетов

Как разработчик JavaScript, я ежедневно использую npm или yarn. Это незаменимо для современного веб-разработчика и повсеместно используется в современной веб-разработке. Hex ничем не отличается, но у него есть несколько ключевых преимуществ перед эквивалентами JavaScript или Ruby.

Hex выходит из коробки. Хотя это может показаться незначительной разницей, изучение того, как начать работу с JavaScript, не всегда сразу приводит к пониманию того, как работает NPM, как и Ruby и RubyGems. Hex, включенный в установку Elixir, устраняет дополнительные препятствия на пути к началу работы, и это хорошо.

ExDoc

Документация - это первоклассный гражданин в Эликсире. Писать - одно удовольствие, и ExDoc создает великолепно выглядящий статический сайт. Вы можете прикрепить документацию по модулям и функциям, как и к большинству языков, но есть несколько действительно интересных дополнений. Вся документация может включать в себя уценку, которая будет отображаться на результирующей веб-странице и не будет навязчивой.

Одна из моих любимых функций - Doctests, если вы включите в тест заголовок Примеры вместе с некоторым образцом кода, и этот пример будет запущен во время тестирования.

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

Как и все остальное в Эликсире, тестирование простое и включено по умолчанию. Когда вы настраиваете проект с помощью инструмента сборки Mix, создается каталог под названием test, в котором все ваши тесты могут размещаться с суффиксом «_test». Тестирование по умолчанию способствует хорошей практике кодирования и очень легко с функциональным языком без побочных эффектов. Намного проще начать тестирование с точки зрения JavaScript, потому что вся настройка выполнена.

Куда мне идти дальше?

Если вы хотите попробовать Elixir, я надеюсь, что эта статья убедила вас в том, что входной барьер действительно низок. В нем есть все, что вам нужно, чтобы начать работу и сразу приступить к работе. Вы можете поиграть в нем, используя REPL (IEx), или научиться быстро создавать с помощью полезных Руководств по Эликсиру. В целом документация действительно полезна и последовательна, поскольку с самого начала основное внимание уделялось документации, большинство модулей, которые вы найдете для Elixir, должно иметь достаточно для начала работы вместе с некоторыми примерами кода для загрузки.



Если вам интересно узнать о синтаксисе Elixir, я всегда рекомендую выучить X за Y минут. Это полезная шпаргалка:



Спасибо, что нашли время, чтобы понять, почему я считаю, что Elixir - это крутая экосистема, с которой можно начать работу и с самого начала работать продуктивно. Сообщите мне, что вы испытываете с Elixir, и если вы тоже просто опускаете ногу в воду, насколько легко начать?