Нави Тулаг – От датчика до интерфейса. Практическое руководство по созданию инженерных десктоп приложений на Python и web-технологиях (страница 8)
80–150 МБ
150–250 МБ
40–80 МБ
Neutralino самый лёгкий
Сложность старта
⭐⭐⭐⭐⭐ (Очень низкая)
⭐⭐⭐ (Средняя)
⭐⭐⭐⭐ (Низкая)
Eel требует только pip install
Графики (Chart.js)
✅ Работает «из коробки»
✅ Работает «из коробки»
✅ Работает «из коробки»
Паритет: все используют веб-рендер
Режим эмуляции
✅ Легко (Python-код)
⚠️ Требует моков в JS
⚠️ Требует моков в JS
В Eel можно включить DEBUG_MODE одной переменной
IoT (MQTT)
✅ paho-mqtt (Python)
✅ mqtt.js (Node.js)
✅ mqtt.js (JS)
Eel удобнее, если обработка данных на Python
Упаковка (.exe)
PyInstaller (просто)
electron-builder (сложнее)
neu CLI (просто)
Eel привычнее для Python-разработчика
💡 Важно: Размер Eel сильно зависит от Python-зависимостей. Чистый скрипт — 30 МБ. С pandas + numpy — может вырасти до 150 МБ.
4.3. Алгоритм выбора: пошаговая инструкция
Текстовая версия алгоритма:
Шаг 1: Ваша логика на Python?
Да → Переходите к Шагу 2.
Нет → Смотрите в сторону Electron или Neutralino.
Шаг 2: Нужен ли сложный UI (анимации, редакторы)?
Нет (кнопки, графики, логи) → Python Eel.
Да → Electron (с Python-бэкендом через Flask/SocketIO).
Шаг 3: Критичен ли размер приложения (< 20 МБ)?
Да → Neutralino (но придётся писать логику на JS или поднимать Python-сервер отдельно).
Нет → Оставайтесь на Eel.
Шаг 4: Нужно ли работать с COM-портами?
Да → Eel даст самое простое решение (pyserial).
💡 Помните: вы всегда можете комбинировать подходы. Например, тяжёлые вычисления — на Python (через subprocess из Electron), UI — на React. Но для инженерных задач это часто избыточно.
4.4. Когда НИ ОДИН из трёх не подходит?
Иногда правильный ответ — не использовать ни один из них. Это нормально!
Рассмотрите альтернативы, если:
Приложение должно весить менее 5 МБ → Смотрите в сторону Tauri (Rust + WebView).
Требуется максимальная производительность (видео, 3D) → Нативная разработка (C++, C#, Qt).
Вы делаете мобильное приложение → Electron/Eel/Neutralino не работают на iOS/Android.
🌐 Примечание: Tauri — достойный конкурент Electron с размером дистрибутива ~3–5 МБ, но он требует знания Rust. Мы не включаем его в основную триаду, так как наша цель — Python и веб-технологии для инженеров.
4.5. Частые ловушки новичков
ОШИБКА
ПОСЛЕДСТВИЕ
КАК ИЗБЕЖАТЬ
Выбрать Electron для простого «считывателя COM-порта»
Пользователь скачивает 150 МБ ради одной кнопки
Спросите: «Действительно ли нужен Electron?»
Ожидать от Eel нативного меню «из коробки»
Разочарование, поиск несуществующих функций