一个小型、不带偏见的“别挡我的路” / “我不想wait
”的 Swift 异步 Web 框架。强烈关注在 Swift 中复制 Node API。 但以类型安全且快速的方式进行。
Macro 是 µExpress 的更强大的变体。目标仍然是保持一个小的核心,但添加一些 Noze.io 模块和概念。
最终它可能会演变成 Noze.io v2(一旦启用背压的流完全正常工作)。
配套的 MacroExpress 包添加了类似 Express.js 的中间件处理和函数,以及模板。MacroLambda 具有直接在 AWS Lambda 上部署 Macro 应用程序的位。
请查看 Noze.io 给那些不懂 Node 的人,大多数内容也适用于 Macro。
Macro Examples 包包含几个示例,所有示例都可以直接从源代码作为 swift-sh 脚本运行。
最基本的 HTTP 服务器
#!/usr/bin/swift sh
import Macro // @Macro-swift ~> 0.8.0
http
.createServer { req, res in
res.writeHead(200, [ "Content-Type": "text/html" ])
res.write("<h1>Hello Client: \(req.url)</h1>")
res.end()
}
.listen(1337)
Macro 还提供了其他类似 Node 的模块,例如
fs
path
jsonfile
JSON
basicAuth
querystring
macro.core.numthreads
macro.core.iothreads
macro.core.retain.debug
macro.concat.maxsize
macro.streams.debug.rc
这有意尚不支持 async
/await
,因为正确的流式传输需要自定义执行器。目前尚不可用。
Macro 由 Helge Heß / ZeeZide 带给您。 我们喜欢反馈、GitHub 星星、酷的合同工作,大概任何你能想到的赞美形式。
在 Noze.io Slack 上有一个 #microexpress
频道。 欢迎加入!