इस प्रोजेक्ट के बारे में

CWIST (C Web development Is Still Trustworthy) एक C17 वेब फ्रेमवर्क और एप्लिकेशन सर्वर है जो एक पूर्ण नेटवर्किंग स्टैक बंडल करता है: HTTP/1.1, HTTP/2, QUIC पर HTTP/3, WebSocket, WebTransport, और X25519MLKEM768 का उपयोग करते हुए हाइब्रिड पोस्ट-क्वांटम TLS। यह एक एम्बेडेड SQLite ORM, Nuke DB नामक एक इन-मेमोरी रीड-ऑप्टिमाइज़्ड डेटाबेस इंजन, और वायर-प्रोटोकॉल फिंगरप्रिंटिंग द्वारा PostgreSQL, MySQL, और MariaDB की स्वचालित पहचान प्रदान करता है। यह प्रोजेक्ट दो निष्पादन मॉडल प्रदान करता है जिन्हें एनवायरनमेंट वेरिएबल द्वारा चुना जा सकता है। C1M रिएक्टर मोड उच्च-समवर्ती इवेंट-संचालित सर्विंग के लिए Linux पर io_uring (epoll/kqueue फॉलबैक के साथ) का उपयोग करता है, जबकि क्लासिक पूल मोड सामान्य अनुरोध कार्यभार पर कम विलंबता के लिए प्रत्येक कनेक्शन को अपना थ्रेड सौंपता है। README में Axum, Gin, और Spring Boot के विरुद्ध बेंचमार्क तुलनाएँ शामिल हैं, जिनमें थ्रूपुट, विलंबता प्रतिशतक, मेमोरी उपयोग, और कॉन्टेक्स्ट स्विच शामिल हैं, इस चेतावनी के साथ कि परिणाम CI रनर CPU और लोड प्रोफ़ाइल पर निर्भर करते हैं। CWIST प्रोजेक्ट स्कैफोल्डिंग, विकास के दौरान हॉट रीलोड, Doxygen एनोटेशन से OpenAPI जनरेशन, और protobuf/gRPC कोड जनरेशन के लिए एक कमांड-लाइन टूल के साथ आता है। यह gRPC यूनरी और स्ट्रीमिंग रूट, हेल्थ और रिफ्लेक्शन सेवाएँ, रिट्रीज़, और लोड बैलेंसिंग का समर्थन करता है। फ्रेमवर्क में Express-शैली पैरामीटर के साथ रूटिंग, मिडलवेयर, संरचित लॉगिंग, मेट्रिक्स और हेल्थ एंडपॉइंट, रेट लिमिटिंग, HTML/CSS/टेम्पलेट रेंडरिंग, और JSON यूटिलिटीज़ भी शामिल हैं। इंस्टॉलेशन make के साथ स्रोत से बिल्ड करके या Homebrew टैप के माध्यम से उपलब्ध है। BoringSSL, lsquic, libttak, और SQLite3 जैसी निर्भरताएँ वेंडर की गई हैं, और स्टैटिक लाइब्रेरी को सीधे या pkg-config के माध्यम से लिंक किया जा सकता है। प्लेटफ़ॉर्म समर्थन Linux, macOS, और BSD को कवर करता है।