Интервью с лидерами отрасли Инвестиционная стратегия

Создание профессионального инструмента для дизайна в вебе: опыт и инновации Figma

Интервью с лидерами отрасли Инвестиционная стратегия
Building a professional design tool on the web (2015)

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

В последние годы веб-технологии стремительно развиваются, позволяя создавать всё более сложные и мощные приложения, которые раньше были доступны лишь на настольных платформах. Одним из ярких примеров этого является инструмент для профессионального дизайна Figma, который был разработан для работы непосредственно в браузере. Его создатели поставили перед собой амбициозную задачу: создать веб-приложение, способное заменить классические десктопные программы, обеспечивая высокое качество работы с интерфейсом и совместную работу дизайнеров в реальном времени. Разработка Figma стала настоящим вызовом, поскольку возможности веба на тот момент не были ориентированы на задачи профессионального проектирования. История создания и технические решения, лежащие в основе Figma, показывают, насколько далеко можно зайти благодаря смелым новаторским подходам и глубокому пониманию ограничений платформы.

Одной из ключевых трудностей стало то, что веб по своей природе изначально не задумывался как универсальная платформа для вычислений и сложной графики. Первоначально это был инструмент для отображения документов, и лишь затем поверх него начали добавлять различные разработки для создания приложений. Такие надстройки представляли собой набор отдельных API, которые часто имели узкоспециализированное назначение и не позволяли гибко использовать графические и вычислительные возможности системы. Например, касательно работы с текстом, язык стилей CSS обладает сложными алгоритмами текстового блока, однако не предоставляет разработчикам возможности управлять ими или считывать результаты для дальнейшей обработки — это создавало сложности в реализации собственных алгоритмов верстки. Что касается рендеринга, браузеры оснащены высокопроизводительными GPU-композиторами, но отсутствует доступ к самим механизмам композитинга, что ограничивает возможности по оптимизации или созданию нестандартных эффектов смешивания слоёв.

Аналогично, встроенные в браузеры декодеры изображений работают асинхронно с использованием аппаратных возможностей, но не имеют интерфейсов для управления процессом, например, чтобы корректно обрабатывать метаданные EXIF или управлять цветовым пространством изображения. Изменения в сторону универсальных примитивов на платформе всё же происходят. Со временем появились технологии, такие как WebGL и asm.js, которые позволяют обходить ограничения браузера и напрямую пользоваться возможностями оборудования. Благодаря им появились возможности создавать высокопроизводительные графические приложения прямо на вебе.

Это кардинально изменило подход: теперь разработчики не вынуждены ждать, пока платформа будет расширена нужными функциями, они могут проектировать собственные решения. Одна из важных архитектурных особенностей Figma заключается в том, что редактор написан на C++ и скомпилирован в JavaScript с помощью инструмента emscripten. Этот компилятор ориентируется на asm.js — подмножество JavaScript, которое позволяет получить программу с предсказуемым, компактным и высокоэффективным кодом. Такой подход даёт несколько заметных преимуществ.

Прежде всего, разработчики получают полный контроль над управлением памятью, что позволяет использовать компактные типы данных, например 32-битные числа с плавающей запятой или даже байты, в отличие от стандартных 64-битных чисел JavaScript. Это особенно важно в приложениях, обрабатывающих большие объёмы графических данных. Кроме того, освобождение от стандартного сборщика мусора снижает риск возникновения пауз в производительности, что обычно критично для плавности интерфейса. Все объекты в C++ размещаются в заранее выделенном массиве, что предотвращает непредвиденное торможение. Еще один значимый плюс — оптимизация кода на этапе компиляции с использованием LLVM, а также применение шаблонов C++ для генерации эффективных алгоритмов, что позволяет достичь производительности близкой к нативной, с отставанием всего в пару раз.

Такой код превращается в ассемблер-подобный, что позволяет современным движкам браузеров выполнять его быстро и стабильно. Некоторые технические проблемы всё же возникали: например, в 32-битных браузерах Chrome на Windows встречались ограничения с выделением непрерывной памяти для большого массива, что приводило к сбоям. Для решения этого была применена стратегия хранения больших ресурсов вне основного кучи, с обращением к ним через специальные указатели, что уменьшало фрагментацию и расширяло адресное пространство. Следующий этап эволюции — это WebAssembly, бинарный формат кода, который имеет ещё более быструю загрузку и парсинг, что положительно скажется на производительности приложений подобного рода. Также ожидается внедрение общей многопоточности с использованием разделяемых массивов, что позволит серьёзно увеличить параллелизм в браузерных приложениях.

Особое внимание в Figma уделялось системе рендеринга. Изначально казалось логичным использовать уже существующие браузерные механизмы: HTML, SVG или 2D Canvas API. Однако каждая из этих технологий имела существенные ограничения. HTML и SVG часто были перегружены лишними данными и плохо подходили для динамического масштабирования, кроме того, они были ориентированы больше на прокрутку, нежели на плавное зумирование, а их рендеринг мог сильно замедляться из-за работы с DOM. Кроме того, поддержка специфических эффектов, таких как маски, размытия, сложные режимы смешивания в разных браузерах была непостоянной и низкокачественной, особенно на дисплеях с высоком разрешением.

