Представлена начальная реализация версии фреймворка node.js для языка C++

Программист из Северной Кореи Дэниель Канг (Daniel Kang) представил первую экспериментальную реализацию фреймворка node.js для языка C++, позволяющую создавать высокопроизводительные приложения в стиле оригинального node.js, но ориентированный на выполнение скомпилированного кода на языке С++, без использования JavaScript.

Node.native представляет собой асинхронный I/O-фреймворк, архитектурно и идейно сходный с фреймворком node.js. Однако, в отличие от последнего он не использует JavaScript-движок V8 и предназначен исключительно для программирования на языке C++11, возможности параллельного программирования которого и вдохновили автора на создание проекта. Как и оригинальная реализация, node.native перекладывает работу по обслуживанию запросов ввода-вывода на отдельные потоки, благодаря чему удается достичь высокого уровня производительности приложений.

В данный момент проект находится в начальной стадии разработки и пока не может предоставить разработчикам всех возможностей node.js, но опережает его в производительности в синтетических тестах на 80%. Если верить словам автора, он продолжит активно работать над реализацией и совсем скоро выпустит полноценную версию фреймворка, сходную по функциональности с node.js.

Простейший пример веб-сервера на node.native выглядит следующим образом:


   #include 
   #include 
   using namespace native::http;

   int main() {
       http server;
       if(!server.listen("0.0.0.0", 8080, [](request req, response res) {
           res.set_status(200);
           res.set_header("Content-Type", "text/plain");
           res.end("C++ FTWn");
       })) return 1; // Failed to run server.

       std::cout 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.