Phoenix 1.0 – 現代網路的架構終於來了
克里斯·麥考德於 2015 年 8 月 28 日張貼
歷經一年半的作業、2500 個提交和 30 個版本,Phoenix 1.0 終於問世了!有了 1.0 版本,不論您是在建置 API、HTML5 應用程式或原生裝置的網路服務,Phoenix 都已備好征服整個世界。它以 Elixir 編寫而成的,您將會擁有美觀的語法、高效的工具和快速的執行環境。期間有許多 在生產環境運用 Phoenix 的企業成功案例,並在兩場 ElixirConf 展示 Phoenix 的進展。
感謝
在探討 Phoenix 的一些厲害功能之前,我們要感謝讓這一切成真的幕後功臣。
若瑟·瓦利姆
儘管他試圖淡化自己的貢獻,若瑟以一種令人驚嘆的奉獻精神為 Phoenix 鋪路。他不僅編寫了 Elixir,也以 Plug 函式庫引導 Phoenix,使用 Ecto 開放資料庫存取,並為 Phoenix 本身貢獻了數千行程式碼。期間,他製作了 Elixir 的版本,並協助建立了令人愉快的社群。感謝您!
phoenix-core
核心團隊投入許多個夜晚與週末,才讓我們走到今天。不論是 Lance Halvorsen 撰寫優美的 Phoenix 指南、Jason Stiebs 協助充實最初的頻道層、Eric Meadows-Jönsson 開發 hex.pm 並確定針對舊版瀏覽器有優雅的備援方式,或是 Sonny Scroggin 在訓練新人的同時,於各個面向做出貢獻,他們讓 Phoenix 成為今日的樣貌。
即時網路
從一開始,Phoenix 就專注於進軍即時網路。目標是讓即時通訊變得像寫 REST 端點一樣簡單。我們已透過頻道來實現這個目標。以下這段 90 秒的協作編輯器影片,應能讓您了解其可能性
頻道為您提供可進行雙向通訊的多工連線至伺服器。此外,Phoenix 還抽象化了傳輸層,因此您不再需要擔心使用者如何連接。不論是使用 WebSocket、長輪詢或自訂傳輸方式,您的頻道程式碼都維持不變。您直接針對抽象化的「socket」撰寫程式碼,Phoenix 會處理其他一切。即使是在機器叢集,您的訊息也會自動廣播至所有節點。Phoenix 的 javascript 客户端也提供了一個 API,讓客户端/伺服器通訊變得非常簡單。以下就是範例
超越瀏覽器
鳳凰是「網路架構」,以傳統瀏覽器應用為目標,但是,所謂的「網路」正在演變。我們需要一個與網路共同演進的架構。鳳凰超越瀏覽器,能連結不僅瀏覽器、還有 iPhone、Android 手機以及其他智慧裝置。 Justin Schneck、 Eoin Shanaghy 和 David Stump 為 objC、Swift、C# 和 Java 編寫頻道用戶端,讓鳳凰實現此一目標。為了瞭解這項功能,Justin 展示一個鳳凰聊天應用,在蘋果手錶、iPhone 以及網路瀏覽器中執行,且都由原生鳳凰頻道用戶端提供支援
短期和長期的生產力
除了高度連接,鳳凰還提供一組便利的功能,讓您可以快速上手並與團隊一起發揮生產力。但是,軟體不只是與短期相關。Elixir 採用經過驗證、真正的模式,確保長期專案成功,並易於維護。Erlang 執行時期是設計供系統執行多年,並將停機時間降到最低。使用這些模式和執行時期創新,您可以部署自我修復、支援熱程式碼上傳、並已知支援數百萬名連線使用者的系統。鳳凰會立即提供
短期生產力
- 透過
mix phoenix.new my_app
產生專案 - 在開發中即時重新載入。對任何範本、檢視或資產進行變更,即可立即使瀏覽器顯示結果
- 透過 Ecto 整合,使用 Postgres、MySQL、MSSQL 和 MongoDB 資源
- 資源產生器,例如
mix phoenix.gen.html User users name:string age:integer
,能協助您啟動專案,並深入了解鳳凰的最佳慣例 - 使用 EEx 範本進行預編譯的檢視層,能提供極快速的回應時間,通常以微秒計
- 使用頻道進行即時通訊
- 還有更多
長期的生產力
- 能在同一作業系統流程中同時執行多個鳳凰應用,或將較大的應用拆分成較小的區塊,搭配雨傘應用使用:http://blog.plataformatec.com.br/2015/06/elixir-in-times-of-microservices/
- 使用 Erlang OTP 工具,能即時檢視執行中的應用並診斷問題
下一步是什麼?
我們才剛推出 1.0。有了強大的穩固核心功能,我們將會建構頻道即時狀態功能、國際化等。一定要 報名參加 ElixirConf,時間是 10 月份,瞭解除了 Phoenix 1.1 之外,在 Elixir 生態系統中將會發布的計畫和其他新奇事物。José Valim 亦將於 9 月 4 日舉辦 Phoenix 網路研討會,說明 Phoenix 的相關資訊,並回答觀眾問題。
- 與 José Valim 舉辦的 Phoenix 網路研討會暨問答時間,9 月 4 日
- ElixirConf,10 月 1 到 3 日,德州奧斯丁
開始使用
那麼你該如何加入這一切的樂趣呢?Phoenix指南將帶領你了解基礎知識並讓你快速上手。如果你剛接觸Elixir,以下有一些資源可以讓你快速瞭解一下Phoenix。
這一直都是一段令人驚奇的旅程,而且我們才剛開始。讓我們向全世界展示Elixir和Phoenix可以做到的。
–Chris