宏 (Macro)

一个小型、不带偏见的“别挡我的路” / “我不想wait”的 Swift 异步 Web 框架。强烈关注在 Swift 中复制 Node API。 但以类型安全且快速的方式进行。

Macro 是 µExpress 的更强大的变体。目标仍然是保持一个小的核心,但添加一些 Noze.io 模块和概念。

最终它可能会演变成 Noze.io v2(一旦启用背压的流完全正常工作)。

配套的 MacroExpress 包添加了类似 Express.js 的中间件处理和函数,以及模板。MacroLambda 具有直接在 AWS Lambda 上部署 Macro 应用程序的位。

流 (Streams)

请查看 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 的模块,例如

环境变量

Async/Await (异步/等待)

这有意尚不支持 async/await,因为正确的流式传输需要自定义执行器。目前尚不可用。

链接

MacroHelge Heß / ZeeZide 带给您。 我们喜欢反馈、GitHub 星星、酷的合同工作,大概任何你能想到的赞美形式。

Noze.io Slack 上有一个 #microexpress 频道。 欢迎加入!