ПредисловиеЗа свою карьеру я встречал достаточно много проектов, крупных и малых, которые страдали от огромной и запутанной кодовой базы с высоким уровнем зацепления и малой связностью, непонятной структурой, в которую весьма сложно погрузиться (на онбродинг нового сотрудника может уходить до трех месяцев) и большим количеством непонятных и громоздких компонентов, которые являются god object'ами. Стоит ли говорить, что у таких проектов имеются большие проблемы с поддержкой и развитием. Зач…
26 ноября 2024 года вышла новая мажорная версия инструмента для сборки приложений Vite. Это событие особенно примечательно тем, что это первый релиз после анонса VoidZero, где Even You представил грядущее направление развития основных продуктов.Ключевые события за год с релиза версии 5:Увеличение загрузок:Количество загрузок в неделю увеличилось с 7.5 миллионов до 17 миллионов.Развитие Vitest:Vitest также стал завоевывать новые горизонты, формируя вокруг себя экосистему. Например, StoryBook вып…
О микрофронтендах и сопутствующей концепции Model Federation на примере большого проекта.Архитектура микрофронтов до Module FederationПривет, меня зовут Степан, я главный frontend-разработчик в Альфа-Банке. Проектом, о котором пойдёт речь, занимается наша команда. Только фронтенд-разработчиков в ней 60. Множество команд поддерживают более 50 приложений, приносящих прибыль бизнесу.У нас ранее были микрофронты, но они были построены не на WMF. Не вдаваясь в документацию, давайте покажу, как всё б…
你好! Меня зовут Дмитрий, я фронтенд-разработчик в компании fuse8. Сегодня мы рассмотрим, как можно проводить валидацию кастомных компонентов в формах из UI-библиотеки ElementPlus. Если вы работали с формами в ElementPlus, то наверняка знаете, что библиотека предоставляет простой интерфейс для валидации. Но что делать, если в форме используется кастомный компонент и необходимо применить правило валидации, которое передали в форму? С этим и разберёмся. Базовый пример валидации из документации Н…
Почему мигрируемИсходный стекЖизнь до реакта — JQueryЧто такое неймспейсыReact-like контекстМиграцияПочему React?Подход к миграцииОтдельный проект — библиотека компонентовКонфигурация WebpackИнтегрируемНельзя просто так взять и мигрироватьКастомный генератор типовУправление состоянием — ZustandСтилиПесочницаЗаключениеВокруг все говорят о серверных компонентах реакта, о серверном рендеринге, и разных новшествах в мире фронтенде. Как будто JQuery в один миг взял и исчез. Несмотря ни на что он всё…
Многие компании продолжают активно использовать Excel и язык макросов VBA для обработки и анализа данных. Однако с переходом на отечественные офисные решения (например, Р7-Офис) появилась необходимость в разработке новых инструментов обработки данных на JavaScript. В ЛАНИТ мы помогаем клиентам осуществить переход на Р7-Офис и создаем макросы, которые ранее использовались в Excel. Во время этого процесса наши разработчики внимательно анализировали запросы пользователей и выявили несколько общих …
Всем привет! 13 ноября, в официальном Telegram канале Feature Sliced Design состоялся релиз новой версии архитектурной методологии. Он принёс в себе несколько важных, фундаментальных изменений, о которых мы сегодня и поговорим. Если вы не знакомы с архитектурной методологией Feature Sliced Design, можете познакомиться с ней здесь.ПредисловиеЕсли Вы не подписаны на Telegram канал FSD, вероятно Вы даже не знаете, что минорная версия методологии обновилась, так как нигде на официальном сайте (кро…
Не спорю и не критикую учебные подходы. Просто делюсь своей болью: как тавтология в примерах наследования (this.name = name) вгоняла в ступор на старте. сбитый с толку pre-juniorСейчас, когда я работаю с наследованием и понимаю контекст this, мне очевидно😎, зачем в примере используется this.name = name. Но на старте моего пути это было одной из тех вещей, которые сбивали с толку🤯.Когда видишь подобный пример:function Person(name, age, gender) { this.name = name; this.age = age; this.gende…
На протяжении многих лет сообщество веб-разработчиков накапливало знания об оптимизации производительности веб-приложений. Хотя каждая отдельная оптимизация может привести к улучшению работы сайта, совместное применение всех методов является довольно сложной задачей. Кроме того, лишь некоторые из них применимы к какому-либо конкретному сайту. Вопросы производительности могут быть не столь очевидны для тех, чья карьера не была связана с этой областью. Именно поэтому важно понимать, какие оптим…