URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 109632
[ Назад ]

Исходное сообщение
"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."

Отправлено opennews , 13-Ноя-16 23:06 
После трёх лет разработки представлен (http://www.cutelyst.org/2016/11/10/cutelyst-1-0-0-with-stabl...) первый стабильный релиз фреймворка Cutelyst (http://www.cutelyst.org), предоставляющего средства для разработки web-приложений с использованием технологий Qt и  MVC-парадигмы в стиле Perl-фреймворка Catalyst (http://www.catalystframework.org/).  В выпуске Cutelyst 1.0.0 объявлено о стабилизации API и ABI, которые в дальнейшем будут развиваться с обеспечением обратной совместимости. Код проекта написан на языке C++ и распространяется (https://github.com/cutelyst/cutelyst/) под лицензией LGPLv2+.


Ключевым  достоинством Cutelyst является возможность быстро создавать высокопроизводительные web-приложения на языке C++, используя единую кодовую базу с уже существующими проектами. Например, для работы в виде web-приложения можно адаптировать программу, написанную для настольных или мобильных систем. Cutelyst  имеет модульную структуру и позволяет подключать различные серверные HTTP-движки и шаблонизаторы. Например, Cutelyst может использовать как встроенный HTTP-сервер Cutelyst-WSGI, так и работать под управлением внешних серверов при помощи протоколов FastCGI или uWSGI.


Для отделения кода C++ от HTML предлагается использовать шаблонизаторы ClearSilver (http://www.clearsilver.net/) и Grantlee (http://www.grantlee.org/) (синтаксис, как в Django) или генерировать вывод в формате JSON. Загрузка данных в формате JSON  автоматически транслируется в QJsonDocument. При помощи дополнительных плагинов предоставляются готовые средства для управления сеансами, аутенитификации (с поддержкой PBKDF2) и управления доступом (RoleACL). Поддерживается обработка запросов в асинхронном режиме. Для упрощения разработки приложений предоставляются средства для интеграции с QtCreator.

URL: http://www.cutelyst.org/2016/11/10/cutelyst-1-0-0-with-stabl...
Новость: http://www.opennet.ru/opennews/art.shtml?num=45487


Содержание

Сообщения в этом обсуждении
"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Admino , 13-Ноя-16 23:06 
Кто-нибудь уже собрал Qupzilla для cutelyst?

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено BlackRaven86 , 13-Ноя-16 23:31 
Отлично! Различные наработки для разработки web-приложений на Qt были уже давно. Похоже, теперь дело выходит на новый уровень.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Dragonic , 13-Ноя-16 23:35 
В идеале бы еще и QML полноценно в веб перенести

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 07:30 
https://qmlweb.github.io/

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аэропорт , 19-Ноя-16 18:52 
> https://qmlweb.github.io/

Этому далеко ещё до полноценности


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 00:50 
Ждем ассемблер, а то С++ не достаточно сурово для веба.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Акроним , 14-Ноя-16 01:45 
Для ассемблера вряд ли дождемся, но для C есть неплохие фреймворки: lwan и G-wan. Очень быстро молотят Json. Так что, для отдельных вещей, чтобы пуляли по максимуму, можно использовать.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 02:50 
JSMN лучший по скорости парсер json в добавок к G-wan. Iwan не нашёл, поделись ссылкой.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 04:23 
так Lwan же, а не iwan

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Масяня , 14-Ноя-16 20:24 
WebAssembly. Coming Soon. Feb 2017.

Скоро на всех экранах веб-макак.


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено YetAnotherOnanym , 14-Ноя-16 11:22 
Древесная лягушка с Вами не согласна.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Акроним , 14-Ноя-16 01:41 
Очень интересно будет взглянуть на результаты 14 раунда TechEmpower, который они планируют провести. Тогда все станет ясно. У них уже есть неплохой конкурент - Treefrog.

А по поводу C++ для Web. Для C++ программиста, который уже по всем граблям сходил, на C++ писать Web - одно удовольствие.


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено KonstantinB , 14-Ноя-16 04:54 
С treefrog этот cutelyst сравнивать еще рано, там уровень model вообще пока что отсутствует. А это самая небанальная часть.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Акроним , 14-Ноя-16 11:50 
> С treefrog этот cutelyst сравнивать еще рано, там уровень model вообще пока
> что отсутствует. А это самая небанальная часть.

Да и судя по https://www.techempower.com/benchmarks/previews/round13 , где Treefrog поднакачался и пульнул соревноваться с urlib, ему будет очень нелегко на него равняться =)


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено aospan , 14-Ноя-16 06:31 
13й раунд еще вроде preliminary results:
https://www.techempower.com/benchmarks/previews/round13/

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Джо , 14-Ноя-16 06:53 
Да, но зависимость от Qt + LGPL = досвидос

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 04:46 
Разработчик Cutelyst - Daniel Nicoletti - тот еще знатный бракодел.
Формула успеха:
1) я придумал что-то новое и крутое, пока что это только proof of concept, хаха
2) о, нужная вещь, давайте сразу берем в апстрим
3) слишком много багов
4) забросить проект и goto 1

