Сергей Симонов - Как мы веб-редактор документов строили

  Рет қаралды 3,807

HolyJS — конференция для JavaScript‑разработчиков

HolyJS — конференция для JavaScript‑разработчиков

Күн бұрын

Ближайшая конференция - HolyJS 2025 Spring, 7-8 апреля, Москва + online. Подробности и билеты: jrg.su/gxfN4t
- -
Повесть о том, как в компании МойОфис строили веб-редактор документов.
За этим стоит не только команда самого веб-редактора: существует некое «магическое» ядро, на которое завязан весь главный функционал редакторов для разных платформ.
В докладе пойдет рассказ про глобальную архитектуру и ключевые решения, про «магию» ядра и как с ним работают в команде веб-редактора, при чем тут вообще Wasm и Emscripten. Будет затронута тема рендеринга на canvas и основные вызовы, с которыми команда сталкивается при разработке веб-редактора: работа со шрифтами, ссылками, фокусом и выделением, перформанс. В заключение немного поговорим про существующие проблемы и их потенциальные решения.
Презентация к докладу: squidex.jugru....
#js #webapp

Пікірлер: 12
@lavender_emo
@lavender_emo Жыл бұрын
=ПОШЛО ДОБРО=
@MDFireX5
@MDFireX5 11 ай бұрын
ставь лайк если подумал, что этот чел будет тренить кого ни будь в бой с Азлагором
@championtommy
@championtommy Жыл бұрын
= ну че , струячим? =
@АндрейМорозов-р8е7д
@АндрейМорозов-р8е7д 11 ай бұрын
Вопрос первый: существуют ли в вашей реализации прослойки ядра? Что я имею ввиду: - 2 слоя описано было это endpoint (устройство) и ваш core - один из которых описывает необходимую работу с view на конкретном endpoint(ios/android/web), другой обеспечивает основную работу и логику программы. Но делится ли эта логика на части? Как вы решили какой модуль/узел/сфера деятельности какому функционалу подходит. В моей голове пока идеи роятся формата, что нельзя взять и сказать построение работы с шрифтами и работа с сетью это один ... модуль/узел/сфера действия. Делятся ли они на смысловые составляющие, в паттерн или подход? Второй вопрос тоже интересен: как вы следите за версиями, дробите ли вы загрузку большого ядра и шрифтов на части внутри уже рабочего endpoint или грузите разом целиком сборку core заного? (only web) А может есть только версия ядра и версия окружения. Даже если изменения шрифтов (допустим) нет, работы с сетью/сервером тоже, только какой-то улучшен перфоманс приложения из-за улучшения внутреннего метода одного конкретного. Что-то вроде кеширования запросов, ведь воркеры сейчас позволяют подобное. (Да это усложнения нормальные такие, без них было бы проще. Но идея ведь хорошая? Облегчить трафик)
@alekseychikin
@alekseychikin Жыл бұрын
Очень круто
@Slavus54
@Slavus54 Жыл бұрын
Огонь, про алгоритм гугла здорово рассказал
@DisfigurmentOfUs
@DisfigurmentOfUs Жыл бұрын
Почему ядро отправляет команды для канваса а не буффер с результатом всех манипуляций? В канвас можно установить значения пикселей из буфера.
@АлексейСамсонов-п1п
@АлексейСамсонов-п1п Жыл бұрын
Потому что разные платформы рисуют по разному. Веб на канвасе, андроид скией, десктоп и айос я не знаю чем. Собственно отправка команд, позволяет если что подстроится под то, чем в итоге будет рисоваться, ибо клиент сам реализует эту прослойку
@transitionspostbox
@transitionspostbox Жыл бұрын
тот случай когда ты серьёзный человек, а алгоритмы тебя выдают если люди ищут алкобомжа(
@МаксимДзиба-з7и
@МаксимДзиба-з7и Жыл бұрын
Единственное триггернуло это то, что в импортозамещённый православный редактор тащится какая-то утилита(или либа) из google.
@zakharkibanov8929
@zakharkibanov8929 Жыл бұрын
Небось ещё и на неправославном Реакте из запрещённой Меты?
@АлексейСамсонов-п1п
@АлексейСамсонов-п1п Жыл бұрын
Ничгео из гугла не тащится, скорее всего вы чего-то не так поняли
Илья Бирман - Что на самом деле делает движок блога «Эгея»
47:51
HolyJS — конференция для JavaScript‑разработчиков
Рет қаралды 671
Антон Непша - Сколько памяти ест ваша вкладка?
44:47
HolyJS — конференция для JavaScript‑разработчиков
Рет қаралды 5 М.
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 158 МЛН
Quando A Diferença De Altura É Muito Grande 😲😂
00:12
Mari Maria
Рет қаралды 45 МЛН
Александр Моргунов - Разбираемся в Feature-Sliced Design
48:05
HolyJS — конференция для JavaScript‑разработчиков
Рет қаралды 7 М.
Артём Шовкин - WebAssembly в решениях СБОЛ.про
35:44
HolyJS — конференция для JavaScript‑разработчиков
Рет қаралды 525
Евгений Кучерявый - LaranaJS: настоящий SSR
45:43
HolyJS — конференция для JavaScript‑разработчиков
Рет қаралды 2,4 М.
Марат Зимнуров - Функциональное программирование в JavaScript
46:59
HolyJS — конференция для JavaScript‑разработчиков
Рет қаралды 21 М.
Quando eu quero Sushi (sem desperdiçar) 🍣
00:26
Los Wagners
Рет қаралды 15 МЛН