iT邦幫忙

2022 iThome 鐵人賽

DAY 30
1

接下來呢?

我畫了一個這系列用到的 Phoenix 的架構插圖
https://ithelp.ithome.com.tw/upload/images/20221003/20141054oLgQrYkiLi.png
連線從 Router 進來,看是到 Controller 還是 LiveView,他們各自從 context 呼叫需要的東西。
圖的內容跟他們不太相關就是了哈哈。

以下是想要詳細講但是因為時間篇幅跳過的,附上他們的文件

Request Life-Cycle (Phoenix 文件)
這個官方的教學 帶我們從連線到顯示畫面,介紹一遍中間會經過的點,看完可以知道整個流程

LiveView (LiveView 文件)
官方的文件裡面寫得非常詳細,他有列出各種情境的用法,如檔案上傳,JS 互動

Plug (Plug 文件)
Phoenix 是建立在 Plug 上,雖然工作通常不會從 Plug 開始做起,但是可以稍微知道一下

Ecto (Ecto 文件)
後端 Phoenix 一定會天天與 Ecto 打交道,我覺得有些學習門檻

測試 (Phoenix 文件)
要寫測試要寫測試要寫測試

LiveView 測試 (LiveView 文件)
我真的很喜歡寫 LiveView 測試,因為 LiveView 架構的關西(狀態都存在伺服器),所以可以用 Elixir 寫整合測試(網頁測試)

Exercism 的 Elixir Track
雖然大部分的時候 Phoenix 已經處理好底層複雜的部分,還是建議完整的學習 Elixir 後期才可以變出更多花漾。

關於文件們
因為 Elixir 慣例把文件寫在程式裡面,所以大部分的文件都可以在 https://hexdocs.pm/ 找到
在 Phoenix 裡面,有的方法是從不同的專案來的,所以有的時候要跨套件找,如 Ecto, Ecto.Adapter.SQL

感想

這是第二次參賽,覺得寫技術文章的功力好像有提昇一些了,寫起來也比較不會慌張。
一直覺得這個活動很棒的另一個原因是,我最近開始覺得技術教學本地化而且有初階內容對於台灣的軟體環境與 Elixir 社群都很重要,
儘管朋友問我第一個語言要學什麼我還是會回英文,畢竟任何文件第一個有的語言都是英文,但有全中文的教學當敲門磚體驗應該會好很多。

另外要感謝猴子戰隊的夥伴們跟我一起參加並且互相督促寫文章。雖然大家都是壓線大師哈哈哈哈,但大家都每天都確實得完賽了。

猴子團隊:


上一篇
{29, LiveView, "LiveView產生器"}
系列文
速成 Phoenix, 2022年最受喜愛框架30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
wow1310s
iT邦新手 5 級 ‧ 2022-11-18 22:59:52

太棒了,我正被困在Programming Phoenix LiveView書中的liveview component地獄中,這個教程非常清晰地指出了互相傳遞的關係!!!

我要留言

立即登入留言