Бэкэнд-сервисы NeutralinoJS и Tauri
Я использую Electron много лет, и мне нравится тот факт, что я могу предоставить клиентское приложение, которое имеет множество серверных сервисов (подключения к базам данных и т. Д.), Которые могут быть объединены в dmg.
Electron, однако, немного тяжеловесен, и я смотрел на NeutralinoJs и Tauri, чтобы узнать, смогу ли я сделать то же самое. Я пробовал NeutralinoJs, и он, безусловно, хорош для объединения интерфейсного приложения, но, похоже, он не имеет никакого механизма для написания серверных сервисов и написан на C++, я подозреваю, что это вряд ли произойдет.
Позволяет ли Tauri писать бэкэнд-сервисы на Rust - по документации не могу сказать.
2 ответа
Вам нужно понять, как работает NeutralinoJS.
NeutralinoJS, написанный на C++, запускает сервер на указанном порту в
neutralino.config.json
"port": 0,
порт 0 означает, что Neutralino выберет случайный порт и запустит на нем сервер, который обслуживает весь контент внутри папки, которую мы указали в файле конфигурации:
"documentRoot": "/resources/",
После запуска сервера Neutralino использует собственный API для запуска нового окна и указывает загрузить нужный URL-адрес, в нашем случае это будет
127.0.0.1
с указанным нами портом.
но так как это не может напрямую изменить наше хранилище или получить информацию о компьютере, у Neutralino есть несколько предопределенных API, написанных на C++, для просмотра и редактирования информации на нашем компьютере.
поскольку мы используем JavaScript, автор Neutralino предоставил нам мост, с помощью которого мы можем получить доступ ко всем предварительно определенным API, написанным на C++, и этот мост, который предоставляет нам все это, называется .
осуществляет всю коммуникацию между нашими
WebView
и Нейтралиновый процесс.
путь
neutralino.js
также определяется в файле конфигурации:
"clientLibrary": "/resources/js/neutralino.js",
Поэтому, если вы хотите работать с «Бэкендом», у вас есть 2 варианта: вы можете либо напрямую добавить эти API в исходный код Neutralino, либо использовать лучший способ работы с Бэкэндом в Neutralino, который называется « Расширения ».
Да, это основная функция. Вот их руководство по командам Rust, которые можно вызывать из Javascript: https://tauri.studio/en/docs/usage/guides/command
Согласно их дорожной карте, поддержка языков C-interop, таких как Go, Nim и Python, продолжается .