Читать онлайн «Паттерны для масштабируемых JavaScript-приложений»

Автор Эдди Османи

Паттерны для масштабируемых JavaScript-приложений

Эдди Османи

Паттерны для масштабируемых JavaScript-приложений

Паттерны для масштабируемых JavaScript-приложений

Вступление

Что из себя представляет «большое» JavaScript приложение?

Давайте обсудим вашу существующую архитектуру

Думай о будущем

Мозговой штурм

Теория модулей

Литеральная нотация объекта

CommonJS Модули

Паттерн «Фасад»

Паттерн «Медиатор»

Использование фасада: абстракция ядра

Использование медиатора: ядро приложения

Собираем всех вместе

Развитие идей медиатора: автоматическая регистрация событий

Frequently Asked Questions

Credits

Участники перевода

Паттерны для масштабируемых JavaScript-приложений

Вступление

В этой книге мы обсудим набор паттернов, который поможет вам в создании больших масштабируемых JavaScript-приложений. Материал книги основан на моем одноименном докладе, впервые прочитанном на конференции «LondonJS», и вдохновленном предшествующей ему работой Николаса Закаса.

Кто я и почему я решил об этом написать?

Меня зовут Эдди Османи. Сейчас я работаю JavaScript- и UI-разработчиком в AOL. Я занимаюсь планированием и написанием фронтенд-архитектуры для следующего поколения наших пользовательских приложений. Эти приложения весьма сложны. Они нуждаются в архитектуре, позволяющей, с одной стороны легко их масштабировать, а с другой достаточно легко использовать повторно их модули. Также я занимаюсь разработкой шаблонов, которые можно применять в разработке приложений подобного масштаба настолько качественно, насколько это вообще возможно.

Кроме того, я рассматриваю себя как евангелиста шаблонов проектирования (хотя есть много экспертов, разбирающихся в этом лучше меня). В прошлом я написал книгу «Essential JavaScript Design Patterns», а сейчас я занимаюсь написанием более подробного продолжения этой книги.

Могу ли я уместить эту книгу в 140 символов?

Я уместил эту статью в один твит, на случай, если у вас совсем мало времени:

Меньше связанности: используйте паттерны «модуль», «фасад» и «медиатор».

Модули общаются через медиатор, а фасад обеспечивает безопасность.

Что из себя представляет «большое» JavaScript приложение?

Перед тем как я начну, давайте постараемся определить, что именно мы имеем в виду, когда говорим о больших JavaScript-приложениях. Этот вопрос я считаю своего рода вызовом опытным разработчикам, и ответы на него, соответственно, получаются очень субъективными.

Ради эксперимента я предложил нескольким среднестатистическим разработчикам дать собственное определение этому термину. Один из разработчиков сказал, что речь идет о «JavaScript-приложениях, состоящих из более чем 100 000 строк кода», когда другой определил что большое приложение «содержит больше чем 1 МБ JavaScript». Я расстроил храбрецов — оба этих варианта далеки от истины. Количество кода не всегда коррелируется со сложностью приложения. 100 000 строк легко могут оказаться самым ничем не примечательным простым кодом.