KPackageKit/apper
print-manager
colord-kde
sessionK

многим эти названия не скажут решительно ничего, но КДЕ-шники, возможно, поймут мою боль.


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Ilya Indigo , 14-Ноя-16 15:22 
> KPackageKit/apper

Если забыть снести это при установки openSUSE, вместе с PA и NM, то работать на этой системе трудно.


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Led , 14-Ноя-16 21:04 
> Если забыть снести это при установки openSUSE, вместе с PA и NM, то работать на этой системе трудно.

Как раз в openSUSE PA и NM отключаются элементарно, можно даже несколькиими кликами мышкой, так что их можно даже не "сносить".


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 17:40 
> KPackageKit/apper
> print-manager
> colord-kde
> sessionK
> многим эти названия не скажут решительно ничего, но КДЕ-шники, возможно, поймут мою
> боль.

По уровню:
http://s4.pikabu.ru/post_img/2015/11/01/12/1446410235_119011...
тоже вроде как стильно и все такое, но с практической точки зрения ...


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 18:33 
классная пикча. вся сущность современного веба в одной картинке.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 08:13 
сиплюсплюс головного мозга
заболевание видимо настолько сильное
что поциент деградирует и не способен осилить нормальные технологии, предназначеные для web

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено anonymous , 14-Ноя-16 09:04 
Это нода.жс что ли нормальная технология?

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено trdm , 14-Ноя-16 10:51 
то был глас пыхпышника. Ниосилятора плюсов.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 11:11 
Пока ты будешь ашвабаждать память, появится павел дуров и быстренько напишет годный ( = денежный) стартапчик на пыхе. А ты в это время все еще будешь ашвабаждать память.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Акроним , 14-Ноя-16 11:47 
Мне кажется, для того, чтобы сравнивать что-то с С++, нужно помимо чего-то еще знать и С++. В С++ уже давно есть инструменты для автоматического освобождения памяти. Тем более в Qt это вообще заложено в структуру фреймворка.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 13:03 
Назови преимущества С++ перед пыхом/нодежс в условиях веба. Именно в плане обработки вводимых пользователем форм и прочих штук вроде выборки из базы и отображения записей. (А как правило только это и требуется.) С точки зрения бизнеса в том числе. (Чем окупится время, которое требуется для С++ в гораздо большем объеме, чем для пыха/нодежс? Как быть с конкурентами, которые напишут аналогичное на пыхе/нодежсе за пару месяцев, а не за пару кварталов? Как быть с поддержкой кода? -- пыхо/нодежс-разрабов в веб-девелопменте существенно больше, чем С++-ников)

Давай простейший пример возьмем: мне приходит строка в виде JSON. Мне надо извлечь из нее значение свойства. На JS это можно сделать за 3 секунды: JSON.parse(string).property. Как это сделать за 3 секунды на С++ и в одну строку?


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 13:25 
Не нужно спорить с хелоуворлдщиками, они об обязанностях перед заками и о конкурентах знать не знают.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Акроним , 14-Ноя-16 13:49 
На одной и той же машине, сериализация того же самого JSON:
Lwan (С): 479,281 rps
Treefrog (С++): 298,740 rps
PHP: 43,759 rps

Ответ на ваш вопрос:
QJsonDocument::fromJson(string).object()["property"]; // только это будет в (298 740/43 759 =) 6,83 раза быстрее.

Выборка из БД:
TSqlQuery q; q.prepare("SELECT * FROM table WHERE a = ?"); q.addBind("Blah");
QVariantList l;
if (q.exec()) {
  while (q.next()) { QVariantMap m; m["c1"] = q.value(0); m["c2"] = q.value(1); l << m; }
}
renderJson(l);


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено YetAnotherOnanym , 14-Ноя-16 14:01 
> Чем окупится время, которое требуется для С++ в гораздо большем объеме

Тем, что у Вас не украдут десяток-другой миллионов учётных записей?


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Crazy Alex , 14-Ноя-16 14:07 
Наивный мальчик. Всё хорошо у ноды с пыхом... до появления серьёзной бизнес-логики. А дальше - либо валить на джаву, либо, может, правда плюсы подтянутся.

Прокладку между базой и джаваскрипт-мордой - пофиг на чём писать, это да - где скорости не хватит - кэши спасут, всё равно 95% нагрузки на них держится.


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 18:33 
> Давай простейший пример возьмем: мне приходит строка в виде JSON. Мне надо извлечь из нее значение свойства. На JS это можно сделать за 3 секунды: JSON.parse(string).property. Как это сделать за 3 секунды на С++ и в одну строку?

FTR:

Json::Value value; Json::Reader().parse(string, value); value["property"];

Чуть сложнее, но вполне себе.


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено trdm , 14-Ноя-16 19:14 
> Назови преимущества С++ перед пыхом/нодежс в условиях веба.

В условиях веба понадобится меньше серверов для обслуживания сайта. Экономия за счет быстродействия.
как пример-факебук. У них свой интертрепатор PHP. Специально написали.


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 12:51 
Twitter - руби, например, изначально был.
Одноклассники - C#.
Bootcamp - Ruby.
Dropbox - Python.

