LINUX.ORG.RU

Qt приложение с ядром на другом языке

 , , ,


1

6

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

Нужно, каким-то образом, наладить общение между двумя языками в пределах одного ПК. Допустим с Rust.

Пробовал FFI (при использовании языка с GC - отпадает) - боль. Ибо получается жирная(много boilerplate кода) прослойка вида: rust -> c-api -> mylib.h -> С++ враппер. Также теряются все гарантии языка.

Ну и конвертации типов тоже не бесплатны. Напоминаю, что QString - UTF-16.

RPC, любой, - тоже затратно. Ибо сериализация/десериализация может быть затратной. А данных довольно много.

Пример: есть база с кучей записей. Нужно отобразить их в проге. Ну пусть тысячу строк. Передавать их через RPC - бред. Слишком медленно. Намного быстрее из Qt подключится к базе и забрать нужные данные. Но тогда пропадает смысл в «ядре» на другом языке.

То есть Qt будет использоваться чисто как GUI. Вся логика будет «ядре». Проблема в передачи больших объемов данных.

Как решить данную задачу? Уверен, что кто-то с таким сталкивался.

★★★★★

Ну если тебе настолько нечего делать и не жаль своего времени, то пили привязку Rust к Qt:

https://github.com/rust-qt/cpp_to_rust

А так, можно просто вынести часть логики в библиотеку и использовать ее из С++ кода.

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

Биндинги не дают нужных мне возможностей.

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

Пфф. Это не может напугать ни одного действующего Си++-программиста.

Не всех, но может. Впрочем думаю, что и многих rust-ев тоже.

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