Нави Тулаг – От датчика до интерфейса. Практическое руководство по созданию инженерных десктоп приложений на Python и web-технологиях (страница 4)
✅ Какая философия лежит в основе каждого фреймворка.
✅ Кто их целевая аудитория — и почему вы среди них.
✅ Какие сильные и слабые стороны у каждого для задач лаборатории.
Эта глава поможет вам не просто «выбрать фреймворк», а понять, какой язык вам использовать.
3.1. Python Eel: «Мой скрипт заслуживает интерфейс»
📜 История и философия
Eel родился в 2017 году из простой идеи:
В отличие от Electron и Neutralino, Eel не встраивает браузер. Вместо этого он:
Запускает локальный веб-сервер на Python (через bottle или gevent-websocket).
Открывает окно системного браузера (Chrome, Edge, Safari).
Связывает Python и JavaScript через HTTP/WebSocket.
Философия Eel:
👥 Целевая аудитория
Кто вы
Почему Eel вам подходит
Инженер-экспериментатор
Ваша логика уже на Python (pyserial, pandas, numpy)
Исследователь/лаборант
Нужен GUI за вечер, без изучения Node.js
Студент технической специальности
Дипломный проект с реальным железом и современным UI
Data Scientist
Визуализация результатов модели в окне приложения
✅ Сильные стороны для инженеров
Очень простой старт: 10 строк Python + 10 строк HTML = готовое приложение.
Полный доступ к экосистеме Python: pyserial, pandas, numpy, scikit-learn, opencv — всё работает «из коробки».
Минимальный порог входа: Не нужно знать JavaScript глубоко — достаточно базовых вызовов функций.
Идеален для скриптов с GUI: Панели управления, сбор данных, визуализация.
❌ Слабые стороны
Нет встроенного доступа к нативным API ОС: Нет меню, трея, уведомлений «из коробки» (требуются доп. библиотеки вроде pystray).
Ограниченные возможности UI: Сложные интерфейсы (drag-and-drop, анимации) — сложнее, чем в Electron.
Производительность вызовов: Каждый вызов Python → JS проходит через HTTP/WebSocket (не критично для 95% задач).
Сборка в .exe: Требует PyInstaller, что может быть громоздко с большими зависимостями.
🛠️ Пример из практики: Панель мониторинга Arduino
Вот как выглядит типичное Eel-приложение для инженера (из ваших проектов):
Что это даёт инженеру:
✅ Режим эмуляции — тестируйте код без Arduino
✅ Графики в реальном времени — Chart.js + Python
✅ Упаковка в .exe — PyInstaller, один файл для коллег
💡 Важно: В этой книге мы делаем ставку на Eel как основной инструмент, потому что он максимально близок к мышлению инженера: Python для логики, HTML для красоты.
3.2. Electron: «Веб-приложение как десктопный продукт»
📜 История и философия
Electron разработан в 2013 году в компании GitHub как внутренний инструмент для редактора Atom. Идея была простой:
Философия Electron:
Это делает архитектуру предсказуемой, масштабируемой и безопасной.
👥 Целевая аудитория
Кто вы
Почему Electron вам подходит
Веб-разработчик
Вы знаете JavaScript/TypeScript, React, Vue
Команда продукта
Строите сложный инструмент с долгосрочной
поддержкой
Инженер с IoT-проектом
Нужен сложный UI + облачная синхронизация
✅ Сильные стороны
Зрелая экосистема: electron-builder, DevTools, TypeScript-поддержка.
Чёткая архитектура с изоляцией процессов.
Огромное сообщество и документация.
Полный доступ к API ОС: меню, трей, уведомления, диалоги — всё «из коробки».
Поддержка всех современных веб-фреймворков: React, Vue, Svelte.