Skip to content

OUIsolutions/CWebStudio

Repository files navigation

CWebStudio

CWebStudio Logo GitHub Release License

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.


🚀 Features

  • 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.

📦 Releases

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)

💻 Quick Start: Simple Example

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;
}

📚 Documentation

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

🤝 Contributing

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.


📜 License

CWebStudio is licensed under the MIT License. See the LICENSE file for more details.


🌟 Why CWebStudio?

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.


CWebStudio Banner