Монолитное приложение или несколько взаимодействующих?
От: x-code  
Дата: 21.05.19 06:05
Оценка:
Обдумываю одну штуку. Штука состоит из ядра, общающегося с пиринговой сетью. Ядрос на С++, просто потому что плюсах уже много написано близкого к тому что мне нужно.
К нему предполагается некий GUI, который можно написать на вебе, на Qt или на чем-то еще. Мне интересно попробовать для начала на вебе. Т.е. локальный Http сервер, доступный по 127.0.0.1:какой_то_порт. Писать эту часть можно на том же С++ (нужна хорошая библиотека, включающая легкий http сервер и веб фреймворк на плюсах) или скажем на Go (интересно попробовать, ну и вроде как в Go все это из коробки).
Ко всему этому нужна база данных, тоже локальная. Выбор например между sqlite и mysql (хотя может еще какие варианты?). В случае sqlite приложение должно быть монолитным — но зато БД полностью внутри (в этом и плюсы и минусы). У sqlite есть расширение sqlicipher для шифрования базы. В случае mysql потенциально может быть сложность с тем, что у юзера уже есть локальный mysql, но это вроде решается разводкой на разные порты. Про шифрование mysql базы не знаю, наверное что-то тоже есть.
Ко всему этому следует добавить некоторое расширение для браузера, которое должно тесно взаимодействовать с вышеописанными компонентами. В частности оно должно иметь тем или иным способом доступ к БД (напрямую или через веб-сервис?).

Смутно вырисовываются два варианта.
1. монолитное приложение на плюсах.
2. несколько приложений, общающихся как-то (как?) между собой. Ядро на плюсах, локальный веб-сервер на go, база mysql (к которой обращается и ядро и веб-сервер).

Что лучше, какие плюсы и минусы у обоих подходов?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.