 |
Разработка современных веб-приложений: анализ предметных областей и технологий
рекомендуем
Дино Эспозито
Год выпуска: 2017
Изд-во: Диалектика-Вильямс
ISBN: 978-5-9908910-3-6
Переплёт: твердый
464 страниц
Цена: 670.00 грн. Есть в наличии - дата отправки: 2 октября На 1 книгу
|
В книге "Разработка современных веб-приложений: анализ предметных областей и технологий" изложен прагматический, направленный на решение задач и ориентированный на пользователя подход к планированию, проектированию и разработке динамичных веб-приложений. Вы узнаете, как извлечь максимум пользы из предметно-ориентированного проектирования, научитесь определять оптимальную вспомогательную архитектуру и освоите современные подходы к проектированию, ориентированные на опыт взаимодействия. Автор рассматривает вопросы выбора и реализации конкретных технологий, а также основные темы, связанные с опытом взаимодействия, включая проектирование мобильных веб-приложений и адаптивное проектирование. Вы научитесь максимально эффективно использовать технологии Microsoft, такие как ASP.NET MVC и SignalR, в сочетании с другими технологиями, такими как Bootstrap, AJAX, JSON и JQuery. Используя эти технологии и освоив новую платформу ASP.NET Core 1.0, вы сможете быстро разрабатывать сложные веб-приложения, решающие насущные задачи и обеспечивающие отличный опыт взаимодействия.
Дино Эспозито, многократный обладатель звания Microsoft Most Valuable Professional, научит вас: - проектировать веб-сайты и веб-приложения, отражающие реальные социальные и бизнес-процессы; - использовать методы предметно-ориентированного проектирования для анализа и снижения сложности предметных областей; - использовать проектирование, ориентированное на опыт взаимодействия, для уменьшения затрат и выполнения требований пользователей; - реалистически сравнивать серверные и клиентские веб-парадигмы; - основам новой платформы ASP.NET Core 1.0; - упрощать разработку современных веб-страниц с помощью каркаса Bootstrap; - практичным и эффективным приемам реализации проектов ASP.NET MVC; - учитывать новые возможности реализации механизмов хранения и работы с моделями данных; - понимать преимущества, недостатки и компромиссы адаптивного веб-проектирования; - создавать истинно мобильные и оптимизированные для мобильных устройств веб-сайты.
Книга "Разработка современных веб-приложений: анализ предметных областей и технологий" предназначена для опытных разработчиков и архитекторов, желающих проектировать более эффективные веб-приложения У читателей предполагается знание основ стека для разработки веб-приложений Microsoft
Об авторе: Дино Эспозито - технический редактор и один из основателей компании Crionet, разрабатывающей веб-сайты и мобильные веб-приложения для спортивных состязаний по всей Европе. Он долгое время занимается обучением и консультированием, являясь 11-кратным обладателем звания Microsoft MVP. Эспозито - автор книг о разработке веб- и мобильных приложений, в частности Microsoft .NET: архитектура корпоративных приложений, 2-е издание (пер. с англ., ИД "Вильямс", 2016) и Architecting Mobile Solutions for the Enterprise. Он регулярно выступает на профессиональных конференциях, включая Microsoft TechEd, а также ведущих европейских симпозиумах, таких как SDD, BASTA и Devweek.
Содержание книги Дино Эспозито "Разработка современных веб-приложений: анализ предметных областей и технологий"
Об авторе 13 Введение 14 Для кого предназначена книга 15 Предположения 15 Для кого не предназначена книга... 15 Структура книги 15 С какого места лучше всего начинать чтение 16 Требования к системе 17 Загрузки 17 Благодарности 17 Ошибки, исправления и сопровождение книги 17 Свободно распространяемые электронные книги издательства Microsoft Press 18 Мы хотим вас слышать 18 Оставайтесь на связи 18
Часть I Анализ предметной области 19
Глава 1. Проведение тщательного анализа предметной области 21 Предметно-ориентированное проектирование как средство решения проблем 22 Введение в предметно-ориентированное проектирование 22 Разоблачение ошибочных представлений о предметно-ориентированном проектировании 23 Введение в единый язык 24 Выработка словаря терминов предметной области 25 Синхронизация ведения бизнеса и программирования 27 Введение ограниченного контекста 29 Выявление ограниченных контекстов 29 Реализация ограниченных контекстов 30 Введение в карты контекстов 33 Изучение отношений между ограниченными контекстами 33 Конформистское отношение и предохранительный уровень 34 Введение в событийный штурм 35 Неограниченное пространство моделирования 35 Поиск событий в предметной области 35 Ведение дискуссии 36 Резюме 36
Глава 2. Выбор вспомогательной архитектуры 39 Все зависит от бизнес-логики 39 Логика приложения 40 Логика предметной области 41 Шаблоны бизнес-логики 42 Использование единственной модели 44 Элементы объектно-ориентированной модели предметной области 45 Внедрение бизнес-правил 47 Обнаружение агрегатов 49 Роль служб предметной области 51 Реализация разделения команд и запросов 54 Работа по принципу разделения команды и запросов 54 Реализация принципа CQRS 58 Введение в архитектуру CQRS, основанную на сообщениях 61 Специальная инфраструктура 61 Источники событий 65 Резюме 68
Глава 3. Проектирование на основе опыта взаимодействия 71 Почему нисходящий подход лучше, чем восходящий 72 Основы восходящего подхода 72 Нисходящее планирование 75 Опыт взаимодействия с архитектурной точки зрения 77 UX - не UI 77 Трехэтапное объяснение UXDD 80 Почему UXDD выгоден почти всем 85 Резюме 88
Глава 4. Архитектурные возможности для разработки веб-решений 89 Оценка доступных веб-решений 90 Выбор лучшей платформы 90 Проектирование решения 91 Роль ASP.NET Core 1.0 92 ASP.NET как отправная точка 92 Архитектурные зависимости в ASP.NET Core 1.0 94 Аргументы в пользу ASP.NET Core 1.0 95 Следует ли использовать ASP.NET Web Forms 98 Общий сценарий 98 Введение в ASP.NET Web Forms 99 Что Web Forms до сих пор делает хорошо 100 Почему необходимо отказаться от Web Forms 101 Когда следует использовать ASP.NET MVC 102 Введение в ASP.NET MVC 102 Что хорошего в ASP.NET MVC 104 Слабые места ASP.NET MVC 104 Роль ASP.NET Web API 105 Переход от WCF к Web API 106 Сравнение ASP.NET Web API и ASP.NET MVC 106 Немного о REST 109 Использование каркаса Web API на платформе ASP.NET Core 1.0 109 Одностраничные приложения 110 Настройка SPA 111 Гибридное приложение SPA 111 Слабые места SPA 112 Резюме 113
Глава 5. Многоуровневая архитектура 115 Классические трехуровневые системы 115 Современная треуровневая архитектура 116 Пятьдесят оттенков серого 117 Уровень представления 118 Опыт взаимодействия 118 Модель входных данных 119 Модель представления 120 Прикладной уровень 121 Точка входа в сервер системы 122 "Оркестровка" бизнес-процессов 122 Уровень предметной области 123 Мифическая модель предметной области 124 Не менее мифическая концепция служб предметной области 125 Более прагматическое представление о моделировании предметной области 125 Уровень инфраструктуры 126 Хранение текущего состояния 127 Хранилища событий 127 Уровни кеширования 129 Внешние службы 129 Резюме 129
Часть II Разработка 131
Глава 6. Современное состояние технологии ASP.NET 133 Особенности веб 133 Веб мог быть другим 134 Победителем стал классический веб 134 Платформа ASP.NET является полнофункциональной 135 Если больше нечего добавить, значит, больше добавить нечего 135 Полная реализация потенциала или устаревание программного обеспечения? 136 В технологии ASP.NET Core 1.0 нет новых функций 137 Дело в новой среде выполнения 137 Дело в бизнес-модели 137 Дело в модели разработки 138 Каково состояние ASP.NET? 138
Глава 7. Предназначение и технические аспекты ASP.NET Core 1.0 141 Основы ASP.NET Core 142 Стоимость большого объема занимаемой памяти 142 Пересмотр роли облака как панацеи 143 Необходимость в другой модели программирования 143 Влияние на повседневную работу 144 Введение в среду выполнения ASP.NET Core 145 Хост-процесс DNX 145 Хостинг веб-приложений в DNX 147 Конвейер HTTP на платформе ASP.NET Core 149 ASP.NET Core для разработчиков ASP.NET 150 Создание нового проекта 151 Настройки приложения 158 Аутентификация 160 Другие аспекты веб-программирования 162 Резюме 165
Глава 8. Основы ASP.NET MVC 167 Маршрутизация поступающих запросов 168 Моделирование выполнения ASP.NET MVC 168 HTTP-модуль для маршрутизации URL 171 Использование маршрутов приложения 172 Класс контроллера 180 Аспекты контроллера 180 Создание классов контроллера 182 Обработка входных данных 187 Связывание параметров вручную 187 Связывание моделей 188 Создание результатов действий 194 Упаковка результатов 194 Возвращение разметки HTML 197 Возвращение контента в формате JSON 204 Резюме 205
Глава 9. Понятие о библиотеке Bootstrap 207 Введение в Bootstrap 207 LESS и основа библиотеки Bootstrap 208 Настройка библиотеки Bootstrap 210 Перспективы библиотеки Bootstrap 211 Адаптивные макеты 212 Сеточная система 213 Визуализация, зависящая от экрана 215 Таксономия современных веб-элементов 220 Изменение стиля основных элементов HTML 220 Стилизация списков элементов HTML 230 Более сложные компоненты 233 Расширения библиотеки Bootstrap 240 Автозаполнение 241 Календарь 248 Конфигурация календаря 250 Специальные компоненты 250 Резюме 255
Глава 10. Организация проекта ASP.NET MVC 257 Планирование проектного решения 257 Отображение проектов в шаблон МНОГОУРОВНЕВАЯ АРХИТЕКТУРА 258 Запуск приложения 260 Службы приложения 265 Добавление других активов 268 Создание макетов представления 269 Более эффективное обслуживание ресурсов 271 Упаковка 272 Использование минификации 277 Другие аспекты 279 Обработка ошибок 279 Настройка аутентификации пользователей 283 Резюме 287
Глава 11. Представление данных 289 Структурирование HTML-представления 289 Модель представления 290 Макет страницы 292 Визуализация элементов представления 297 Визуализация элементов списка 301 Создание сеточного представления 301 Добавление возможностей для страничной навигации 306 Добавление в элементы страницы возможностей для ее прокрутки 312 Добавление детализированного представления 315 Всплывающие представления 315 Развернутые представления 318 Резюме 321
Глава 12. Редактирование данных 323 Стандартная форма для страницы регистрации 323 Представление формы 323 Обработка отправленных данных 325 Формы ввода 327 Шаблон POST-REDIRECT-GET 328 Проверка достоверности формы 331 Введение в аннотации данных 331 Модальные формы ввода 341 Конфигурирование модальных форм 341 Быстрые подсказки для улучшения опыта взаимодействия 351 Использование календаря очень удобно, но... 351 Использование автозаполнения вместо длинных раскрывающихся списков 354 Разнообразные подсказки для больших форм ввода 356 Резюме 358
Глава 13. Хранение и моделирование данных 359 Различные модели 359 Модель хранения 360 Модель предметной области 361 Модель входных данных 363 Модель представления 364 Проектирование уровня хранения 365 Использование неявной и унаследованной модели данных 366 Использование каркаса Entity Framework 368 Шаблон РЕПОЗИТОРИЙ 373 Многоязычное хранение 375 Пример многоязычного хранения 376 Затраты, связанные с многоязычным хранением 377 Резюме 380
Часть III Опыт взаимодействия 381
Глава 14. Создание представлений с повышенной интерактивностью 383 Демонстрация контента в формате JSON 384 Создание конечных точек JSON 384 Вспомогательный метод JSON 384 Возможность перехвата данных в формате JSON 385 Согласование контента 387 Решение загадки CORS 388 Проектирование интерфейса Web API 393 Цель ASP.NET Web API 393 Web API в контексте ASP.NET MVC 394 Обеспечение безопасности автономного интерфейса Web API 396 Извлечение контента 399 Ядро Ajax 399 Связывание данных с текущей моделью DOM 404 Передача контента клиенту 407 Введение в каркас ASP.NET SignalR 408 Мониторинг удаленных задач 409 Другие сценарии для каркаса ASP.NET SignalR 412 Резюме 414
Глава 15. Преимущества и недостатки адаптивного проектирования 415 Основы адаптивного веб-проектирования 415 Краткая история RWD 416 Медиа-запросы CSS 416 RWD и независимость устройства 422 Адаптация RWD к мобильным устройствам 424 Работа с изображениями 425 Работа со шрифтами 428 Работа с ориентацией 429 Резюме 431
Глава 16. Создание мобильных версий сайтов 433 Адаптация представлений к реальным устройствам 433 Лучшие средства HTML5 для мобильных сценариев 434 Распознавание функциональных возможностей 437 Обнаружение устройства на стороне клиента 438 Взгляд в будущее 442 Изображения, адаптирующиеся к устройствам 442 Платформа ImageEngine 443 Автоматическое изменение размеров изображений 444 Обработка представлений, адаптирующихся к устройствам 445 Как наилучшим образом представить мобильный контент? 445 Вариант 1: адаптивные шаблоны HTML 446 Вариант 2: добавление разметки на стороне клиента 446 Вариант 3: создание специального мобильного сайта 446 Обнаружение устройств на стороне сервера 448 Резюме 453
Предметный указатель 455
|