Phoenix & Elixir 学习计划

2025-05-27

Phoenix & Elixir 学习计划

我最近写了一篇关于我第一次使用 Phoenix 和 Elixir 的经历(这里)。回顾那段经历,我复制了很多代码,却没有完全理解它们的工作原理。不了解工作原理确实不太理想。正因如此,我想重新开始,用更结构化的方法学习 Phoenix 和 Elixir。这促使我制定了这个学习计划!以下是我认为有助于指导自学的良好流程。我希望在完成这个计划后,能够实现三件事:

  • 掌握 Elixir 和函数式编程基础知识。
  • 能够将用 Phoenix 编写的应用程序投入生产。
  • 了解如何扩展一个简单的 CRUD 应用程序来做有趣的事情。

我也正在执行这个计划,这意味着我会不断更新它。我会确保添加我找到的资源,或者如果有更好的学习概念的流程,我会进行修改。附件是各个阶段的思维导图,这里是思维导图的链接

阶段 0:设置 Phoenix 和 Elixir

Phoenix安装页面提供了详细的 Phoenix 和 Elixir 安装指南。您还需要设置 Postgres。我通过docker设置了 Postgres 。

第 1 阶段:构建一个简单的 CRUD 应用程序

一些 CRUD 应用的例子包括:待办事项列表、博客、Twitter 克隆版。理想情况下,所有你想从数据库中保存、编辑或删除的数据都可以在 CRUD 应用中找到。在这个阶段,目标是构建应用的一小部分。例如,保存一些数据并能够在页面上显示。

凤凰城要学习的事情:

  • 目录结构
  • 生成模型
  • 路由
  • 控制器
  • 视图和模板
    • 表格

Elixir 需要学习的内容:

  • 使用 IO 进行调试
  • 地图和结构
  • 管道操作员
  • 循环和控制流

此阶段的资源:

阶段 1b:将应用程序部署到 Heroku

部署 Phoenix 应用可能还有其他(更好的)选择。但在部署的简易性和速度方面,Heroku 是无可匹敌的。我们选择尽早部署应用有两个原因:

  1. 我们对运送物品感到满意!
  2. 我们有一个编写代码 - 测试 - 部署的紧密反馈循环。

这是有关部署到 Heroku 的文档的链接

第二阶段:凤凰深潜

现在我们可能想开始为 CRUD 应用添加更多功能。在此之前,我们需要学习如何测试以及如何应用 TDD 来添加新功能。此外,既然我们已经使用过mix几次了,最好了解一下 TDD 是什么以及它是如何工作的。

凤凰城要学习的事情:

  • 上下文
  • 测试
    • 句法
    • 回滚数据库更改
    • 上下文测试
    • 控制器测试

Elixir 需要学习的内容:

  • 混合
  • 一次性密码
  • (可选)深入研究函数式编程

此阶段的资源:

第三阶段:Phoenix 身份验证和监控

我非常期待探索 Phoenix 中的遥测和实时仪表盘。我认为这是 Phoenix 一个非常强大的开箱即用功能,我希望能好好利用它。此外,出于两个原因,我计划将身份验证功能纳入此阶段:

  • 许多 CRUD 应用程序都会有某种形式的身份验证。
  • 如果您想查看 Live Dashboard 的生产实例,我们应该将其置于身份验证之后。

凤凰城要学习的事情:

(可选)第 4 阶段:实时查看

我对 Live View 唯一的了解就是它允许我编写服务器端代码并​​使其看起来像是在使用 Javascript 前端。

凤凰城要学习的事情:

  • LiveView 😅 是什么?

资源列表


学习一门新语言总是有很多东西要学。而且我们还在尝试学习一个新的框架!我希望更结构化的方法能让学习过程不那么令人畏惧!如果你对学习流程有什么想法,或者有什么资源想分享,请在下方评论区留言!

文章来源:https://dev.to/jonathanyone/phoenix-elixir-learning-plan-39m7
PREV
如何管理多个 SSH 密钥对
NEXT
让我们构建一个 Chrome 扩展程序!