Евгений Сайты › Peppers Сбер ID
Сайты, SEO и GEO, реклама, чат-боты, ИИ и дизайн | Москва
Рейтинг
9 371
№ 111 в каталоге
Отзывы
Профессионализм
9/10
Коммуникация
9 /10
Город
Москва
Опыт работы
11 лет
На сайте с
2016 года
Юридический статус
Самозанятый
Freelance.Boutique
Премиум-сервис для лучших исполнителей

Программа для Mac и Windows для фотостудии: отбор кадров клиентом на Electron JS вместо старых версий на Swing (Java) и JavaFX, работа на Mac OS и Windows

Используемые навыки Electron JS JavaFX Mac OS Mac OS X Swing (Java)

Описание

Фотостудия на Кипре снимает свадьбы, семьи и предметку для небольших брендов. После съёмки клиент садится в студии за экран и выбирает кадры для обработки. Программу для этого отбора переписал Евгений Росляков. С 2016 года делаю сайты и программы, работаю по договору как самозанятый, закрывающие документы отправляю после каждого этапа. Сам в Москве, а студия на Кипре, так что весь проект шёл удалённо.

В студии три рабочих места и два ноутбука фотографов. Администратор работает на Windows. Ретушёр сидит за старым iMac, на котором стоит Mac OS X без обновлений. У фотографов новые ноутбуки с актуальной Mac OS. Программа отбора должна была работать везде.

Первую версию лет десять назад написал знакомый программист на Swing (Java). Она умела показывать кадры, ставить отметки «в обработку» и «в печать» и считать стоимость. Потом он же начал переписывать её на JavaFX, сделал половину и пропал. Так в студии появились две программы: старая, которая работала, но выглядела как бухгалтерия начала двухтысячных, и новая, где нельзя было сохранить заказ.

На новых Mac обе версии требовали ставить отдельную Java и ругались при запуске. Клиент за экраном видел системные окна с предупреждениями, а это не тот момент, когда хочется показывать технические проблемы.

Решение

Выбрал Electron JS. Одна программа собирается для Mac и Windows, интерфейс делается обычными веб-технологиями, а с файлами на диске работает так же уверенно, как настольное приложение. Для студии было важно и то, что следующие правки сможет сделать любой веб-разработчик, а не только специалист по Java.

Сначала разобрал обе старые версии. Из Swing-версии взял логику: формат файла заказа, правила расчёта цены за кадр и пакет, отметки. Из JavaFX-версии — то немногое, что успели сделать хорошо: удобный просмотр двух кадров рядом. Ни строчки кода не переносил, но поведение повторил там, где оно нравилось студии.

Главный экран — сетка кадров съёмки. Миниатюры генерируются при импорте папки и кэшируются, поэтому съёмка на тысячу кадров открывается сразу, а не через минуту. Клиент листает стрелками, ставит сердечко на понравившиеся, сравнивает два похожих кадра рядом. Внизу всё время видно, сколько выбрано и сколько это стоит по пакету.

Интерфейс для клиента сделал отдельным режимом. В нём нет меню, настроек и путей к файлам — только кадры, отметки и кнопка «Готово». Выйти из режима может только администратор.

Заказ сохраняется в общую папку студии в том же формате, что и раньше. Ретушёр открывает его и получает список файлов для обработки. Старые заказы прошлых лет открываются без конвертации.

Сборку для Mac OS подписал и заверил через учётную запись разработчика студии, поэтому программа запускается без предупреждений системы. Для Windows сделал обычный установщик. Обновления скачиваются сами и ставятся при следующем запуске.

Результат

Клиент студии видит аккуратную программу без системных окон и предупреждений. Отбор кадров стал частью сервиса, а не технической паузой. Администратор говорит, что клиенты выбирают быстрее: сравнение рядом снимает долгие сомнения между двумя почти одинаковыми кадрами.

Вместо двух полусломанных версий одна программа на всех компьютерах, кроме одного. О нём честно.

Старый iMac ретушёра работает на Mac OS X такой давней версии, которую современный Electron не поддерживает. Обновить систему на этом железе нельзя. Ретушёр пока открывает заказы в старой программе на Swing в режиме только для чтения: формат файлов общий, поэтому это работает. Когда студия заменит компьютер, старая программа уйдёт полностью.

Код программы лежит в репозитории студии, с описанием сборки и подписи. Следующим шагом студия хочет онлайн-отбор для клиентов, которые не могут приехать. Интерфейс уже написан на веб-технологиях, поэтому его можно вынести в браузер без переделки.

Если у вас старая программа на Java, которая плохо живёт на новых Mac, напишите мне через freelance.ru. Расскажите, что она делает, и я предложу, на чём её пересобрать.

Оценили проект:

Другие проекты

Все проекты →
Маркетинг и Продвижение Продвижение в интернете бухгалтерской компании: блог, AI Content Editing, AEO и оптимизация поиска ChatGPT
Продвижение в интернете бухгалтерской компании: блог, AI Content Editing, AEO и оптимизация поиска ChatGPT
25
Маркетинг и Продвижение Продвижение в интернете для сети автомоек: анализ конкурентов, Customer Journey Map и маркетинг продукта
Продвижение в интернете для сети автомоек: анализ конкурентов, Customer Journey Map и маркетинг продукта
11
Дизайн и Брендинг Карточки товаров для маркетплейсов: инфографика для рекламы домашнего текстиля, дизайн в Photoshop и Amazon Listings Optimization
Карточки товаров для маркетплейсов: инфографика для рекламы домашнего текстиля, дизайн в Photoshop и Amazon Listings Optimization
20
Дизайн и Брендинг Иллюстрации для упаковки мороженого: цифровая живопись, серия ягодных сцен для стаканчиков, коробок и плакатов, файлы для Krita и Photoshop
Иллюстрации для упаковки мороженого: цифровая живопись, серия ягодных сцен для стаканчиков, коробок и плакатов, файлы для Krita и Photoshop
13