Нави Тулаг – От датчика до интерфейса. Практическое руководство по созданию инженерных десктоп приложений на Python и web-технологиях (страница 5)
❌ Слабые стороны для инженеров
Высокое потребление памяти: Каждое окно — отдельный процесс Chromium (~150 МБ минимум).
Большой размер дистрибутива: Минимум ~50–70 МБ даже для «Hello World».
Сложность для новичков: Нужно понимать IPC, preload, sandbox.
Требует знания Node.js: Если ваша логика на Python — придётся поднимать Flask-сервер отдельно.
🛠️ Пример из практики: Electron + Python (Flask)
Для инженеров Electron чаще всего используется в связке с Python-бэкендом:
Когда это оправдано:
Нужен очень сложный UI (редакторы, дашборды с десятками графиков).
Планируется масштабирование (команда разработчиков, версии, обновления).
Требуется нативная интеграция (трей, меню, автозапуск).
⚠️ Для большинства инженерных задач это избыточно. Electron — как стрелять из пушки по воробьям, если нужно просто читать данные с датчика.
3.3. Neutralino: «Лёгкий и современный»
📜 История и философия
Neutralino — самый молодой из трёх (появился в 2020 году). Его миссия:
Философия Neutralino:
👥 Целевая аудитория
Кто вы
Почему Neutralino вам подходит
Инженер с ограничениями
Приложение должно весить < 20 МБ
Разработчик утилит
Нужен лёгкий инструмент для коллег
IoT-энтузиаст
Планируете запуск на слабых устройствах
✅ Сильные стороны
Очень лёгкий: Дистрибутив ~2–5 МБ (в 10–20 раз меньше Electron!).
Не требует Node.js: Меньше зависимостей, проще сборка.
Системный WebView: Использует Edge WebView2 (Windows), WebKit (macOS), GTK (Linux).
Нативный API: Доступ к файловой системе, диалогам, трею — без дополнительных библиотек.
Безопасность: Песочница по умолчанию, нет Node.js в контексте.
❌ Слабые стороны
Молодое сообщество: Меньше примеров, документации, готовых решений.
Ограниченный API: Не всё, что есть в Electron, доступно «из коробки».
Требует знания JavaScript: Логика пишется на JS, Python подключается отдельно.
Меньше инструментов отладки: DevTools есть, но не такие мощные, как в Electron.
🛠️ Пример из практики: Лёгкий монитор датчиков
Когда это оправдано:
Нужно распространять среди коллег (маленький размер).
Запуск на слабых компьютерах (цех, лаборатория со старым парком).
Простой UI (кнопки, графики, логи) без сложных анимаций.
3.4. Сравнение в одном взгляде
Критерий
Python Eel
Electron
Neutralino
Основной язык
Python
JavaScript/TypeScript
JavaScript
Архитектура
Локальный сервер + браузер
Chromium + Node.js
Системный WebView
Размер дистрибутива
~30–60 МБ*
~50–150 МБ
~2–5 МБ
Потребление RAM
80–150 МБ
120–200 МБ
50–100 МБ
Сложность старта