Как стать автором
Обновить

Комментарии 19

НЛО прилетело и опубликовало эту надпись здесь

А какой толк, если это не безопасно

НЛО прилетело и опубликовало эту надпись здесь

Писать десктопные приложения

НЛО прилетело и опубликовало эту надпись здесь

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

Не хочу быть "затычкой каждой дырке", но должен заметить, что в "мертвом" Делфи, это реализовано лет 5 назад)
Смотрим компоненты для работы с REST

Hidden text

Qt 5.8 вышел в январе 2017-го, пять с половиной лет назад.

Виноват. Я не учел возраст минимальной версии. Однако, хочу исправиться
REST пакет в Delphi имеется как минимум с 2013 года
https://webdelphi.ru/2013/12/delphi-xe5-eshhyo-odin-primer-ispolzovaniya-rest-client-library/

По Qt-аналогам того, что используется конкретно в этом примере: QHttp был ещё в Qt 3.x (это начало нулевых), в более поздних версиях его заменили на QNetworkAccessManager. Причём оба были изначально асинхронные, а в примере по вашей ссылке Execute блокирующий, насколько я понимаю (на Delphi не писал уже сто лет, не знаю, как там с этим было в 2013-м, если реально не было асинхронного варианта сделать REST-запрос без запуска отдельного потока, то это никуда не годится). QJsonObject с присными появился в Qt 5.0, это 2012 год, но ещё в Qt 4.7 (2010 год) был QML с полагающимся в ECMAScript-языке JSON.parse().

Execute  - блокирующий, однако там есть ExecuteAsync.
У THTTPClient есть как блокирующие методы, так и всякие BeginGet/BeginPost и т.д. - не блокирующие.
Помимо работы с REST, эта библиотека имеет сериализатор/десериализатор JSON.

var MyObject := TJson.JsonToObject<TMyObject>('{ "field": "dd", "field2": 123 }');
var JSON := TJson.ObjectToJsonString(MyObject);

Да и создавать потоки не нужно созданием класса потока (TThread), достаточно написать

TTask.Run(
  procedure
  begin
    HTTP.Get(Url)...
  end);

НЛО прилетело и опубликовало эту надпись здесь

Так по GPLv3 почти весь Qt распространяется, даже виджеты (они, правда, ещё и по GPLv2 распространяются, но тем не менее).

НЛО прилетело и опубликовало эту надпись здесь

Почему "Для Qt6 лучше подходит msvc + CMake" ?

  1. Моё личное мнение

  2. mingw не поддерживает некоторые модули, например, QWebEngine. По крайней мере, так было у меня чуть больше года назад, и я не видел новости, чтобы что-то заработало. Так что тут лучше msvc.

  3. На Cmake собственно перешёл сам Qt. Его активно развивают. Для простых проектов всё ещё можно использовать qmake, но имхо Cmake банально мощнее.

  1. ок )

  2. согласно https://stackoverflow.com/a/34958057 для QWebEngine - ограничение гугла

  3. можно ли пару реальных примеров где cmake удобнее qmake ?

  1. Ну а какая разница, кто ограничил. Вот не пашет, и всё.

  2. Ну вот на моей работе (не могу показать по понятным причинам) использовали qmake. Но, правда сказать, там всё было плохо скорее от расдолбайства разрабов....но вообще, CMake - это унификация. А унификация - это хорошо.

Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации