A small, unopinionated “don’t get into my way” / “I don’t wanna wait“
asynchronous web framework for Swift.
With a strong focus on replicating the Node APIs in Swift.
But in a typesafe, and fast way.
MacroExpress is a more capable variant of
µExpress.
The goal is still to keep a small core, but add some
Noze.io
modules and concepts.
MacroExpress adds the web framework components to
Macro
(kinda like Express.js adds to Node.js).
MacroLambda has the bits to
directly deploy MacroExpress applications on AWS Lambda.
MacroApp adds a SwiftUI-style
declarative DSL to setup MacroExpress routes.
What does it look like?
The Macro Examples package
contains a few examples which all can run straight from the source as
swift-sh scripts.
#!/usr/bin/swift sh
import MacroExpress // @Macro-swift
let app = express()
app.use(logger("dev"))
app.use(bodyParser.urlencoded())
app.use(serveStatic(__dirname() + "/public"))
app.get("/hello") { req, res, next in
res.send("Hello World!")
}
app.get { req, res, next in
res.render("index")
}
app.listen(1337)
MacroExpress
A small, unopinionated “don’t get into my way” / “I don’t wanna
wait
“ asynchronous web framework for Swift. With a strong focus on replicating the Node APIs in Swift. But in a typesafe, and fast way.MacroExpress is a more capable variant of µExpress. The goal is still to keep a small core, but add some Noze.io modules and concepts.
MacroExpress adds the web framework components to Macro (kinda like
Express.js
adds toNode.js
).MacroLambda has the bits to directly deploy MacroExpress applications on AWS Lambda. MacroApp adds a SwiftUI-style declarative DSL to setup MacroExpress routes.
What does it look like?
The Macro Examples package contains a few examples which all can run straight from the source as swift-sh scripts.
Environment Variables
macro.core.numthreads
macro.core.iothreads
macro.core.retain.debug
macro.concat.maxsize
macro.streams.debug.rc
macro.router.debug
macro.router.matcher.debug
macro.router.walker.debug
Links
Who
MacroExpress is brought to you by the Always Right Institute and ZeeZide. We like feedback, GitHub stars, cool contract work, presumably any form of praise you can think of.
There is a
#microexpress
channel on the Noze.io Slack. Feel free to join!