{"type":"rich","version":"1.0","provider_name":"Transistor","provider_url":"https://transistor.fm","author_name":"Организованное программирование","title":"#5 Как поддерживать миллионы строк на фронтенде. Опыт Miro","html":"<iframe width=\"100%\" height=\"180\" frameborder=\"no\" scrolling=\"no\" seamless src=\"https://share.transistor.fm/e/dfcd7a3b\"></iframe>","width":"100%","height":180,"duration":4416,"description":"Чтобы создать интерактивную доску Miro, было написано миллионы строк кода. В этом выпуске вместе с Тимуром Хазамовым, разработчиком из Miro, обсуждаем сложности работы с Canvas, подходы и принципы оптимизации, различные фреймворки, включая Svelte и Solid.js, React, TypeScript и о том, как увеличить производительность.✅ Подписывайтесь на канал «Организованное программирование» в Telegram– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие)– – Смотреть в ВК Видео00:00 Canvas и как работает HTML для редактирования текста04:20 Использование нативных библиотек браузера13:46 Оптимизация в фронтенд-разработке15:45 Фреймворки: Svelte, Solid.js и React26:55 Новые инструменты: Vite и Jest28:59 Рефакторинг и оптимизация фичевых паков29:28 Увеличение производительности с помощью RSPack, работа с Webpack и обновление библиотек36:44 Инкрементальная сборка для ускорения разработки45:31 Разрешение конфликтов в Excalidraw51:31 Разработка open source проекта повлияла на карьеру и как проходят собеседования56:08 как стать НЕ обычным фронтенд-разработчиком: программирование на JavaScript01:01:04 На сколько TypeScript ускоряет разработку01:02:30 Проблемы с индексацией и типизацией в редакторе01:04:11 Сложности типизации в больших проектах01:06:42 Оптимизация проекта и использование кэшей TypeScript01:08:27 Роль команды оптимизации проекта01:11:20 инженерная культура и обмен знаниями внутри команды","thumbnail_url":"https://img.transistorcdn.com/xJ6sbDf6lXFRx9kuECQNfM79GCOXHQvXm41V-61Bx9w/rs:fill:0:0:1/w:400/h:400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS81ZDAw/NDMwOGMzMzY2MjEx/NmJmZTA3ZTg1ZjFi/MmFjYi5wbmc.webp","thumbnail_width":300,"thumbnail_height":300}