用Elixir击中地面

Martin Sanchez在Unsplash上​​的背景照片

寻找新的东西时,我偶然发现了Elixir。 尽管我使用了几种语言,但我主要使用JavaScript编写工作,并且通过扩展,我的许多辅助项目也是如此。 我想尝试一些不同的东西,我听说过关于Elixir的一些好东西。 在过去的一周中,我一直在尝试Elixir,并且注意到一些关键要素可以帮助您起步。 这让我想起了Ruby on Rails带来的生产力。

Elixir是一种在Erlang VM上运行的功能性编程语言,被吹捧为“旨在构建可扩展和可维护的应用程序而设计”,如果斜视,它表面上具有非常像Ruby的语法。 Elixir易于入门,并且开箱即用的内容使其成为我使用过的最易访问的编程语言之一。 默认情况下包含的工具很棒,并且为开发人员提供了很好的体验。 那么这些工具是什么?它们有什么不同?

使用IEx重新编译代码

IEx REPL

Elixir随IEx一起提供,就像Ruby的IRB一样,但它具有一些更高级的功能。 开发时,IEx必不可少。 使用以下命令运行您的项目:

  $ iex -S组合 

允许您在不离开iex的情况下重新编译模块:

  iex(1)> r MyModule 

REPL是一种无需离开终端即可快速尝试某些功能的好方法。

十六进制软件包管理器

作为JavaScript开发人员,我每天使用npm或yarn。 对于现代Web开发人员来说,它是必不可少的,对于现代Web开发来说,它是无处不在的。 十六进制没什么不同,但与JavaScript或Ruby等效项相比,它确实具有一些关键优势。

十六进制开箱即用。 尽管看起来可能只是细微的差别,但是学习如何开始使用JavaScript并不总是可以立即学习NPM的工作原理,而Ruby和RubyGems也不是。 Elixir安装中包含的Hex使入门变得无障碍,这是一件好事。

ExDoc

文档是Elixir中的一等公民。 编写该文档很高兴,并且ExDoc生成了一个美观的静态网站。 您可以像大多数语言一样附加模块和功能的文档,但是其中有一些非常酷的补充。 所有文档都可以包含降价促销,这些降价促销将在结果网页中呈现,并且是非侵入性的。

ExDoc生成的文档取材于Elixir的官方文档https://hexdocs.pm/elixir/Kernel.html

我最喜欢的功能之一是Doctests,如果您在测试中包括标题“ Examples”以及一些示例代码,则该示例将在测试过程中运行。

使用ExUnit进行测试

与Elixir中的所有其他内容一样,测试也很容易,并且默认情况下处于打开状态。 当使用构建工具Mix设置项目时,将创建一个名为test的目录,其中所有测试都可以带有“ _test”后缀。 默认情况下,测试会鼓励良好的编码习惯,并且使用功能性语言非常容易,并且没有副作用。 从JavaScript角度开始测试要容易得多,因为所有设置都已完成。

如果您想尝试一下Elixir,我希望本文能使您确信进入门槛确实很低。 它具有启动和启动所需的一切。 您可以使用REPL(IEx)在其中玩转,或者通过有用的Elixir指南学习如何快速创建。 总体而言,该文档真的很有帮助且始终如一,因为从一开始就侧重于文档,因此您为Elixir找到的大多数模块都应该具有足够的入门知识以及一些示例代码来启动。

elixir-lang.github.com

Elixir网站

elixir-lang.org

如果您对Elixir的语法感到好奇,我总是建议您在Y分钟内学习X。 这是一个有用的备忘单:

在Y分钟内学习万能药

编辑描述

Learnxinyminutes.com

感谢您抽出宝贵的时间来了解为什么我认为Elixir是一个很酷的生态系统,从一开始就可以开始工作并富有成效。 让我知道您对Elixir的体验是什么,如果您也将脚趾浸入水中,上手起来有多容易?