Nanocord
Nanocord is a native Windows chat application developed in C++ using WinUI 3. The project began as an exploration of networking, concurrency, and client-server communication, before evolving toward a usable desktop messaging application.
Purpose
The initial goal was to explore asynchronous networking and concurrent execution, particularly through Windows I/O Completion Ports (IOCP), while designing a shared communication protocol that allows the client and server to exchange and interpret data consistently. As the project evolved, the focus expanded toward building a practical chat application, combining these systems-level challenges with native Windows development and a desktop user interface.
Future
Future development may see Nanocord move away from WinUI 3 in favor of NGUI,
enabling a more lightweight client. On the server side, migrating to Linux
and using io_uring would provide an opportunity to explore a
different model of completion-based asynchronous I/O, while continuing
to investigate networking, concurrency, and performance.
Development
Nanocord is slowly evolving. It has progressively expanded from a basic client-server experiment into a desktop messaging application.