A lightweight server-side service framework for Swift, built on SwiftNIO, supporting REST-like and RPC-like services.
Smoke Framework is a lightweight server-side service framework written in Swift, designed for building REST-like or RPC-like services. It uses SwiftNIO for networking and provides built-in support for JSON payloads, making it suitable for creating scalable backend applications. The framework integrates with code generators like Swagger/OpenAPI to streamline service development.
Swift developers building server-side applications, microservices, or backend APIs who want a lightweight, performant framework with strong support for modern Swift features and tooling.
Developers choose Smoke Framework for its simplicity, performance via SwiftNIO, and seamless integration with Swift's ecosystem. Its emphasis on testable, pure function handlers and extensibility through protocols makes it a flexible choice for custom service architectures.
A light-weight server-side service framework written in the Swift programming language.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages SwiftNIO for non-blocking I/O, ensuring scalable and efficient request handling, as highlighted in the README's emphasis on performance.
Uses context-based handlers to promote pure functions, making operation logic easy to unit test, as described in the Conceptual Overview.
Designed with extension points for custom payload encoding and handler selection, allowing flexibility beyond built-in JSON support.
Seamlessly integrates with Swagger/OpenAPI specifications for automatic service code generation, speeding up API-first development.
Getting started requires multiple manual steps, including platform version updates and context configuration, which can be daunting compared to more opinionated frameworks.
Lacks out-of-the-box support for common needs like authentication, database ORM, or real-time protocols, requiring additional custom development or third-party libraries.
The support policy and examples are tied to AWS services, potentially leading to vendor lock-in for teams not using Amazon's cloud infrastructure.