[#] Гибридные приложения в Qt на примере использования D3.js
habrabot(difrex,1) — All
2015-02-24 00:30:02


D3 — [мощная JavaScript библиотека][1] для визуализации данных. На мой взгляд — просто рай для web-разработчика, казалось бы недоступный для Qt-программиста. Но гибкость фреймворка Qt позволяет интегрировать web-frontend в толстый клиент с помощью механизма [Qt Web Bridge][2]. Такие приложения получили наименование гибридные ([Qt Hybrid Apps][3]). Для JavaScript-программистов хорошая новость заключается в том, что их решения можно легко интегрировать в Desktop приложения, что потенциально может увеличить целевую аудиторию пользователей разрабатываемых библиотек (во всяком случае это верно для мира Qt приложений). На скриншоте ниже изображен виджет [Dependency Wheel][4] (Круг Зависимостей), отрисовка которого осуществляется с помощью D3.js а управление данными и отображением — с помощью Qt. При нахождении указателя над соответствующей дугой её взаимосвязи «подсвечиваются», а остальные становятся полупрозначными. Данный виджет можно использовать для визуализации различного рода зависимостей (например библиотек). В отличии от оригинального JS решения диаграмма динамически изменяет размер под размер виджета, а данные устанавливаются на стороне Qt, а не с помощью загрузки JSON-файла. Статья больше ориентирована на Qt-программистов, но также может быть интересна и JS программистам.



[Читать дальше →][5]

[1]: https://github.com/mbostock/d3/wiki/Gallery
[2]: http://qt-project.org/doc/qt-4.8/qtwebkit-bridge.html
[3]: http://www.slideshare.net/YnonPerek/hybrid-apps-with-qt
[4]: http://www.redotheweb.com/DependencyWheel/
[5]: http://habrahabr.ru/post/218389/#habracut