使用 LiveView 及 Phoenix 1.5 在 15 分鐘內建置一個即時 Twitter 分身

由 Chris McCord 於 2020 年 4 月 22 日張貼


Phoenix v1.5 已與 LiveView 整合而推出。這項發行使建置互動式即時應用程式變得比以往更輕鬆。我們彙編了一個快速的螢幕錄製,展示您如何在 15 分鐘內使用 LiveView 達成多少成就

除了 Phoenix LiveView 整合之外,這項發行還帶來其他令人興奮的功能,包括與新的 Phoenix LiveDashboard 整合。deprecation 有一些,但對大多數人來說這個升級應該是快速且容易的。

Phoenix LiveDashboard

在 LiveDashboard 正式發布後,Phoenix 1.5 專案現在預設隨附 LiveDashboard,以供進行即時效能監控和除錯工具。這時我也想歡迎 Michael Crumm 加入 phoenix-core 團隊!他一直與 José Valim 領導 Dashboard 工作,我們都應該感謝他們今天帶來的驚人成果。

Dashboard 可讓您立即深入瞭解 Phoenix 應用程式,重點著重於生產資料。即使您才剛開始使用 Phoenix,我們的小工具仍提供工具提示,讓您進一步瞭解它們,以及在什麼時候擔心系統限制和系統的健全性。透過遙測整合,我們也納入了 Phoenix 事件的繪製,以及使用者定義的指標。

查看 José 的推文串,取得功能與螢幕擷取畫面的細目:https://twitter.com/josevalim/status/1250846714665357315

這個資訊面板也包含串流請求記錄器。如果您需要特定請求的記錄,但常規記錄過於龐雜以致於淹沒您的請求,這是診斷生產問題的超便利功能。只要按一下按鈕,您就可以將所有您自己的請求記錄串流傳輸至資訊面板,不必再從大量的生產記錄中過濾。

我們還包含一個程序標籤,它類似於觀察器,讓您可以在系統中排序程序,以找出大型訊息佇列、記憶體大戶等。

我們有提到這只是一個分散式節點叢集的 Just Works™ 嗎?使用節點下拉選取器,您可以存取叢集上任何節點中所列的所有資料/功能,不論您在載入資訊面板時碰巧載入平衡到哪個網路節點。

Phoenix LiveView 產生器

phx.new 專案產生器現已包含 --live 標誌,可用於包含讓您開始使用 LiveView 進行開發所需的一切。此外,我們也加入了 phx.gen.live 產生器,它可對 CRUD LiveView 背景脈絡/介面進行引導程式,類似於 phx.gen.html/phx.gen.json。我們建議您對這些產生器進行測試運行,以查看最近發布中針對 LiveView 的所有現有改進

  • 改造 LiveViewTest API,以進行功能更強大的工作流程驅動式測試
  • 深入差異追蹤針對 LiveView 範本,大幅減少多數情況下的伺服器負載
  • 大幅提升用戶端呈現的效能
  • 搭配 Live Flash 的 Live 導覽功能

PubSub 2.0

Phoenix.PubSub 2.0 已釋出,搭配更靈活且功能強大的 fastlane 機制。我們把握此機會將 Phoenix.PubSub 從終端端點移出,並明確納入您的管理架構中。這可避免在啟動時出現競爭情況,並將您的 PubSub 系統與終端端點脫鉤。請遵循以下連結的升級指南以了解最新資訊。

改造指南等

由於 José Valim 的努力,現已對 Phoenix 內建指南進行重新建置和改造,提供更好的導覽結構和更多內容。如果您想更新您的 phoenix 知識,請務必檢閱這些內容。

其他值得注意的改進包括透過 tds 介面,內建支援 MSSQL 資料庫,以及在新的專案中納入 Phoenix.Ecto.CheckRepoStatus 插件,以直接在您的瀏覽器中偵測並提示建立/遷移資料庫。

一如往常,我們已提供升級指南,以讓您提升現有應用程式的版本:https://gist.github.com/chrismccord/e53e79ef8b34adf5d8122a47db44d22f

如欲查看完整變更清單,請參閱 CHANGELOG

如果您有任何疑問,請在 elixir slack/irc 上找到我們。編碼愉快!