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

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

>P.P.S. Можно ли запатентовать этот способ, чтобы на защите было чем козырнуть кроме свидетельства о регистрации ПО?
Уже нет. Патентовать можно только неопубликованные технологии.

Скажите, пожалуйста, в чем разница с фреймворками www.webtoolkit.eu/wt или qtwui.sourceforge.net/ (qtwui я только нагуглил и на практике его не видел)?
P.P.S. Можно ли запатентовать этот способ, чтобы на защите было чем козырнуть кроме свидетельства о регистрации ПО?
Какой способ? В статье показан самый стандартный подход, разве что был смысл использовать QtQuick вместо WebKit, то есть по сути вы собираетесь патентовать вашу лень. Я так в своём курсаче через WebKit встроил редактор с подсветкой кода Ace ибо на QtQuick пока никто не сделал редактор с автодополнением и выбора у меня просто не было.

P.S. en.wikipedia.org/wiki/Model_View_ViewModel
Вообще не вижу смысла использовать QtQuick, ведь весь интерфейс можно сделать на проверенных frontend веб-технологиях в widget-версии WebKit.
Радует, что в Qt 5.3 добавили модуль QWebSocket и теперь не придётся использовать libwebsockets.

Может быть, если пишешь чисто desktop-версию приложения с web-based интерфейсом, то и целесообразней использовать qt-мосты, но если хочется чего-то универсального и для desktop и для web, то лучше, мне кажется, использовать описанный мной подход с использованием WebSocket.
Обращаться к элементам документа в WebKit можно и без сокетов, напрямую дёргая нужные функции используя QtWebKit.experimental, хотя это справедливо для QML, в виджетах не смотрел.

Что касаемо архитектуры приложения как таковой, ничего не мешало вам сделать так (где GUI это либо обычный браузер, либо хитрый, то есть окошко без кнопок):
image

Но тогда бы на вас просто косо смотрели, так как во-первых это стандартный путь, а во-вторых писать на Qt серверную часть смысла нет, так как хайлоада здесь не ожидается, а нужные либы, которых нет в Ruby/Python/Go/Node.js/etc, можно зацепить парой лишних строк. Разве что любовь к C++ вынудила вас писать так сервер. Но тогда Qt никак не приклеить к данной работе.
Конечно можно без сокетов, но мне этот вариант не подходил, так как я не хотел писать разный js-код для desktop- и web-приложений.

Да, по вашей схеме нужен сервак на плюсах (что только усложняет мою задачу), а в моём варианте я использую только веб-сокет сервер(с приёмом данных по udp) на плюсах, а в качестве основного сервера я просто использую существующий apache.

Вообще, главной задачей было сделать двустороннюю связь сенсорной сетью. Это я сделал.

В будущем хочу связать сенсорную сеть напрямую с веб-сокет сервером по udp.
Я думал вообще избавится от qtwebkit и использовать cef, но я пока всё-таки хочу работать в одной инфраструктуре qt.
К, сожалению, идея не нова. Какой транспорт использовать и как приложения писать… Веб технологии стремительно пытается занять ту нишу, где раньше были native виджеты. В похожем направлении движется и firefox os
Идея не нова, но я таких примеров не нашёл, когда искал способ построения универсального интерфейса.
А в CUBA.Platform есть технология, которая для одного и того же кода на Java позволяет скомпилировать Desktop и Web приложения. Причём обращения к среднему слою скрыты за вызовами сервисов и на вид ничем не отличаются от локальных вызовов. Очень советую посмотреть.
НЛО прилетело и опубликовало эту надпись здесь
Значит подход вполне себе ничего.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории