iT邦幫忙

2022 iThome 鐵人賽

DAY 1
0

關於這系列

Elixir 語言 以及它的網頁框架 Phoenix 最近尤其是在今年 StackOverflow 的問卷調查拿到最受喜愛框架後,也在 Elixir 圈外變得相當火紅,已經用 Elixir 與 Phoenix 工作一年的我當然要趁這次搭上這個熱潮寫個教學。

https://ithelp.ithome.com.tw/upload/images/20220909/20141054rakamOxznx.png

從我對 Elixir 有興趣以來,甚至是在我還沒有熟悉語法之前就常常被朋友同事們挑戰,他們都會問說,所以 Elixir 到底厲害在哪?那時候我背的朗朗上口,Elixir 因為跑在 Erlang virtual machine (BEAM) 所以有優秀又方便實作的多工 Concurrent 模型(類似Actor model) …。

但是現在尤其是現在 Elixir 越來越多公司使用,Elixir 實用性已經有目共睹。我都改成說,因為很好寫啊!尤其是這陣子使用 Phoenix 以及最近的新功能 LiveView 搭配上社群一直把開發體驗與周邊工具當成重點在改進,現在寫起來又方便又舒適。

我們使用 Phoenix 就已經是站在巨人的肩膀,厲害複雜的底部以及 Elixir 給我們的優勢 Phoenix 都已經幫我們處理好了,在這個系列我們就不鑽研底下很厲害的 BEAM 與 OTP,我們專注在:

  1. 傳統 MVC 架構 做一次 CRUD
  2. LiveView 來寫新世代的 Phoenix 互動網頁
    在實作完這些基本的做法後,相信大家就會對 Phoenix 有基本的認識可以開始做更多延伸。

一些需求

雖然是偏入門的教學,但這系列主要是針對有使用過其他網頁框架的朋友,可以快速上手 Phoenix 的教學,所以還是有一些需求,如果對其中某些項目沒信心的話沒關係,我學習時對這些也都懵懵懂懂,比起硬學有的時候直接上戰場會學比較快:

  • 操作 VScode 或是其他用的順手的編輯器
  • 基本的 HTML, CSS, Javascript,基本夠
  • 一點點 SQL,資料庫還是要用一點點概念

大綱

夠用的 Elixir

  • 安裝 Elixir 與相關道具
  • 變數與型別
  • 模組跟方法
  • pattern matching

phx.new 建立新專案

  • 安裝相關道具
  • phx.gen 就蓋好了ㄟ

資料庫層

  • 操作資料庫的 Ecto
  • 表格規矩訂在 schema

商業邏輯層

  • 邏輯整理在 context

傳統風味 MVC

  • 指揮交通的 router
  • 頁面邏輯 controller
  • HTML放在 view 與 template

最火紅的 LiveView

  • 好啦還是要講一下原理
  • 互動用 handle_event
  • 再潮還不是要做表單

部署

  • 寫這麼久別人玩不到像話嗎?

結尾

  • 這個系列沒寫但是…應該要知道的部分
  • 這個系列沒寫但是…可以精進的部分

下一篇
{02, Elixir, "最難的是安裝環境"}
系列文
速成 Phoenix, 2022年最受喜愛框架30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言