APP下载

苹果开源低阶非阻塞网络框架SwiftNIO

消息来源:baojiabao.com 作者: 发布时间:2024-05-19

报价宝综合消息苹果开源低阶非阻塞网络框架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以上。

2018-10-30 05:33:00

相关文章