что такое bff расшифровка
Что значит BFF: расшифровываем популярное английское сокращение
В русской речи появилось немало аббревиатур, которые перекочевали из английского языка. Еще лет пять назад никто не знал, что такое LOL, RIP и ASAP. Теперь же люди, которые не изучали английский в школе и с трудом могут выговорить «my name is Vasya», на автомате используют иноязычные сокращения. Сегодня мы выясним, что значит BFF, когда используется это сокращение, а также приведем примеры предложений.
Значение аббревиатуры BFF
Эти три буквы часто встречаются в англоязычных сериалах и песнях. Наиболее часто они упоминаются во время онлайн-общения: в чатах, смс-переписках и прочей виртуальной коммуникации.
Вам будет интересно: История происхождение фамилии Андреев
Что же обозначает BFF? Несложно догадаться, что это сокращение трех слов. Вот полная фраза: best friends forever. То есть «лучшие друзья навечно».
Данная фраза используется для описания крепкой дружбы, когда люди поддерживают сильную душевную близость.
Наверняка у вас есть человек, с которым всегда приятно общаться. Вы делитесь с ним сокровенными секретами, планами на далекое завтра и всегда придете ему на помощь. То есть, вы и есть BFF, лучшие друзья навечно. Также данная аббревиатура может указывать и на единственное число, best friend forever. Соответственно, перевод будет «лучшая подруга (друг)».
Примечательно, что данная фраза приемлема как для мужчин, так и для женщин. Нет разницы, к какому именно полу относится ваш лучший друг.
Примеры предложений
Чтобы лучше запомнить, что значит BFF на английском, приведем несколько примеров предложений с этим сокращением.
Где еще используется BFF?
Как было упомянуто, это сокращение чаще всего упоминается в интернет-общении. Оно характерно для неформальной речи, поэтому не допускается в научном или деловом стиле.
Интересно то, что BFF — не просто сокращение, а вполне узнаваемый бренд. Вы можете увидеть множество товаров с этими тремя буквами: футболки, чашки, кулоны, кольца, наклейки и постеры.
К примеру, девушки часто покупают парные кулоны в виде разделенного на две части сердца с надписью BFF. Или надевают так называемые браслеты дружбы с надписью «best friends forever». Смотрится такая атрибутика очень мило.
Возможно, людям, которые не знают, что такое BFF, ношение таких аксессуаров покажется ребячеством. Но согласитесь, иногда так важно знать, что у тебя есть настоящий друг, который придет на помощь, выручит и поможет добрым словом. А нехитрый браслетик или кулон напоминает о вашей крепкой дружбе.
Backend-for-Frontend: когда простого API не хватает
Технология Backend-for-Frontend упрощает разработку сервисов, с которыми одновременно работают множество разных клиентов: компьютеры, смартфоны и планшеты со всеми возможными ОС.
Подход Backend-for-Frontend (BFF) разработали в компании SoundCloud. Pуководитель департамента разработки SoundCloud Фил Калсадо (Phil Calçado) ещё в 2015 году описывал BFF как закономерный этап эволюции, которую прошли современные ИТ-продукты.
В прошлом, аналоговом мире корпоративными системами пользовались только сами компании. Чем больше развивалась цифровизация и омниканальность, тем больше фокус перемещался из корпоративной инфраструктуры вовне. Покупатели стали покупать товары онлайн и со смартфонов, бизнес-партнёры – взаимодействовать с компанией через веб-платформы. Бизнесу стало важно выстроить такую архитектуру, которая позволила бы открывать такой доступ к корпоративным ресурсам.
Разработчики начали создавать API, чтобы сторонние ИТ-сервисы могли подключиться к инфраструктуре. Недостаток этой технологии в том, что она предлагает всем один и тот же набор возможностей. Если вам нужно ограничить объём трафика на смартфонах, а пользователям планшетов предложить собственный метод ввода данных, могут начаться трудности.
Ещё сложнее была задача SoundCloud – компании нужно было интегрироваться со сторонними разработчикам, чтобы те могли встраивать плеер в свои площадки. Для этого API из коробки должно взаимодействовать с любыми платформами, а при каждом обновлении команде нужно убедиться, что доработка не сломает все эти интеграции. На практике этого добиться нереально.
Так и родилась концепция Backend-for-Frontend – легковесного сервиса, который лежит ближе к фронтенду, чем к бэку.
Возможности BFF
Ключевое слово – «легковесный», список возможностей у BFF гораздо меньше, чем у API:
Работать с микросервисами продукта и получать от них данные.
Форматировать эти данные, чтобы они корректно обрабатывались на фронтенде.
Отправлять данные фронтенду.
Компания может параллельно поддерживать несколько BFF: для пользователей на ПК, для Android, для iOS и т.д. А с точки зрения разработчиков главные преимущества – это избавление от многих технических ограничений бэкенда и ускорение выпуска фич:
Можно строить бэкенд и API от выстроенного клиентского пути и продукта, а не наоборот.
Можно уже на ранней стадии разработки согласовать контракт взаимодействия и сделать мокап, чтобы строить приложение, вызывая API.
Становится проще управлять доступом мобильного приложения к бэкенду.
Сейчас BFF в своей практике используют многие крупнейшие технологические компании – например, Netflix и Flickr. Его рекомендуют Microsoft и IBM. Мы поделимся своим опытом из одного из недавних проектов True Engineering.
Как мы используем BFF
В одном из наших мобильных приложений основным ресурсом для всех сервисов со стороны заказчика выступает сайт. За ним находится шина RabbitMQ, которая подхватывает с сайта входящие события и возвращает результат запросов.
У сайта есть API, но для мобильного приложения его функций не всегда хватало. Не углубляясь в детали, скажем, что это примерно те же трудности, о которых мы писали выше. Поэтому, когда мы запускали в приложении продажу нового продукта, мы построили собственный BFF, чтобы обрабатывать его запросы. В итоге мы можем сами отправлять сообщения Rabbit-у и читать его ответы.
Такая архитектура ускоряет обновление данных в нашем продукте, которые периодически возникали при работе через API. Раньше наш продукт получал данные из собственной БД интернет-магазина, и при работе напрямую с Rabbit просто так обновить данные было невозможно. С внедрением BFF мы запустили новый модуль Data Provider, которая позволяет не ходить в ИМ за обновлениями информации.
Вдобавок, так мы смогли организовать работу асинхронного API заказчика с нашим синхронным сервисом – логика BFF позволяет дождаться, пока обработаются все запросы, прежде чем передавать данные нашему продукту. А когда в перспективе заказчик решит своё API обновить, с нашей стороны доработки потребуются минимальные – просто переориентировать BFF на новые условия.
О чём нужно помнить, создавая BFF
BFF-сервис должен быть лёгким – в этом его главное отличие от API. Не надо прописывать в коде сложную бизнес-логику, строить БД и т.д. Приоритетом должен быть простой обмен данными.
Как мы говорили, у продукта может быть несколько BFF-сервисов под разные клиенты. Они неизбежно будут в какой-то части друг друга дублировать, но нужно следить, чтобы это не выходило за рамки разумного, иначе вы будете тратить лишние ресурсы на их поддержку.
Нужно понимать, что BFF – это что-то вроде переводчика между бэкендом и фронтендом. Поэтому безопасность, отказоустойчивость, мониторинг нужно выстраивать дополнительно.
Что такое BFF? Что означает BFF?
Наслаждайтесь LOL с вашими лучшими друзьями
BFF – это текстовая аббревиатура, показывающая цифровую привязанность в 21 веке.
BFF обозначает:
Лучшие друзья навсегда
Как BFF используется
BFF часто используется в качестве выражения подростка для девочек-подростков, чтобы выразить дух товарищества, но иногда используется взрослыми, чтобы с юмором описать своих близких друзей. Это выражение используется как в верхнем, так и в строчном формате при вводе в электронное письмо или мгновенное сообщение.
Пример использования BFF в текстовом использовании
Термин BFF появляется в текстовых сообщениях, игровых чатах и даже (обычно по иронии судьбы) в реальной беседе. В следующем примере показано, как этот термин может использоваться во время обмена текстовыми сообщениями:
Салли: Мне нужна твоя помощь.
Джейн: Что тебе нужно?
Салли: Мне нужно, чтобы ты помог нарисовать мою гостиную на следующих выходных
Салли: Я рисую гостиную. И, как мой лучший друг, ты обязан мне помочь
Салли: Да. Это универсальный закон.
Джейн: А что именно БФФ должна принести с собой на вечеринку?
Салли: просто носи свою грязную одежду и бейсболку.
Родственные сокращения
BFF похож на несколько других общих интернет-сокращений и жаргонных терминов.
Соображения
Эта аббревиатура считается случайным сленгом. Избегайте использования этого в профессиональных контекстах и не используйте его во время личной речи, если только вы не пытаетесь казаться смешным.
Что такое bff расшифровка
Полезное
Смотреть что такое «BFF» в других словарях:
Bff — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. <<
BFF — steht für: Begutachtungsstelle für Fahreignung Bundesamt für Finanzen BFF steht für: Bangladesh Football Federation, der bangladeschische Fußballverband Belaruskaja Federazyja Futbola, der weißrussische Fußballverband Bhutan Football Federation,… … Deutsch Wikipedia
BFF — may stand for: * Ben Folds Five, an American rock band * Western Nebraska Regional Airport, near Scottsbluff, Nebraska (IATA code) * best friends forever (Internet slang abbreviation) * backup file format, an AIX binary distribution package *… … Wikipedia
BFF — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. Sigles d’une seule lettre Sigles de deux lettres > Sigles de trois lettres Sigles de quatre lettres … Wikipédia en Français
BFF — Best Friends Forever (Internet » Chat) ** Best Friend Forever (Community) * Best Foot Forward (Community) * Best Female Friend (Business » Positions) * Backup File Format (Computing » File Extensions) * Boy Friend Forever (Business » Positions) * … Abbreviations dictionary
BFF — buried free flap … Medical dictionary
BFF — Scottsbluff, NE, USA internationale Flughafen Kennung … Acronyms
BfF — Bundesamt für Finanzen EN Federal Finances Office … Abkürzungen und Akronyme in der deutschsprachigen Presse Gebrauchtwagen
BfF — Abk. für ⇡ Bundesamt für Finanzen … Lexikon der Economics
Использование паттерна BFF для создания общих типов в бэкенде и фронтенде
Контракт между бэкендным сервисом и фронтендным потребителем (или клиентом) обычно является местом соединения двух миров. Такой контракт может принимать форму спецификации REST API, конечной точки GraphQL, или чего-то другого. Главное, чтобы он сообщал обеим сторонам, чего ожидать друг от друга.
Такова любовная история между бэкендом Node.js и фронтендом React. Живя в разных мирах, они нашли общий язык для общения, но этого было недостаточно — всё равно случались недопонимания: иногда один ждал, что другой скажет что-то такое, чего второй не может выразить. Такой была ситуация до недавнего времени, когда произошла генерализация TypeScript (и типов TypeScript), благодаря которой они начали говорить на одном языке.
Давайте узнаем, что такое шаблон BFF (нет, это не шаблон Best Friends Forever, как бы здорово это ни звучало), и разберёмся, как типы TS могут помочь нам создать надёжный контракт между бэком и фронтом.
Паттерн BFF
Как и другие забавные акронимы в нашей отрасли, шаблон BFF основан на концепции «Best Friends Forever», однако инженеры решили назвать его «Backend For Front-end».
Смысл этого шаблона — превращение бэкенда и фронтенда в лучших друзей, несмотря на то, что напрямую они могут и не общаться. При разработке микросервиса в бэкенде, который используется множеством клиентских приложений, его API должен быть стандартным; по сути, у всех клиентов он должен быть одинаковым. Теоретически это упрощает использование и освоение вашего сервиса другими разработчиками.
Тем не менее, иногда случается, что клиентские приложения по каким-то причинам не всегда хотят/могут исполнять контракт вашего API. Из-за этого во фронтенд нужно добавлять новую логику для парсинга и преобразования ответа в то, что он может использовать.
И здесь в игру вступает BFF: вместо того, чтобы заставлять клиентские приложения общаться напрямую с микросервисом, мы приказываем им общаться с прокси-сервисом, который занимается отправкой запроса нужному сервису и преобразует ответ в вид, который может понять фронтенд.
На самом ли деле шаблон BFF лучше, чем отсутствие шаблонов? Преимущества:
Что насчёт общих типов?
Общие типы (Shared types) — это специализация шаблона BFF, рассчитанная на TypeScript; она позволяет использовать общее определение типов в коде и фронтенда, и бэкенда.
И это потрясающе, ведь вы в буквально смысле можете избежать проблем определений между двумя командами разработчиков, предоставив им общий источник истины.
Чтобы это сработало, нужно найти способ превратить определение типов в отдельный модуль, который смогут импортировать обе команды. Это можно сделать множеством способов, например:
Что такое Bit?
Если вы о нём ещё не слышали, Bit — это open-source-инструмент (имеющий нативную интеграцию с платформой удалённого хостинга Bit.dev), помогающий создавать и делать общими независимые компоненты. Это компоненты (или модули), которые независимо разрабатываются, имеют собственные версии и над которыми можно совместно независимо работать.
Можно или создавать новые независимые компоненты с нуля, или постепенно извлекать компоненты из уже имеющейся кодовой базы.
Хотя кажется, что это ужасно похоже на NPM, есть и важные отличия:
Создание общего модуля типов
Чтобы показать красоту практического применения этого паттерна общих типов, я создам три компонента:
Исходная структура
Будем считать, что вы уже установили Bit и залогинились в платформе. Теперь потратьте две минуты на создание коллекции (также называемой «scope») и назовите её «bff» (можете выбрать любое другое имя).
Затем инициализируем рабочую среду:
Теперь можно перейти в терминал и создать первый компонент:
Создастся новый компонент на основе React-шаблона, в котором будет присутствовать бойлерплейт. Также будет создана структура папок, необходимая для новых компонентов (должна создаться папка bff и папка ui/client-app внутри неё).
Следующие два компонента нужно создать вручную, потому что у Bit пока нет для них шаблонов:
Определение типов в нашем примере будет очень простым:
Обратите внимание, что в показанный выше фрагмент кода я включил оба файла.
Код сервиса не сложнее:
Обратите внимание, что я всегда возвращаю JSON с двумя элементами внутри и использую определение типов, чтобы создаваемая структура возвращалась без потери атрибутов. Экспортированная функция newServer создаёт простой HTTP-сервер (никакого Express или чего-то подобного) и настраивает необходимые CORS-заголовки, чтобы вы могли протестировать пример сервера со своего локального хоста.
React-компонент выглядит так:
Много кода, но на самом деле здесь не происходит ничего особо сложного.
Вы уже наверно заметили две строки import и в компоненте сервера, и в React-компоненте:
Обычно это должно обозначать, что я уже опубликовал модуль общих типов и теперь импортирую его. Однако благодаря Bit это не требуется. Мне достаточно было превратить модуль в компонент, после чего Bit создаёт внутри папки node_modules символическую ссылку, указывающую на мою локальную копию. Это, в свою очередь, позволяет мне работать над другими компонентами, как будто всё уже было опубликовано.
Превращаем код в компоненты
Помните, что пока мы создали только один «официальный» компонент — React-компонент. Другие два пока представляют собой только папки с кодом. Нам нужно, чтобы Bit узнал о них, и это можно сделать так:
Интересной для нас информацией здесь является URL импорта. Можно получить его, нажав на компонент после запуска сервера, первым делом вы увидите автоматически сгенерированную строку.
Как и говорилось выше, благодаря использованию этого URL вам не нужно выполнять импорт напрямую и беспокоиться о том, на что он указывает, Bit разрешит эту зависимость за вас и вы можете разрабатывать компоненты, будучи уверенным, что этот общий код уже доступен.
Если вы хотите поделиться этой работой с другими, это тоже можно сделать через Bit:
Шаг 1 помечает все компоненты, то есть мы создаём для них версию, под которой они будут экспортироваться. Шаг 2 экспортирует компоненты в глобальный репозиторий Bit.dev. На случай, если вам захочется взглянуть, я поделился своим здесь.
Что же мы сделали?
Благодаря использованию Bit и шаблона общих компонентов мы смогли соединить бэкенд-сервис с фронтенд-приложением, обеспечив для них общее определение типов.
Но что ещё здесь произошло?
Эта связь образуется между сервером и одним клиентом — помните, BFF связывает одно клиентское приложение (или тип приложений) со специализированной версией сервера. Он не отменяет обобщённый контракт с другими клиентами, которые могут использоваться с исходной версией сервиса.
Дата-центр ITSOFT – размещение и аренда серверов и стоек в двух ЦОДах в Москве; colocation GPU-ферм и ASIC-майнеров, аренда GPU-серверов. Лицензии связи, SSL-сертификаты. Администрирование серверов и поддержка сайтов. UPTIME за последние годы составляет 100%.