Centi Conf. Frontend Day
Посетил конференцию по разработке на Angular от Centicore. Один поток, шесть докладов. Рассказывали о новом и хорошо забытом старом во фронтенде.
Отмечу, что запомнилось и сухой текст разбавлю парой фоточек.
1) Computer Science во фронтенде
Иван Черняков рассказал на практических примерах, что фронтенд требует не только владения фреймворком, но и понимания алгоритмов, структур данных, сложности операций.
Используются для хранения множества булевых признаков в одном числе:
- экономия памяти
- быстрые проверки (&,|,^)
- удобно для наборов флагов (права доступа, возможности, состояния)
Примерно так же работают feature flags — только привычнее, когда флаги строковые, а не побитовые.
Актуальны там, где:
- много вставок/удалений в середине коллекции - порядок элементов важен и часто меняется
В JavaScript списки есть только абстрактно (Array≠ linked list), поэтому, когда нужен реальный O(1) на вставку — без собственной структуры не обойтись. Полезно помнить, что не всё должно быть массивом, если требуется производительность.
Это вмешательство в процесс компиляции TypeScript:
- переписывание типов и кода
- автоматическое добавление полей, проверок, метаданных
- снижение дублирования
Использование трансформеров позволяет: формализовать архитектурные правила генерировать код там, где он предсказуем и однообразен
Вывод простой: инженерный подход повышает оптимальность и масштабируемость приложений. Доклад полезен как напоминание: фронтенд — это не только фреймворки. Хорошая мотивация скинуть пыль с алгоритмических знаний.
2) Сигналы в Angular
Олег Щеголев рассказал, что нового принесли сигналы в Angular. При сухом чтении документации не возникает желания их использовать, особенно когда давно пишешь на RxJS. На примерах же становится сильно понятнее, что сигналы позволяют экономить ресурсы, перерендеры и открывают дорогу в прекрасное будущее без Zone.js :)
и закончу докладом Глеба Михеева.
3) Генеративный пользовательский интерфейс
Доклад о будущем, которое скоро наступит. А возможно уже наступило.
Пока мы по-старинке верстаем компоненты и пишем логику систем, все вокруг бежит так быстро, что ИИ делает просто нереальными попытки остающих зацепиться за реальность. Завернул.
Доклад о формировании интерфейса на основе данных и контекста. Основная идея — UI может не быть жёстко заданным, а строится динамически. Технически звучит перспективно для систем с большим количеством вариативных экранов и пользовательских сценариев.
Смысл подхода: UI не верстается вручную заранее, а формируется автоматически в момент использования — на основе данных, бизнес-правил и контекста.
В основе лежат БЯМ (большие языковые модели), которые обучаются на описанной логике, моделях данных, сценариях, ограничениях и данных о пользователе. Все остальное генерируется автоматически. Разработчик становится по-сути оператором нейросети, чтобы задавать правила построения UI, а не расположение кнопок и форм. Тут риторический вопрос, нужны-ли разработчики в этой цепочке, когда такой интерфейс может построиться бизнес-аналитиком.
Фактически для нас, как разработчиков смещается фокус.
сверстать экран → внедрить бизнес-логику → править по запросу бизнеса
описать правила → настроить компоненты → обеспечить совместимость
Пока это выглядит как направление развития интерфейсов корпоративного уровня, где стоимость изменений высока. Но попробовать хочется уже на новогодних.