Ну-ка, ну-ка?


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 13:04 
Перечисленные тобой языки как раз хороши для веба. А вот С++ изначально под него не адаптирован.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Crazy Alex , 14-Ноя-16 14:23 
> Перечисленные тобой языки как раз хороши для веба. А вот С++ изначально
> под него не адаптирован.

Плюсы изначально вообще ни под что не адаптированы. В том и их фишка - это конструктор, из которого можно собрать хоть коляску, хоть пулемёт. Взял с одной стороны - получил Qt. Взял с другой - OpenCV. Взял с третьей - ардуино. И веб там можно сделать не хуже всего прочего.

Вообще, похороны PHP/JS/Python в вебе - дело ближайших пяти лет максимум. Просто потому, что сложность задач растёт, и ей разве что питон кое-как может соответствовать - так у него со скоростью беда, плюс на больших проектах статическая типизация  и прочая "бюрократия"- необходимость. С другой стороны - C++11/14, Go, возможно Rust стали попроще, чем старые плюсы, шустры и более удобны для больших проектов. И, скорее всего, через год на них вполне можно будет писать для браузера. Или какой-то новый язык придёт, но то, во что превращаются в больших объёмах PHP и JS - это как на известной картинке - гордая конструкиця из велосипедов и костылей.


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 15:31 
> Плюсы изначально вообще ни под что не адаптированы. В том и их фишка

Ты предпочитаешь готовый набор инструментов или компоненты для изготовления инструментов? Реалии веба требуют, чтобы инструментарий уже был. А в плюсах из хлебушка трамвай еще только предстоит построить, так что сразу не покатаешься.

> дело ближайших пяти лет максимум

Нынешнее поколение будет жить при коммунизме?


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Crazy Alex , 14-Ноя-16 17:21 
Ну вот его и делают. Для тех же Ruby, PHP и прочего тоже фреймворки кто-то писал.

А так... надо просто понимать, что сложность задач растёт. И вот сейчас она уже стала такой, что "большие" языки подходят куда больше, чем скриптовые. Сейчас держит скорее инерция. Примерно как мелкая фирма может работать, не имея штатного расписания, формального распределения обязанностей и тому подобного. А когда в фирме тысяча человек - бюрократия не просто полезна, она жизненно важна. Ну вот есть такой момент роста, когда её приходится вводить - и обычно он сопровождается кучей обид и несогласий - только деваться по факту некуда.


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Crazy Alex , 14-Ноя-16 14:10 
> Twitter - руби, например, изначально был.
> Одноклассники - C#.
> Bootcamp - Ruby.
> Dropbox - Python.
> Ну-ка, ну-ка?

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



"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Admino , 14-Ноя-16 15:23 
Дай угадаю, ты никто не писал на Qt.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено trdm , 14-Ноя-16 17:33 
>  Пока ты будешь ашвабаждать память, появится павел дуров и быстренько напишет годный ( = денежный) стартапчик на пыхе. А ты в это время все еще будешь ашвабаждать память.

я её с 2011 года освобождаю. Никак не освобожу...


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 09:19 
Интересно, а в нем webview работает.
Можно написать браузер и запустить в браузере))

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 15:32 
См. GTK+ Broadway.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 14:39 
Про KDE Neon кто-нить запостит новость или нет? Где админы?
http://jriddell.org/2016/11/14/upgrade-for-kde-neon-security.../

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Ilya Indigo , 14-Ноя-16 15:25 
> Про KDE Neon кто-нить запостит новость или нет? Где админы?
> http://jriddell.org/2016/11/14/upgrade-for-kde-neon-security.../

Всё в ваших руках. Создание новостей доступно даже для анонимов.


"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Ilya Indigo , 14-Ноя-16 15:28 
Это что получается, теперь можно писать сайты на C++ и через FastCGI подключать http-серверам?
Я правильно понимаю?

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Акроним , 14-Ноя-16 16:04 
Можно через uWSGI (HTTP, FastCGI, uWSGI...) или вообще обойтись без http-сервера, использовав Internal HTTP. Сам исполняемый файл становится http-сервером.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 22:50 
Давно можно через wt.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 18:46 
Было:
Ща, допишу и залью
Становится:
Ща, допишу, скомпилю, залью

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 14-Ноя-16 19:08 
Смотрю, тут все как обычно. Срачи php vs. anything. Ребят, если вы не знаете ЗАЧЕМ используют C/C++ в вебе, а ПОЧЕМУ не используют, то идите попейте чайку.
Проект, конечно, интересный, однако, весьма странно, что поднялся тут ажиотаж, когда C/C++ веб-серверов, веб-библиотек, веб-недогенераторов было написано овердофига. А тут новость и вауля начали сраться как в нулевых =)

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Crazy Alex , 15-Ноя-16 16:28 
Потому что тут есть надежда на написание веб-приложений на чём-то вменяемом - то есть Qt.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Конь , 15-Ноя-16 19:03 
Пишите на Clojure и будет вам счастье.

"Доступен Cutelyst 1.0.0, фреймворк для разработки web-прилож..."
Отправлено Аноним , 15-Ноя-16 12:03 
WAI / Warp - наше фсё!