Kunugi alternatives and similar libraries
Based on the "Webserver" category.
Alternatively, view Kunugi alternatives based on common mentions on social networks and blogs.
-
Perfect
Server-side Swift. The Perfect core toolset and framework for Swift Developers. (For mobile back-end development, website and API development, and more…) -
Swifton
A Ruby on Rails inspired Web Framework for Swift that runs on Linux and OS X -
Zewo
Lightweight library for web server applications in Swift on macOS and Linux powered by coroutines. -
Express
Swift Express is a simple, yet unopinionated web application server written in Swift -
Embassy
Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux -
XcodeServerSDK
Access Xcode Server API with native Swift objects. -
Restofire
Restofire is a protocol oriented networking client for Alamofire -
Edge
A Swift Multiplatform Single-threaded Non-blocking Web and Networking Framework -
NetworkObjects
Swift backend / server framework (Pure Swift, Supports Linux) -
RxNetworks
🧚 Responsive plugin network architecture for RxSwift + Moya + HandyJSON + Plugins. -
SwiftyHTTP
A simple GCD based HTTP client and server, written in 'pure' Swift -
Dynamo
High Performance (nearly)100% Swift Web server supporting dynamic content. -
Swift-Server
A very basic proof-of-concept Swift HTTP server that does not require Foundation -
Corvus
Corvus has been archived in favor of https://github.com/Apodini/Apodini .
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Kunugi or a related project?
Popular Comparisons
README
Kunugi
Kunugi(椚) is minimal web framework and middleware systems for Swift. This is inpired by Node.js' Koa.
Kunugi doesn't provide http server its self. It provides Nest Interface.
See some example projects until documents is done.
Note: This is in early development project.
Usage
Define your context and app.
import Kunugi
import Nest
class Context: ContextBox {
var context: [ContextType] = []
var request: Request
var method: Method
var path: String
var parameters: [String: String] = [:]
init(request: Request) {
self.request = request
self.path = request.path
self.method = Method(request.method)
}
}
class App: AppType {
var wrap: [WrapMiddleware] = []
var middleware: [MiddlewareType] = []
func use(m: WrapMiddleware) {
wrap.append(m)
}
func use(m: MiddlewareType) {
middleware.append(m)
}
var application: Application {
... // root handler for your server
}
}
Create your request handler.
// Closure style handler with routes
let router = Router()
router.get("/hello") { ctx in
return .Respond(Response(.Ok, body: "world"))
}
// Controller style handler
struct HelloController: ControllerMiddleware, AnyRequestHandleable {
func post(ctx: ContextBox) throws -> MiddlewareResult {
return .Respond(Response(.Ok, body: "hello world"))
}
}
Stack your middleware to the app and start your server.
let app = App()
app.use(Logger())
app.use(BodyParser())
app.use(router)
app.use( Route("/helloworld", HelloController()) )
Server(port: 3000, app.application).start()
Requirements
- Swift 2.1 or Later (includes Linux support)
- OS X 10.10 or Later
License
MIT
*Note that all licence references and agreements mentioned in the Kunugi README section above
are relevant to that project's source code only.