LINUX.ORG.RU

Веб Фреймворк для Си

 ,


0

3

Вот стало интересно, для языков типа python,perl,ruby фрейmворков для вэба завались, а есть ли такой фреймворк для старого доброго деда Си? Для надмножеств он есть к примеру у Objective-C, и я имею ввиду не несуществующий С/С++ с плюсами в каше, а именно для стандартов чистого Си типа ANSII или C99



Последнее исправление: Lefan (всего исправлений: 1)
Ответ на: комментарий от vromanov

GET — кака. POST без подмены адресов модуль не обработает: откуда серверу знать, что этот запрос надо модулем обрабатывать?

Anon
()
13 мая 2014 г.
22 февраля 2015 г.
Ответ на: комментарий от nickleiten

У CGI, при всей его элегантности и юниксвейности, насколько я помню, была фундаментальная проблема - там на каждый запрос создавался отдельный процесс. Или это в итоге решили?

hobbit ★★★★★
()
Ответ на: комментарий от vromanov

Вот пример нашей консоли сделанной на С+ExtJs на стороне клиента

Посмотрел, изошёл слюнями. Уважаю.

(Да, я в курсе, что тема старая. Нашёл поиском, задавшись вопросом «а пишет ли кто-нибудь сайты на Си».)

hobbit ★★★★★
()

Я писал в свое время CGI-библиотечку. Не доделал до конца, правда, но это не мешает ее использовать. Чем, собственно, и занимаюсь...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от hobbit

Вебсокеты решают эту проблему. Но они не всегда нужны. Обычно проще действительно CGI на каждый запрос запускать.

Кстати, необязательно в CGI много чего писать. Ведь нужно лишь в очередь сообщений закинуть нужное, да отправить какие-то данные (если они есть) из другой очереди или буфера в SHM.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Deleted

Мне не нужно. Т.к. трахаться больше надо.

Eddy_Em ☆☆☆☆☆
()

хм. Сейчас модно трупов откапывать чтоль?

Эдичка, зачем ты его откопал?

anonymous
()

напиши вывод printf и положи в cgi

anonymous
()
Ответ на: комментарий от anonymous

Это я его сегодня откопал, если на то пошло. А Эдди только откликнулся.

Просто сама тема из разряда не то, чтобы вечных, но таких, к которым интерес периодически вспыхивает. Её, кстати, не первый раз реанимируют, если ты посмотришь на даты.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

18.08.2013 19:20:45

А я на дату даже не глянул... Только сейчас посмотрел, что я уже отвечал в эту тему: вот, например.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от b0c0813f

А я ещё натыкался на LibHTTPD. Правда оно, похоже, давно затухло.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Да, на каждый запрос новый процесс. Если нужно обойти это именно на СИ, то проще уже сразу плагин к веб-серверу лепить, благо тот же апач позволяет это делать, а то и вообще свою реализацию простого веб-сервера. Правда, это уже будут велосипеды.

nickleiten ★★★
()
Ответ на: комментарий от vromanov

А знать бы. :( Вообще, я неудачную ссылку дал, на самом деле это мнение из достаточно серьёзной статьи, описывающей разработку модулей для nginx. Правда, статья датируется 2008 годом, 7 лет в мире ПО - это очень много.

Как по-вашему, что-то аналогичное Google Docs на модулях nginx можно реализовать, например?

hobbit ★★★★★
()

Web-framework для C называется Go. Для других приключений на свою попу смотри cgic. Ещё один пример ужаса, летящего на крыльях ночи — это cgit.

beastie ★★★★★
()
Ответ на: комментарий от hobbit

Не знаю. У нас была задача сделать консоль управления для сервера а также REST-like API. Сделали. Считаю, что получилось очень даже ОК.

vromanov ★★★
()
Ответ на: комментарий от static_lab

не нужно пересобирать приложение при внесении изменений

Теоретически задача решается, как в Play (Java) или Revel (Go). Там используется совершенно «скриптовая» разработка (поменял сорец, перегрузил страницу в браузере), но изменившиеся классы компилируются при каждом запросе.

Так что тут вопрос, всё же, именно в уровне языка. В строках, массивах, уборке мусора и т.п.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Почему бы и нет, если тема продолжает вызывать интерес?

Вообще, ЛОР - чуть ли не единственный известный мне форум, где искусственно создаются сложности для всплытия из забвения старых тем.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

чуть ли не единственный известный мне форум, где искусственно создаются сложности для всплытия из забвения старых тем

Тут с этим вообще каша.

— Старые сообщения закрываются. Ладно бы, и фиг с ними. Но.

— Иногда старые сообщения всплывают (как тут — аж от 2013-го), что на фоне предыдущего явления сильно сбивает с толку.

— К тому же движок форума не умеет переходить к первому непрочитанному, что не позволяет сразу понять, что речь о старой теме.

Отсюда регулярные археологические дискуссии. Самое смешное бывает, когда через пару лет ты уже забыл, что писал в тему. И отвечаешь то же самое второй раз :D

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

Самое смешное бывает, когда через пару лет ты уже забыл, что писал в тему. И отвечаешь то же самое второй раз :D

Такое бывает и не через пару лет, а даже через пару-тройку месяцев. Но то, что иногда приходится начинать новую тему вместо того, чтобы продолжить старую, куда хуже.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

там все очень просто. Модули отдают JSON. Также мы написали модуль, который поддерживал редактирование люой таблицы или просмотр VIEW. Ну и немого кастомных контролов типа графиков, деревьев итд. ExtJs все очень просто

vromanov ★★★
()
Ответ на: комментарий от KRoN73

Ты прав. Но эта тема актуальность свою и через 20 лет не потеряет! Потому что нет языка кроме ассемблера и С — пророк его!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Потому что нет языка кроме ассемблера и С — пророк его!

Ну да. Я лет 27 на них пишу. Только со временем для упрощения разработки пишешь под них свои скриптовые языки. Потом перестаёшь велосипедить и начинаешь пользоваться готовыми популярными надстройками. Так что сейчас пишу под надстройкой над Си под названием «PHP» :)

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.