Event-driven I/O streams for Swift, inspired by Node.js, using libdispatch for non-blocking operations.
Noze.io is an event-driven I/O framework for Swift that brings Node.js-like streaming concepts to a statically typed, compiled language. It focuses on type-safe, back-pressure aware pull-streams operating on batches of structured items—such as Unicode lines, database records, or HTTP responses—rather than just bytes, promoting efficiency through batching.
Swift developers building server-side applications, networking tools, or data processing pipelines who are familiar with Node.js patterns and want similar event-driven, non-blocking I/O in a type-safe Swift environment.
Developers choose Noze.io for its familiar Node.js-like API adapted to Swift's syntax, its emphasis on type safety and performance through batch processing, and its self-contained nature with built-in modules, eliminating external dependencies.
Evented I/O streams for Swift
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Swift generics to create back-pressure aware pull-streams, ensuring compile-time type safety and efficient data processing on batches like lines or records.
Adapts Node.js's event-driven API to Swift's syntax, reducing the learning curve for developers experienced with Node.js, as shown in the HTTP server example.
Operates on batches of structured items such as Unicode lines or database records, promoting efficiency through batching rather than byte-level operations.
Comes with self-contained modules like express and redis, eliminating the need for additional package management and simplifying setup.
As of November 2021, the project is not recommended for production, with maintainers pointing to Macro.swift as the modern SwiftNIO-based alternative.
Implements primarily the happy path, meaning errors are not comprehensively handled and can lead to crashes or unhandled exceptions.
Has only a few built-in modules like cows and leftpad, lacking the vast package environment of Node.js's npm, which restricts functionality and community support.
Noze.io is an open-source alternative to the following products: