**Прим. переводчика:** _в синтаксисе C++ несколько ограниченны средства построения предметно-ориентированных языков. В итоге их мало кто на С++ пытается использовать, а попытки всё-же это сделать вызывают интерес, тем более, когда в итоге получается нечто стройно выглядящее и практически полезное. Одним из таких открытий для меня стала библиотека Silicon, пытающаяся средствами современного С++ дать возможность быстро и гибко реализовать WebAPI в своём проекте. Давайте посмотрим, насколько просто это выглядит._ Hello World на Silicon — программа, которая на HTTP-запрос к
http://host/hello/world
ответит кодом 200 с текстом «hello world»:
auto my_api = http_api(GET / _hello / _world = [] () { return "hello world";});
mhd_json_serve(my_api, 80);
Неплохо, правда? my\_api здесь это описание нашего API, а mhd\_json\_serve — это бекэнд библиотеки Silicon, реализующий данный API с использованием встроенного вебсервера (на выбор [microhttpd][1] или [LWAN][2]). Давайте посмотрим, что ещё умеет Silicon. [Читать дальше →][3]
[1]:
http://www.gnu.org/software/libmicrohttpd/
[2]:
http://lwan.ws/
[3]:
https://habrahabr.ru/post/280214/#habracut