Бэкэнд-сервисы 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, продолжается .

Другие вопросы по тегам