реклама
Бургер менюБургер меню

Нави Тулаг – От датчика до интерфейса. Практическое руководство по созданию инженерных десктоп приложений на Python и web-технологиях (страница 6)

18

⭐⭐⭐⭐⭐ (Очень низкая)

⭐⭐⭐ (Средняя)

⭐⭐⭐⭐ (Низкая)

Доступ к API ОС

Ограниченный (через Python)

Полный

Полный (нативный)

Экосистема Python

✅ Полная

⚠️ Через Flask/HTTP

⚠️ Через HTTP/CLI

Идеальный сценарий

Скрипт с GUI, Data Science

Сложный продукт, команда

Лёгкая утилита

* Размер Eel сильно зависит от Python-зависимостей: pandas + numpy → +50 МБ, torch → +500 МБ.

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), пользователи — лаборанты.