隱私權聲明
本公司關心使用者隱私權與個人資訊,並遵守本公司的網站隱私政策,使用者若有任何問題,可以參考本公司的「網站隱私政策」,或利用電子郵件或連絡電話詢問本公司.
2018
03
12

[轉載] 蘋果開源低階非阻塞網路框架SwiftNIO

關鍵字:網頁設計程式設計專案開發網頁設計作品

圖片來源: GitHub
 

蘋果GitHub上開源以Swift編寫的跨平臺非同步事件驅動的網路應用程式框架SwiftNIO,這個框架目標並非提供給一般開發者,因為從根本上SwiftNIO是一個非常低階的工具,所以蘋果希望高階網路應用程式的框架可以用SwiftNIO來提供網路功能,開發者再以這些框架開發應用程式。

SwiftNIO的名字組成第一個單字是程式語言Swift,NIO則是非阻塞(Non-blocking)I/O的縮寫。蘋果表示,這是特別為每個連線都由一個執行序負責(Thread-Per-Connection)的並行模型使用者案例設計,改善其發生的效率低落或是無法維持連線品質的情況。

而SwiftNIO非阻塞I/O的設計,有別於多數常見的非阻塞I/O模型,SwiftNIO要求作業系統核心在進行I/O操作時主動發出通知,而非被動等待資料從網路傳送或接收。蘋果表示,多數的使用者不會想要直接使用SwiftNIO,他們反而會期待那些使用SwiftNIO處理底層網路功能的網頁應用程式框架。

SwiftNIO為高效能網路應用程式設計,但並不會在各抽象層提供完美的解決方案,SwiftNIO專注提供基礎的I/O功能與協定,並成為伺服器應用程式的磚塊之一,因而SwiftNIO倉儲庫僅包含非常重要的協定實作,像是HTTP等,因為蘋果認為,多數的協定實作應脫離SwiftNIO釋出循環,所以他們鼓勵社群維護自己協定實作,並將程式碼放置在主要SwiftNIO程式碼樹外。

SwiftNIO目標提供所有Swift支援的作業系統,不過目前還在macOS與Linux上測試,版本分別是macOS 10.12以及Ubuntu 14.04以上。

你可能有興趣的作品案例
傑立資訊傑立資訊事業有限公司
Powered by AWS Cloud Computing

電話:(02)2739-9096 | 傳真:(02)2739-6637 | 客服:[email protected] | 臺北市信義區和平東路3段257號6樓map

© 2019 傑立資訊 All rights reserved.| 網站隱私政策

線上詢價