HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Знание JavaScript и умение работать с DOM - это базовые кирпичики, на которых строится все остальное. Они необходимы, но не достаточны для создания приложений, которые хорошо работают, легко поддерживаются и расширяются. Скорее наоборот. Работа с чистым DOM без глубокого понимания принципов организации кода буквально сразу превратится в кашу.</p>
1 <p>Знание JavaScript и умение работать с DOM - это базовые кирпичики, на которых строится все остальное. Они необходимы, но не достаточны для создания приложений, которые хорошо работают, легко поддерживаются и расширяются. Скорее наоборот. Работа с чистым DOM без глубокого понимания принципов организации кода буквально сразу превратится в кашу.</p>
2 <p>Такой подход еще работает для тех разработчиков, которые делают небольшие виджеты, например, на jQuery. Но когда появится задача реализовать полноценное фронтенд-приложение, те подходы, которые использовались при создании виджетов, сразу начнут давать сбои. Достаточно добавить десяток-другой обработчиков, как код превратится в неподдерживаемую лапшу.</p>
2 <p>Такой подход еще работает для тех разработчиков, которые делают небольшие виджеты, например, на jQuery. Но когда появится задача реализовать полноценное фронтенд-приложение, те подходы, которые использовались при создании виджетов, сразу начнут давать сбои. Достаточно добавить десяток-другой обработчиков, как код превратится в неподдерживаемую лапшу.</p>
3 <p>К счастью, научиться строить архитектуру фронтенд-приложений не так сложно. Более того, все эти подходы были разработаны десятки лет назад, буквально тогда, когда только появились первые визуальные интерфейсы. Сейчас в это трудно поверить, но все уже придумано довольно давно.</p>
3 <p>К счастью, научиться строить архитектуру фронтенд-приложений не так сложно. Более того, все эти подходы были разработаны десятки лет назад, буквально тогда, когда только появились первые визуальные интерфейсы. Сейчас в это трудно поверить, но все уже придумано довольно давно.</p>
4 <p>Более того, эти подходы практически не меняются от фреймворка к фреймворку. Именно поэтому в этом курсе они даются "сырыми" без привязки к каким-то фреймворкам. Здесь рассказываются и изучаются глубинные подходы, которые являются определяющими в архитектуре.</p>
4 <p>Более того, эти подходы практически не меняются от фреймворка к фреймворку. Именно поэтому в этом курсе они даются "сырыми" без привязки к каким-то фреймворкам. Здесь рассказываются и изучаются глубинные подходы, которые являются определяющими в архитектуре.</p>
5 <p>Основные темы этого курса:</p>
5 <p>Основные темы этого курса:</p>
6 <ul><li>Управление состоянием и его организация</li>
6 <ul><li>Управление состоянием и его организация</li>
7 <li>Model-View-Controller</li>
7 <li>Model-View-Controller</li>
8 <li>Контролируемые и не контролируемые формы</li>
8 <li>Контролируемые и не контролируемые формы</li>
9 <li>Автоматное программирование</li>
9 <li>Автоматное программирование</li>
10 <li>Работа с текстами. Интернационализация, локализация, плюрализация</li>
10 <li>Работа с текстами. Интернационализация, локализация, плюрализация</li>
11 </ul><p>Чтобы эффективно изучать материалы этого курса, у вас должно быть представление о том, как работает JavaScript в браузере. Вы должны уметь взаимодействовать с DOM понимать как работать с асинхронными запросами:</p>
11 </ul><p>Чтобы эффективно изучать материалы этого курса, у вас должно быть представление о том, как работает JavaScript в браузере. Вы должны уметь взаимодействовать с DOM понимать как работать с асинхронными запросами:</p>
12  
12