CWebStudio is a powerful and lightweight framework for building web applications in C/C++. Designed for efficiency and simplicity, it provides a single-file library to streamline common web development tasks. With CWebStudio, you can effortlessly handle HTTP requests, parse JSON, manage static files, and create dynamic front-end code using the innovative HyDration mechanic. Whether you're developing a simple API or a complex web application, CWebStudio equips you with the tools to build fast and reliable solutions.
- Lightweight & Efficient: A minimal footprint with maximum performance.
- Single-File Library: Easy to integrate with your projects.
- HTTP Request Handling: Simplified management of routes, headers, and query parameters.
- JSON Parsing: Built-in support for handling JSON data with ease.
- Static File Management: Serve static files with smart caching.
- HyDration Mechanic: Generate dynamic front-end code directly from C.
- Cross-Platform: Compatible with multiple environments for C/C++ development.
Item | Description |
---|---|
CWebStudioOne.c | CWebStudio One file (All-in-one solution) |
CWebStudio.c | Core Definitions |
CWebStudio.h | Header File |
CWebStudio.zip | Full Folder (Includes src/one.c ) |
Here's a minimal example to get you started with CWebStudio. This code sets up a basic server that responds with "Hello World".
#include "CWebStudioOne.c"
CwebHttpResponse *main_server(CwebHttpRequest *request) {
return cweb_send_text("Hello World", 200);
}
int main(int argc, char *argv[]) {
CwebServer server = newCwebSever(5000, main_server);
CwebServer_start(&server);
return 0;
}
Explore the comprehensive documentation to learn more about CWebStudio's capabilities:
Topic | Description |
---|---|
Build & Install | How to build and install CWebStudio |
Routing & URL Parameters | Working with URL parameters |
Query Parameters | Retrieving query parameters |
Iterating Query Params | Iterating through query parameters |
URL Encoding | Parsing URL-encoded parameters |
Headers | Retrieving request headers |
Iterating Headers | Iterating through headers |
Request Body | Reading body content from requests |
JSON Parsing | Parsing JSON data from requests |
Returning JSON | Returning JSON using cJSON |
Binary Content | Reading binary content from requests |
Plain Text Responses | Returning plain text responses |
Rendered HTML | Returning HTML using CTextStack |
HTML Responses | Returning raw HTML responses |
Serving Files | Returning files directly from the server |
Other Formats | Returning content in various formats |
Static Files | Handling static files with smart caching |
Debugging | Enabling debug mode with CWEB_DEBUG |
Server Control | Killing the server process |
Server Configuration | Configuring server parameters |
HyDration Intro | Introduction to HyDration for front-end code |
HyDration Steps | Explaining the three steps of HyDration |
HyDration Example | Full runnable HyDration example |
HyDration Search | Retrieving search results from the browser |
HyDration Requirements | Setting up search requirements for bridges |
HyDration Actions | Executing actions in the browser |
HyDration Shortcuts | Using shortcuts in HyDration |
HyDration Arguments | Passing arguments between bridges |
HyDration Numbers | Handling numbers in HyDration |
Dependencies | Required dependencies for CWebStudio |
We welcome contributions to CWebStudio! If you'd like to contribute, please fork the repository, make your changes, and submit a pull request. For major changes, please open an issue first to discuss your ideas.
CWebStudio is licensed under the MIT License. See the LICENSE file for more details.
CWebStudio brings the power of C/C++ to web development, combining performance with simplicity. Whether you're building embedded web servers or high-performance APIs, CWebStudio is the ideal choice for developers who value efficiency and control.