MacroApp layers on top of
MacroExpress
to provide a SwiftUI like, declarative setup of endpoints.
It is a little more opinionated than MacroExpress.
MacroExpress
is 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.
MacroApp is just syntactic sugar (using Swift function builders) on top of
MacroExpress. The configuration is evaluated into a regular MacroExpress
based app (with routes and middleware).
Example
MacroApp:
@main
struct HelloWorld: App {
var body: some Endpoints {
Use(logger("dev"), bodyParser.urlencoded())
Route("/admin") {
Get("/view") { req, res, _ in res.render("admin-index.html") }
Render("help", template: "help")
}
Get { req, res, next in
res.render("index.html")
}
}
}
Instead of this traditional route setup (as in MacroExpress):
let app = express()
app.use(logger("dev"), bodyParser.urlencoded())
app.route("/admin")
.get("/view") { req, res, _ in res.render("admin-index.html") }
app.get("/") { req, res, _ in res.render("index.html") }
app.listen(1337) {
console.log("Server listening on http://localhost:1337")
}
MacroApp
MacroApp layers on top of MacroExpress to provide a SwiftUI like, declarative setup of endpoints.
It is a little more opinionated than MacroExpress.
MacroApp is just syntactic sugar (using Swift function builders) on top of MacroExpress. The configuration is evaluated into a regular MacroExpress based app (with routes and middleware).
Example
MacroApp:
Instead of this traditional route setup (as in MacroExpress):
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
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!