Паттерны для масштабируемых JavaScript-приложений ч.1
- Details
- 08 Июль 2014 11:15
Перевод статьи Эдди Османи "Patterns For Large-Scale JavaScript Application Architecture"
В этой статье мы обсудим набор паттернов, который поможет вам в создании больших масштабируемых JavaScript-приложений. Материал статьи основан на моем одноименном докладе, впервые прочитанном на конференции «LondonJS», и вдохновленном предшествующей ему работой Николаса Закаса.
Вы можете скачать эту статью в форматах: epub, mobi, fb2 и pdf.
Оглавление
- Введение
- Что представляет собой «большое» JavaScript-приложение?
- Давайте обсудим вашу существующую архитектуру
- Думай о будущем
- Мозговой штурм
- Теория модулей
- Паттерн «Модуль»
- Литеральная нотация объектов
- Модули CommonJS
- Паттерн «Фасад»
- Паттерн «Медиатор»
- Использование фасада: абстракция ядра
- Использование медиатора: ядро приложения
- Собираем все вместе
- Развитие идеи медиатора: автоматическая регистрация событий
- Часто задаваемые вопросы
- Благодарности
Введение
Кто я и почему я решил об этом написать?
Меня зовут Эдди Османи. Сейчас я работаю JavaScript и UI-разработчиком в AOL. Я занимаюсь планированием и написанием фронтенд-архитектуры для наших пользовательских приложений нового поколения. Эти приложения весьма сложны. Они нуждаются в архитектуре, позволяющей, с одной стороны легко их масштабировать, а с другой достаточно легко использовать повторно их модули. Также я занимаюсь разработкой шаблонов, которые можно применять в разработке приложений подобного масштаба настолько качественно, насколько это вообще возможно.
Кроме того, я рассматриваю себя как евангелиста шаблонов проектирования (хотя есть много экспертов, разбирающихся в этом лучше меня). В прошлом я написал книгу «Essential JavaScript Design Patterns», а сейчас я занимаюсь написанием более подробного продолжения этой книги.
Могу ли я уместить эту статью в 140 символов?
Я уместил эту статью в один твит, на случай, если у вас совсем мало времени:
Что представляет собой «большое» JavaScript-приложение?
Перед тем как я начну, давайте постараемся определить, что именно мы имеем в виду, когда говорим о больших JavaScript-приложениях. Этот вопрос я считаю своего рода вызовом опытным разработчикам, и ответы на него, соответственно, получаются очень субъективными.
Ради эксперимента я предложил нескольким среднестатистическим разработчикам дать собственное определение этому термину. Один из разработчиков сказал, что речь идет о «JavaScript-приложениях, состоящих из более чем 100 000 строк кода», когда другой определил что большое приложение «содержит больше чем 1 МБ JavaScript». Я расстроил храбрецов — оба этих варианта далеки от истины. Количество кода не всегда коррелирует со сложностью приложения. 100 000 строк легко могут оказаться самым ничем не примечательным простым кодом.
Я не знаю, подходит ли мое собственное определение к любому случаю, но я верю, что оно находится ближе всего к тому, что действительно представляет из себя большое JavaScript-приложение.
Я думаю, что последняя часть определения — самая важная.
- Tags
- Author
- Андрей Рачков
Авторизуйтесь, чтобы оставить комментарий