DEV Community на русском
Подписаться
Обработка изображений, которая никогда не покидает устройство
Серверы традиционно требуют загрузки файлов перед обработкой, но многие повседневные задачи с изображениями могут выполняться браузерами локально. Этот подход ставит во главу угла конфиденциальность пользователя, сохраняя файлы на его устройствах, избегая серверного хранения и потенциального злоупотребления данными. В отличие от распространенных онлайн-инструментов, которые загружают, обрабатывают и скачивают, эта система избегает отправки файлов с вашей машины. Хотя первоначальное использование может потребовать загрузки моделей ИИ или декодеров, это одноразовая загрузка, а не загрузка ваших данных. Выполнение операций локально устраняет затраты для поставщика, позволяя предоставлять бесплатные, неограниченные услуги без водяных знаков. Компромиссом является повышенная зависимость от оборудования пользователя, а некоторые форматы по-прежнему требуют серверной обработки. Сегодня возможности браузеров позволяют выполнять локальное сжатие изображений, преобразование форматов, удаление фона с помощью ИИ, редактирование анимации, оптическое распознавание символов, редактирование изображений и масштабирование. Обработка документов включает сжатие PDF, преобразование в изображение или HTML, а также извлечение встроенного контента. Система определяет возможность локальной обработки путем тщательного тестирования каждой возможности в браузере пользователя. Это включает независимые проверки декодирования входных данных, обработки на холсте, кодирования выходных данных и многого другого. Функции, прошедшие эти тесты, помечаются как "мгновенные", в то время как те, которые требуют загрузки, являются клиентскими, а сбои отправляются на сервер. Некоторые форматы, такие как запись HEIC, TIFF и JPEG 2000, а также преобразование HTML в PDF, не обрабатываются локально из-за патентных проблем, непомерного размера кодировщика или сложности, и это четко указывается пользователю. Постоянной проблемой является первоначальная стоимость проверки, которая немного задерживает первую операцию; кэширование помогает, но вносит свои сложности.