Show GN: CWIST: 즐거운 개발을 다시 여러분께 돌려드리는 웹 프레임워크
(github.com/Religiya-Serdtsa)CWIST는 아직 실험적이지만, 즐거운 개발을 여러분께 돌려드리는 라이브러리입니다.
DB 사용, 메트릭, 최신 TLS와 같은 기능들은 한 줄의 함수, 몇 개의 구조체로 환원됩니다.
이것은 복잡한 웹 프레임워크만큼 유연하지도, Flask만큼의 생산성을 보장하지도 못합니다.
하지만 이것은 구조가 보입니다.
구조가 보인다는 것은 C언어 하나로 개발을 입문하고자 하는 분들께 자료와 머릿속 구상이 일대일 대응할 수 있음을 말합니다.
CWIST는 Java Spring, Flask를 이기겠다는 목표는 없습니다. 그러나 CWIST가 여러분께 개발의 재미를 돌려드릴 수 있다는 것을 장담합니다.
#include <cwist/app.h>
static void hello(cwist_http_request *req, cwist_http_response * res) {
(void)req;
cwist_sstring_assign(res->body, "Hello from CWIST!");
}
int main(void) {
cwist_app *app = cwist_app_create();
/* Post-Quantum TLS (hybrid X25519MLKEM768) */
cwist_app_use_pqc_layer(app, true);
/* Observability endpoints */
cwist_app_enable_metrics(app);
cwist_app_enable_healthz(app);
/* Auto-detect PostgreSQL / MySQL / MariaDB on localhost */
cwist_app_auto_rdbms(app, 5432);
/* Routes */
cwist_app_get(app, "/", hello);
cwist_app_listen(app, 8080);
cwist_app_destroy(app);
return 0;
}