2D Canvas API, напротив, был Immediate Mode API, что заставляло каждый кадр заново загружать всю геометрию в GPU, что неэффективно и создает узкие места при сложных сценах. Работа с текстом также была непростой: разные браузеры по-разному отображали одни и те же шрифты, а поведение менялось с каждым обновлением. Для реализации собственных уникальных визуальных эффектов, таких как угловые градиенты, которые не поддерживались стандартными API, Figma создала собственный движок рендеринга на основе WebGL. Это позволило сделать систему максимально гибкой и производительной. Рендеринг выполняется полностью на GPU, с поддержкой размытий, масок, альфа-композиций и многих других эффектов, все элементы отрисовываются с высокой степенью сглаживания.

Проектировщики Figma буквально создали «браузер в браузере»: у них есть собственная модель документа, собственный композитор и даже своя система текстового лейаута, наподобие классических моделей отрисовки HTML. Несмотря на впечатляющие успехи, разработчики столкнулись и с ограничениями платформы. Некоторые функции, такие как поддержка шрифтов на уровне контуров и таблиц кернинга, на вебе по-прежнему недоступны из-за соображений безопасности и конфиденциальности. Тем не менее, ведутся работы над предоставлением доступа к этим функциям через защищённые API с запросом разрешений у пользователя. Другой болевой вопрос — поддержка сложных форматов буфера обмена, таких как .

ai или .pdf, которые не поддерживает веб-спецификация. Вставка в Figma заменяется своеобразной кодировкой внутри HTML, и разработчики мечтают увидеть расширение стандартов. Интересный нюанс — поддержка жестов на разных операционных системах и браузерах. Например, для удобства масштабирования в OS X трекпадом Chrome реализовал хитрый метод обработки события колёсика мыши с зажатой клавишей ctrl, что позволило сделать масштабирование плавным и естественным.

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

Все эти достижения доказывают, что веб давно перестал быть просто площадкой для документов и теперь способен конкурировать с традиционными средами разработки профессиональных визуальных продуктов.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюты по лучшим курсам Privatejetfinder.com (RU)

Далее
Apple Accuses Former Employee of Stealing Vision Pro Secrets
Среда, 01 Октябрь 2025 Apple обвиняет бывшего инженера в краже секретов Vision Pro: что известно о громком деле

История о том, как Apple обвинила своего бывшего сотрудника в незаконном использовании и передаче конфиденциальной информации о гарнитуре Vision Pro компании-конкуренту, раскрывает важные аспекты защиты интеллектуальной собственности и корпоративной безопасности.

Bitcoin: Kehrt Satoshi zurück? Mysteriöse Aktivität in Ur-Wallet - FinanzNachrichten.de
Среда, 01 Октябрь 2025 Биткоин: Возвращение Сатоши? Загадочная активность в первичной кошельке вызывает волну обсуждений

Последние события вокруг биткоина привлекли внимание криптосообщества — загадочная активность в самой старой, приписываемой Сатоши Накамото, кошельке вызвала множество спекуляций. В статье рассматриваются детали этой интригующей транзакции, возможное возвращение загадочного создателя, а также влияние произошедшего на рынок и будущее цифровой валюты.

Zscaler Stock Climbs 70%, With An Opportunity To Buy More
Среда, 01 Октябрь 2025 Акции Zscaler выросли на 70%: перспективы и возможности для инвесторов

Zscaler демонстрирует впечатляющий рост акций и устойчивое развитие на рынке кибербезопасности. Аналитический обзор текущей ситуации, финансовых показателей и инвестиционных перспектив компании в 2025 году.

Don’t get ‘greedy’ waiting for lower rates, Flag Luxury CFO says
Среда, 01 Октябрь 2025 Не стоит жадничать в ожидании снижения ставок: совет финансового директора Flag Luxury Group

Советы опытного финансового директора компании Flag Luxury о том, почему важно фиксировать текущие процентные ставки и не откладывать сделки в ожидании их снижения, а также как грамотно подходить к вопросам финансирования и инвестирования в условиях нестабильного рынка.

Newsmax Is Skyrocketing Today -- Is the Stock a Buy Right Now?
Среда, 01 Октябрь 2025 Акции Newsmax стремительно растут: стоит ли инвестировать прямо сейчас?

Подробный анализ текущего роста акций Newsmax и оценка инвестиционной привлекательности компании с учётом факторов рынка и финансовых показателей.

Effectiveness of trees in reducing temperature, outdoor heat exposure in Vegas
Среда, 01 Октябрь 2025 Как деревья помогают снизить температуру и защититься от жара в Лас-Вегасе

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

Erst erwacht Satoshi Nakamoto’s Wallet, dann fällt die Bitcoin-Blockchain 2 Stunden aus – Steht Chaos bevor? - 07.01.2024 - wallstreet-online
Среда, 01 Октябрь 2025 Пробуждение кошелька Сатоси Накамото и двухчасовой сбой блокчейна Биткоина: Что происходит с рынком криптовалют в 2024 году?

В начале 2024 года криптовалютный мир потрясло сразу несколько неожиданных событий — активация кошелька, приписываемого создателю Биткоина, Сатоси Накамото, и двухчасовой простой самой блокчейн-сети. Анализ этих феноменов и их потенциальное влияние на рынок, будущее Bitcoin и возможности инвесторов в новых инвестиционных инструментах.