A super lightweight, zero-dependency async HTTP server library written in pure Swift for iOS, macOS, and Linux.
Embassy is a super lightweight, asynchronous HTTP server library written entirely in Swift. It allows developers to embed a web server directly within Swift applications, enabling scenarios like UI testing, API mocking, or building simple web interfaces without external dependencies. The library uses an event loop architecture and supports the SWSGI interface for flexible web application development.
Swift developers building iOS, macOS, or Linux applications who need an embedded HTTP server for testing, mocking, or lightweight web services. It's particularly useful for mobile developers requiring local server capabilities within their apps.
Developers choose Embassy for its minimal footprint, zero dependencies, and pure Swift implementation, making it easy to integrate and customize. Its async event loop and SWSGI support provide flexibility for advanced HTTP handling without the complexity of larger server frameworks.
Super lightweight async HTTP server library in pure Swift runs in iOS / MacOS / Linux
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Written entirely in Swift with zero third-party dependencies, making it lightweight and easy to integrate into any Swift project without external bloat.
Supports iOS, tvOS, macOS, and Linux, allowing developers to use the same server code across Apple and server environments.
Uses an asynchronous event loop that enables advanced HTTP handling such as long-polling, delays, and bandwidth throttling, ideal for testing and mocking scenarios.
Implements the Swift Web Server Gateway Interface, separating server logic from application code for modular and customizable web app development.
Functions must be called within the same thread as the event loop, and using GCD for delays is discouraged, which can be restrictive for developers accustomed to concurrent programming patterns.
Lacks built-in features like routing, middleware, or templating, requiring manual implementation for common web development tasks.
Requires manual configuration of event loops and server instances, which can be more involved compared to higher-level frameworks that abstract these details.