JWT
JSON Web Token
Подписанный токен, несущий свои данные внутри: сервер понимает, кому принадлежит запрос, не поднимая сессию. Стандарт мобильной аутентификации. Подпись доказывает, что токен не меняли, но не скрывает его содержимое.
Термины, которыми мы пользуемся, когда говорим о разработке: протоколы, возможности платформ и те слова из бизнеса, которые на поверку значат нечто вполне конкретное.
JSON Web Token
Подписанный токен, несущий свои данные внутри: сервер понимает, кому принадлежит запрос, не поднимая сессию. Стандарт мобильной аутентификации. Подпись доказывает, что токен не меняли, но не скрывает его содержимое.
OAuth 2.0 · вход через соцсети · Sign in with Apple
Стандарт, на котором держатся «Вход через Apple», Google и остальные: пользователь подтверждает доступ у провайдера, которому уже доверяет, а приложение получает токен вместо пароля. Никто не заводит новый пароль, и вы его не храните.
SSE
Односторонний поток от сервера к клиенту поверх обычного HTTP-соединения. Проще WebSocket и достаточен там, где сказать есть что только серверу: прогресс операции, ответ ИИ, приходящий по токенам.
SSL · HTTPS · Transport Layer Security
Слой шифрования под HTTPS. Он подтверждает, что сервер именно тот, о ком говорит его сертификат, согласует свежий ключ на сессию и шифрует всё дальнейшее — сеть между вами видит шифртекст и не может незаметно его изменить.
Web Real-Time Communication
Браузерный и мобильный стандарт для передачи аудио, видео и данных напрямую между двумя устройствами; серверы участвуют только в том, чтобы их познакомить. На нём строят видеозвонок внутри приложения, когда не берут готовый SDK.
Протокол, который держит одно соединение между клиентом и сервером открытым, чтобы любая сторона могла отправить данные в любой момент, а не клиент спрашивал снова и снова. На нём работают живые котировки, чаты и статусы присутствия.
Jabber · Extensible Messaging and Presence Protocol
Открытый федеративный протокол обмена сообщениями и давняя альтернатива тому, чтобы писать чат-бэкенд самому или арендовать чужой. Он расширяется до статусов присутствия, индикаторов набора и передачи файлов, а зрелые клиентские библиотеки есть под любую платформу.
Android Open Source Project
Android Open Source Project — Android без гугловского слоя сверху, который может форкнуть кто угодно. На его форках работают кассовые терминалы, киоски и автомобильные системы, а работа на этом уровне открывает части ОС, которых прикладной разработчик не видит.
Возможность Apple запустить небольшую часть iOS-приложения — до 15 МБ — не устанавливая его целиком. Вызывается по QR-коду, NFC-метке или ссылке: для случаев, когда первое действие пользователя не должно требовать похода в App Store.
Аналитическое хранилище Google Cloud. Вы направляете SQL на миллиарды строк, и они сканируются за секунды — на хранилище, отделённом от машин, которые выполняют запросы. Именно это уводит отчётность и исследование данных от базы, обслуживающей живой трафик.
Elastic · ELK
Поисковый и аналитический движок, который индексирует записи, чтобы их можно было интерактивно фильтровать и искать, а не сканировать. К нему обращаются, когда вопрос звучит как «покажи вот эти сессии с шестью фильтрами», а не «просуммируй колонку».
HCE · EMV Contactless · бесконтактные платежи
Режим, в котором Android-телефон программно изображает бесконтактную карту по NFC, без аппаратного защищённого элемента. Так платит приложение-кошелёк на терминале: телефон говорит с ним по тому же протоколу EMV Contactless, что и пластиковая карта.
Движок рендеринга, на котором Flutter работает сегодня: по умолчанию на iOS с 2023 года и на Android с 2024-го. Он компилирует шейдеры заранее, а не во время первой анимации, что убрало главную видимую проблему Flutter в проде — джанк на компиляции шейдеров.
API Google Play, который передаёт только что установленному Android-приложению параметры кампании из ссылки, приведшей к установке. Android-половина отложенного диплинкинга и надёжный способ понять, откуда пришёл пользователь.
KMP
Переиспользование бизнес-логики на Kotlin между Android, iOS и сервером при том, что интерфейс на каждой платформе остаётся нативным. Альтернатива Flutter, когда UI обязан быть нативным, а правила за ним — нет.
Skia Graphics Engine · skia-safe
Открытая 2D-графическая библиотека Google, которая рисует Chrome, Android и — до появления Impeller — каждый кадр Flutter. Она умеет выводить не только на экран, но и в PDF: именно это делает «печать в PDF» в Chrome.
deep linking · отложенный диплинкинг · Universal Links · Android App Links
Ссылка, которая открывает конкретный экран внутри установленного приложения, а не его главную или веб-страницу. Отложенный диплинкинг переживает установку: нажатие, приведшее в магазин приложений, всё равно попадает на нужный экран.
platform channels · method channel
Мост, через который Flutter-приложение вызывает нативный код iOS и Android — Keychain и Keystore, биометрию, платёжные шторки, любой SDK без Dart-пакета. Работа рутинная, но настоящая, и первое место, где споткнётся инженер, не выходивший за пределы Dart.
веерная рассылка · фан-аут
Читать источник один раз и доставлять каждое обновление всем подписанным клиентам. Наивная версия пишет подписчикам в цикле и встаёт, как только один сокет медленный; рабочая — буферизует на каждого клиента и отключает тех, кто не успевает.
Язык запросов к API, где клиент сам перечисляет нужные поля и получает один ответ ровно такой формы. Он снимает избыточную выдачу, к которой дрейфуют REST-эндпоинты, и добавляет собственный режим отказа: неограниченный запрос, обходящий всю модель данных.
безголовая CMS · контентное API
Система управления контентом с админкой и API, но без собственного фронтенда. Редакторы публикуют в одном месте, а сайт или приложение отрисовывает контент само — слой представления остаётся вашим, а не навязанным вендором CMS.
публикация/подписка · Google Cloud Pub/Sub
Шаблон обмена сообщениями: производитель публикует событие, а любое число потребителей читает его независимо, через брокер между ними. Производитель никогда их не ждёт — так путь запроса остаётся быстрым, пока более медленная работа идёт позади него.
REST API · Representational State Transfer
Общепринятый стиль HTTP-API: URL называет ресурс, а HTTP-метод говорит, что с ним сделать. Способ по умолчанию, которым приложение общается с бэкендом, и то, что ожидает найти большинство сторонних интеграций.
мультиарх-сборка · multi-arch build · linux/amd64 + linux/arm64
Один тег образа, который разрешается в разные бинарники под конкретную архитектуру процессора — обычно это пара linux/amd64 и linux/arm64, — так что один и тот же docker pull работает без изменений и на серверах Intel/AMD, и на ноутбуках с Apple Silicon.
multi-tenancy · мультиарендность · тенант
Один развёрнутый бэкенд обслуживает много клиентов, и каждый видит только свои данные, конфигурацию и включённые функции, потому что контекст арендатора разрешается на каждый запрос. Именно это делает флот брендированных приложений одним продуктом, а не набором форков.
S3 · S3-совместимое хранилище · блоб-хранилище
Хранилище, которое держит файл целиком под ключом, а не в дереве файловой системы, — Amazon S3 и множество сервисов, говорящих на его API. Дёшево, практически безгранично и обычно хранит сырые события, бэкапы и медиа: записали один раз, читают редко, лежит вечно.
реестр образов · Docker registry · GHCR · ghcr.io · container registry
Хранилище образов контейнеров, адресуемых по имени и тегу, — Docker Hub, GitHub Container Registry или собственный реестр облачного провайдера. Публикация сборки туда превращает «у меня работает» в образ, который любой может скачать и запустить без изменений.
SSR · server-side rendering
Сборка страницы в готовый HTML на сервере, чтобы первый же ответ содержал текст, заголовки, мета-теги и разметку данных. Краулеры, превью ссылок и медленные устройства читают это, не выполняя JavaScript.
E2EE · end-to-end encryption · оконечное шифрование
Шифрование, которое накладывается на устройстве отправителя и снимается только на устройстве получателя, так что сервис-переносчик не может прочитать сообщение — ни по решению суда, ни после взлома. Оно защищает содержимое и никогда метаданные.
state management · BLoC · Riverpod
То, как приложение решает, где живёт значение, кому позволено его менять и какие части экрана перерисовываются, когда оно меняется. Во Flutter выбор между Riverpod, BLoC и Provider — одно из первых архитектурных решений и одно из самых трудных для пересмотра.
IEEE 754 · double · плавающая запятая
Двоичный формат IEEE 754, стоящий за double и float. Он не хранит 0.1 точно, поэтому 0.1 + 0.2 даёт 0.30000000000000004 — незаметно в графике и фатально в деньгах, которым место в целых минорных единицах или в decimal-типе.
CI · непрерывная интеграция · непрерывная поставка
Автоматизация, которая собирает, тестирует и выкладывает каждое изменение без ручного запуска команд. На мобильных это то, что превращает релиз в нажатие кнопки вместо полудня ожидания, пока освободится нужный человек.
devcontainer.json · Dev Containers · VS Code Dev Containers
Среда разработки, описанная один раз в devcontainer.json — ОС, инструменты и версии рантаймов, которые нужны проекту, — и открываемая одинаково внутри контейнера в редакторе любого участника, вместо инструкции по установке, которую каждый понимает по-своему.
Общий регламент по защите данных · General Data Protection Regulation
Регламент ЕС о персональных данных людей в ЕС: законное основание для сбора, настоящее согласие на трекинг, право увидеть и удалить свои данные. Он следует за вашими пользователями, а не за вашими серверами, — где зарегистрирована компания, значения не имеет.
golden test · золотой тест · скриншотный тест
Тест, который отрисовывает виджет и сравнивает результат попиксельно с эталонным изображением. Во Flutter это самый дешёвый способ узнать, не сломал ли редизайн пустое состояние на 320pt, в тёмной теме, при 200% масштабе текста.
Health Insurance Portability and Accountability Act
Закон США о защищённой медицинской информации: как её можно хранить, передавать, логировать и раскрывать. Как и PCI-DSS, это архитектурное ограничение, которое выбирают в начале, а не документ, который дописывают перед запуском.
Know Your Customer · AML · KYC/AML
Know Your Customer — проверка личности, которую регулируемый финансовый продукт обязан провести, прежде чем позволить двигать деньги: съёмка документов, liveness, санкционные и антиотмывочные списки. На онбординг это влияет сильнее любого дизайн-решения.
PCI DSS · Payment Card Industry Data Security Standard
Стандарт безопасности карточной индустрии, обязательный для всех, кто хранит, обрабатывает или передаёт данные карт. Большинство приложений намеренно остаются вне его области, отдавая ввод карты сертифицированному платёжному провайдеру.
инъекция промпта · инъекция в промпт
Атака, при которой текст от пользователя языковая модель читает как инструкции, а не как данные, и уходит в обход собственных правил. Родственник SQL-инъекции в эпоху LLM: возникает везде, где пользовательский ввод склеивается в промпт.
SOC2 · System and Organization Controls
Отчёт внешнего аудитора о том, как компания обращается с данными клиентов — безопасность, доступность, конфиденциальность, — а не сертификат, который можно купить. Корпоративные заказчики его требуют, а на архитектуру он влияет задолго до самого аудита.
rate limiting · рейт-лимит · троттлинг
Предел на число запросов от одного вызывающего за интервал. Именно он не даёт одному увлечённому пользователю, скраперу или боту потратить месячный бюджет платного API за вечер, и стоять он должен на вашей стороне интеграции.
staged rollout · phased release · канареечный релиз
Релиз сначала на небольшой процент пользователей и расширение только тогда, когда доля сессий без падений держится. Плохая сборка, пойманная на десяти процентах, — испорченный вечер; она же на ста процентах — испорченная неделя.
feature flags · фиче-флаги · feature toggle
Переключатели, которые включают и выключают функциональность из конфигурации, а не из релиза. Один бинарник ведёт себя по-разному для разных брендов, рынков и пользователей, а рискованную фичу можно погасить, не отправляя новую сборку на ревью.
минимально жизнеспособный продукт · minimum viable product
Наименьшая версия продукта, которую можно показать реальным пользователям и всё ещё получить ответ на вопрос, ради которого он строился. Решение об объёме, а не о качестве: MVP всё равно обязан работать.
PMF · соответствие продукта рынку
Момент, когда продукт доказуемо нашёл своих людей: они им пользуются, возвращаются и платят. До него инженерия отвечает на вопрос, после — на спрос.
аутстаффинг · расширение команды · выделенные разработчики
Модель найма, при которой инженеры внешнего партнёра входят в вашу команду и работают под вашим управлением — в вашем репозитории, ваших спринтах, вашем процессе, — а не сдают отдельный проект. Вы покупаете мощность; код и контекст остаются у вас.
TTM · время выхода на рынок
Время от решения строить продукт до момента, когда им пользуются настоящие люди. Большинство споров о стеке и объёме — на самом деле споры об этом числе: каждая сэкономленная неделя это неделя выручки, обратной связи и позиции на рынке.
белый лейбл · мультитенантное приложение
Один продукт, выпускаемый под многими брендами. White-label платформа собирает каждому клиенту готовое к публикации приложение со своим названием, оформлением и контентом из общей кодовой базы, а не форкает проект под заказчика.
in-app purchase · IAP · внутренние покупки
Продажа цифровых товаров и подписок через биллинг Apple и Google, который оба стора требуют для цифрового контента и с которого берут комиссию. Сложность никогда не в самой покупке, а в её восстановлении на новом устройстве и в честном состоянии доступа.
TCO · total cost of ownership
Во что продукт обходится за всю жизнь, а не только на этапе разработки: поддержка, обновления, ежегодные миграции на новые ОС и правила сторов, вторая команда ради второй кодовой базы. Обычно больше сметы на разработку и почти никогда в неё не входит.
Если один из этих терминов у вас в планах, а не в списке чтения, мы, скорее всего, уже это делали.
Обсудить задачу