Сообщество RSS DEV

Как я сделал голосовой список дел, который действительно быстрый (и почему я переписал его наполовину)

Это приложение для ведения дел изначально было переусложнено, маршрутизируя все операции через бэкенд, что приводило к низкой производительности из-за чрезмерного количества вызовов API. Разработчик выбрал нативный iOS и NestJS на Google Cloud Run для фронтенда и бэкенда с Firestore для базы данных. Изначальная архитектура, обусловленная стремлением к контролю и предполагаемой безопасности, значительно замедлила работу приложения. После того, как бета-тестирование выявило медлительность, разработчик перешел к гибридному подходу, используя нативные возможности Firestore, такие как прослушиватели в реальном времени и поддержка офлайн-режима. Это означало прямой доступ к клиенту для чтения и обновления задач, используя бэкенд только для таких задач, как транскрипция и управление квотами. Изменение значительно улучшило производительность, сократив время выполнения задачи с 500-1000 мс до 50-100 мс. Новый метод использует правила безопасности Firestore для обработки авторизации, устраняя необходимость в обширной проверке на бэкенде. Это повышение производительности подчеркнуло недостатки преждевременной оптимизации и преимущества использования функций платформы. История подчеркивает, что «скучное» решение, использующее сильные стороны платформы, часто дает наилучшие результаты. Теперь приложение имеет более отзывчивый пользовательский интерфейс с более быстрым выполнением задач. Разработчик узнал, что переусложнение может помешать скорости и ценности выбора наиболее прямого метода.
favicon
dev.to
How I Made a Voice-First Todo List That's Actually Fast (And Why I Rewrote Half of It)
Изображение к статье: Как я сделал голосовой список дел, который действительно быстрый (и почему я переписал его наполовину)