Swift服務端框架Perfect

pshjob 8年前發布 | 38K 次閱讀 Swift Apple Swift開發

來自: https://realm.io/cn/news/perfect-swift-server-framework/

Apple(蘋果公司)宣布開源Swift已經是去年12月份的事情了,在那之前有一個令整個Swift社區顫抖的開源項目,那就是基于Swift的服務器開發框架 Perfect 。Perfect是一個使用Switft編程語言開發WEB和其他REST服務的框架,使開發人員可以使用同一種語言進行客戶端和服務端開發,這意味著,通過在整個應用程序生態系統中使用同一種語言,開發人員可以節省時間,縮短學習曲線,減少所需的代碼。

絕佳時機

所有事情時機很重要。雖然說最先問世的框架不一定會是使用最廣泛的框架,但是就像現在Swift除了開發IOS/OS X,還能用作于服務器開發的事實,并且一些完成度非常高的項目不斷獲取開發者的視線。最近 使用Swift 替代其他腳本語言 , 使用Swift開發Android 等(已經成功使用Swift在Android上 渲染出 “Hello World”) 很多項目正在剝奪開發者的眼球。

是誰開發的?

首先開發Perfect的是一個來自加拿大,名叫PerfectlySoft的創業公司。通過 Perfect的Github主頁 我們可以看到一個有趣的事實,雖然一共有6名開源代碼貢獻者,但是主要開發者一共有2名,一名開發者是從2015年10月開始開發,另一名開發者在11月之后就中斷了開發,分支也只有一個,提交量在200多。賞心悅目的網站,完整的Github社區,高品質的服務端框架讓很多人很難相信這么多工作都是由一個人開發的,但事實上這些確實是都是由1個人開發的。

支持什么樣的環境

最初Perfect發布的時候是在Swift開源之前,所以當時只支持 Mac OS,隨著蘋果最近將Swift開源,Perfect承諾支持跨多種平臺的跨平臺開發,包括OS X、Linux、Windows等其他平臺。但是據筆者了解目前只支持Ubuntu。Perfect服務器目前有兩個版本:一個版本基于FastCGI,通過 mod_perfect 嵌入Apache 2.4,另一個版本是一個獨立HTTP服務器的變種。在服務啟動是提供動態模塊加載,并且使用Mustache模板引擎進行渲染。通過沒有任何關于支持nginx的消息表明。現在暫時只支持Apache。

Perfect還提供了在服務端開發中非常重要的MySQL, PostgreSQL, MondoDB數據庫連接器。還有提供 豐富的示例代碼 ,并遵循GNU Affero GPL 3.0開源協議。

PerfectLib

PerfectLib是一個Swift模塊,提供了一套進行服務端和客戶端開發的核心工具。在許多情況下,客戶端和服務端使用相同的API。

輕量級客戶端模塊主要提供JSON編碼/解碼,原始字節流管理,UTF-8/16編碼和解碼,用于字符驗證的相關Unicode工具,cURL支持,簡化的SQLite訪問等特性。

服務端模塊包含客戶端模塊提供的所有特性之外還集成了可擴展,高性能的網絡支持LibEvent,文件和目錄對象,進程管理,基于FastCGI的應用服務,多部分POST/MIME解析和文件上傳處理,Mustache模板解析和處理,服務器擴展模塊動態加載,服務端狀態/會話管理。

是否值得一試?

雖然說 Perfect的文檔 整理的僅僅有條。但是作為商用還為時尚早,各種示例,關聯的文檔,書籍等可參考的資料還是非常少。

。如果作為說僅僅作為學習,興趣之用還可以嘗試的。希望Swift服務器開發中Pefect能發揮重要作用。

 本文由用戶 pshjob 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!