Drogon C++: पूर्ण गाइड उदाहरणों के साथ
C++ में हाई-परफॉर्मेंस वेब डेवलपमेंट की दुनिया में आपका स्वागत है, Drogon फ्रेमवर्क के साथ। अगर आप Node.js की async क्षमताओं, Flask या Django की सुविधा के आदी हैं, लेकिन आपको नेटिव कोड के स्तर का प्रदर्शन चाहिए, तो Drogon आपके लिए ही है। इस लेख में हम विस्तार से जानेंगे कि Drogon कैसे इंस्टॉल करें, पहला एप्लिकेशन कैसे लिखें, इसके मुख्य तरीकों का उपयोग कैसे करें और सामान्य गलतियों से कैसे बचें।
1. यह क्या है और इसकी आवश्यकता क्यों है
Drogon C++ भाषा के लिए एक हाई-परफॉर्मेंस, क्रॉस-प्लेटफ़ॉर्म वेब फ्रेमवर्क है। कई अन्य समाधानों के विपरीत, यह अपने स्वयं के इवेंट लूप का उपयोग करके async इनपुट-आउटपुट (IO) मॉडल पर बनाया गया है। यह प्रति कनेक्शन एक अलग थ्रेड बनाए बिना हजारों समवर्ती कनेक्शनों को संभालने की अनुमति देता है, जिससे मेमोरी और कॉन्टेक्स्ट स्विचिंग का ओवरहेड नाटकीय रूप से कम हो जाता है।
Drogon का उपयोग क्यों करें? पहला, यह गति है। कंपाइल्ड C++ और नॉन-ब्लॉकिंग IO के कारण, Drogon माइक्रोसेकंड में अनुरोधों को संसाधित कर सकता है, जो इसे हाई-लोड REST API, माइक्रोसर्विसेज और रियल-टाइम एप्लिकेशन के लिए एक आदर्श विकल्प बनाता है। दूसरा, यह "आउट ऑफ द बॉक्स" समृद्ध कार्यक्षमता प्रदान करता है: डेटाबेस के लिए ORM, WebSocket सपोर्ट, JSON, SSL/TLS, मिडलवेयर, टेम्पलेट इंजन (ctemplate) और बिल्ट-इन HTTP क्लाइंट।
यह फ्रेमवर्क सक्रिय रूप से विकसित हो रहा है, इसमें स्पष्ट दस्तावेज़ीकरण और एक मैत्रीपूर्ण समुदाय है। अगर आप एक ऐसा बैकएंड बनाना चाहते हैं जो हार्डवेयर की सीमा पर काम करे, और आप कोड की अभिव्यक्ति से समझौता नहीं करना चाहते, तो Drogon आपका विश्वसनीय उपकरण होगा।
2. इंस्टॉलेशन
Drogon pip या npm जैसे पैकेज मैनेजर के माध्यम से इंस्टॉल नहीं होता है। इसे स्रोत कोड से बनाना होता है। हालांकि, CMake और vcpkg की मदद से यह प्रक्रिया अधिकतम स्वचालित है।
तरीका 1: vcpkg के माध्यम से इंस्टॉलेशन (अनुशंसित)
# vcpkg को क्लोन करें, अगर पहले से नहीं किया है
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh # या Windows पर bootstrap-vcpkg.bat
# Drogon इंस्टॉल करें
./vcpkg install drogon
तरीका 2: मैन्युअल रूप से स्रोत कोड से बिल्ड करना
# डिपेंडेंसी इंस्टॉल करें (Ubuntu/Debian)
sudo apt-get install git cmake build-essential libssl-dev libjsoncpp-dev libboost-all-dev libsqlite3-dev libmariadb-dev libpq-dev
# रिपॉजिटरी क्लोन करें
git clone https://github.com/drogonframework/drogon.git
cd drogon
# बिल्ड के लिए फोल्डर बनाएं
mkdir build && cd build
# कॉन्फ़िगर और बिल्ड करें
cmake ..
make -j$(nproc)
# सिस्टम में इंस्टॉल करें
sudo make install
इंस्टॉलेशन के बाद, आप अपने CMake प्रोजेक्ट्स में Drogon को शामिल कर सकते हैं:
find_package(Drogon REQUIRED)
target_link_libraries(my_app PRIVATE Drogon::Drogon)
3. त्वरित शुरुआत — न्यूनतम कार्यशील उदाहरण
चलिए एक सरल HTTP सर्वर लिखते हैं जो किसी भी GET अनुरोध पर "Hello, World!" का जवाब देता है।
// main.cpp
#include <drogon/drogon.h>
int main() {
// एप्लिकेशन इंस्टेंस बनाएं
drogon::app().registerHandler("/", [](const drogon::HttpRequestPtr& req,
std::function<void (const drogon::HttpResponsePtr&)> &&callback) {
// रिस्पॉन्स बनाएं
auto resp = drogon::HttpResponse::newHttpResponse();
resp->setBody("Hello, World!");
callback(resp);
});
// सर्वर को पोर्ट 8080 पर शुरू करें
drogon::app().addListener("0.0.0.0", 8080).run();
return 0;
}
बिल्ड और रन करें:
g++ -std=c++17 -o hello main.cpp -ldrogon -ljsoncpp -lssl -lcrypto -lpthread
./hello
अब अपना ब्राउज़र खोलें और http://localhost:8080 पर जाएं। आपको "Hello, World!" दिखाई देगा।