Нави Тулаг – От датчика до интерфейса. Практическое руководство по созданию инженерных десктоп приложений на Python и web-технологиях (страница 6)
⭐⭐⭐⭐⭐ (Очень низкая)
⭐⭐⭐ (Средняя)
⭐⭐⭐⭐ (Низкая)
Доступ к API ОС
Ограниченный (через Python)
Полный
Полный (нативный)
Экосистема Python
✅ Полная
⚠️ Через Flask/HTTP
⚠️ Через HTTP/CLI
Идеальный сценарий
Скрипт с GUI, Data Science
Сложный продукт, команда
Лёгкая утилита
3.5. Когда что выбирать?
Инженерный чек-лист
✅ Выбирайте Python Eel, если:
Ваша логика уже на Python (pyserial, pandas, numpy).
UI простой: кнопки, графики, таблицы, логи.
Пользователи — технические специалисты (коллеги, лаборанты).
Нужно быстро: прототип за вечер, диплом за неделю.
Нет требований к нативным меню/трею.
🎯 Это выбор для 80% инженерных задач.
✅ Выбирайте Electron, если:
Нужен очень сложный UI (редакторы, IDE, дашборды).
Планируется команда разработчиков и долгосрочная поддержка.
Нативная интеграция критична (трей, меню, уведомления, автозапуск).
Пользователи — массовый рынок (публичный продукт).
Вы знаете JavaScript лучше, чем Python.
✅ Выбирайте Neutralino, если:
Размер дистрибутива критичен (< 20 МБ).
Запуск на слабых компьютерах (старые ПК в цеху, на производстве).
Простой UI, но нужна нативная интеграция (диалоги, файлы).
Хотите избежать зависимости от Node.js.
Готовы мириться с молодым сообществом.
3.6. Наша философия для этой книги
В первой книге мы рассматривали Electron, NW.js и Eel на равных. Но для инженерных задач есть нюансы:
🎯 Наша философия: Не становиться веб-разработчиком. Использовать веб-технологии как инструмент для отображения данных, оставляя Python для работы с железом.
3.7. Реальный пример: От Arduino до облака
В этой книге мы пойдём по пути постепенного усложнения:
Почему такой порядок?
Сначала Eel — потому что это самый быстрый способ для инженера получить результат.
Потом COM-порты — потому что это основная задача лабораторных приложений.
Затем IoT — потому что ESP32 открывает мир удалённого мониторинга.
В конце Electron — как альтернатива для тех, кому нужно больше возможностей.
Что мы узнали?
✅ Eel — выбор для Python-разработчиков, которым нужен GUI без погружения в JavaScript.
✅ Electron — выбор для продуктов, где важны масштабируемость, безопасность и команда.
✅ Neutralino — выбор для лёгких утилит с минимальным размером дистрибутива.
✅ Ни один из них не «лучше» — каждый решает свою задачу.
✅ Для инженерных задач Eel часто оптимален — потому что Python уже является языком инженера.
📋 Практическое задание
Представьте три разных проекта:
A) Панель для сбора данных с 4 датчиков температуры (COM-порт, графики, сохранение в CSV).
B) Веб-дашборд для мониторинга оборудования в цеху (доступ из браузера, пользователи по всей стране).
C) Лёгкая утилита для калибровки прибора (вес < 20 МБ, запуск на старом ПК в лаборатории).
Для каждого проекта:
2.a. Выберите один из трёх фреймворков.
2.b. Обоснуйте выбор двумя причинами (например: «Eel, потому что основная логика на Python и UI простой»).
Подумайте: можно ли решить ту же задачу на другом фреймворке?
→ Какие сложности возникли бы?
💡 Пример ответа:
A) Eel — логика на Python (pyserial), UI простой (графики Chart.js), пользователи — лаборанты.