Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Создание облачных, мобильных и веб-приложений на F#

Покупка
Артикул: 477134.03.99
Доступ онлайн
279 ₽
В корзину
Книга рассказывает о ключевых аспектах создания облачных, мобильных и веб-решений на языке F# в комбинации с различными технологиями для платформы .NET. На практических примерах демонстрируется, как решать проблемы конкуренции, асинхронного выполнения и другие, встречающиеся на стороне сервера. Вы узнаете, как повысить свою продуктивность с помощью языка F#, интегрируя его в существующие веб-приложения или используя его для создания новых проектов. Опытные разработчики для .NET узнают, как этот выразительный язык функционального программирования помогает писать надежные и простые в сопровождении решения, легко масштабируемые и способные адаптироваться для работы на самых разных устройствах. Издание предназначено для программистов разной квалификации, желающих использовать возможности функционального программирования в своих проектах.
Мол, Д. Создание облачных, мобильных и веб-приложений на F# : практическое руководство / Д. Мол ; пер. с англ. А. Н. Киселёва. - 2-е изд. - Москва : ДМК Пресс, 2023. - 209 с. - ISBN 978-5-89818-584-8. - Текст : электронный. - URL: https://znanium.com/catalog/product/2107948 (дата обращения: 01.12.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Создание облачных, мобильных 
и веб-приложений на F#

Дэниел Мол

Building Web, Cloud, 
and Mobile Solutions with F#

Daniel Mohl

Создание облачных, 
мобильных 
и веб-приложений на F#

Москва, 2023

Дэниел Мол

2-е издание, электронное

УДК 004.432.42F#
ББК 32.973-018.1
М74

М74
Мол, Дэниел.

Создание облачных, мобильных и веб-приложений на F# / Д. Мол ; пер. 
с англ. А. Н. Киселёва. — 2-е изд., эл. — 1 файл pdf : 209 с. — Москва : ДМК 
Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital 
Editions 4.5 ; экран 10". — Текст : электронный.

ISBN 978-5-89818-584-8

Книга рассказывает о ключевых аспектах создания облачных, мобильных и веб-решений на языке F# в комбинации с различными технологиями для платформы .NET. 
На практических примерах демонстрируется, как решать проблемы конкуренции, 
асинхронного выполнения и другие, встречающиеся на стороне сервера. Вы узнаете, 
как повысить свою продуктивность с помощью языка F#, интегрируя его в существующие веб-приложения или используя его для создания новых проектов.
Опытные разработчики для .NET узнают, как этот выразительный язык функционального программирования помогает писать надежные и простые в сопровождении решения, легко масштабируемые и способные адаптироваться для работы 
на самых разных устройствах.
Издание предназначено для программистов разной квалификации, желающих 
использовать возможности функционального программирования в своих проектах.

УДК 004.432.42F# 
ББК 32.973-018.1

Электронное издание на основе печатного издания: Создание облачных, мобильных и веб-приложений на F# / Д. Мол ; пер. с англ. А. Н. Киселёва. — Москва : ДМК Пресс, 2015. — 208 с. — 
ISBN 978-5-97060-247-8. — Текст : непосредственный.

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

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами 
защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-584-8
© 2012 Daniel Mohl
© Оформление, перевод ДМК Пресс, 2015

Содержание

Предисловие ....................................................................... 10
Для кого эта книга  .................................................................. 11
Что необходимо для опробования примеров ........................... 11
Структура книги  ...................................................................... 12
Типографские соглашения ...................................................... 13
Использование программного кода примеров ........................ 14
Safari® Books Online ................................................................ 15
Как с нами связаться ............................................................... 15
Благодарности ........................................................................ 16

Глава 1. Создание веб-приложений 
для ASP.NET MVC 4 на языке F# ...................................... 17
Шаблоны проектов F# ASP.NET MVC 4  .................................... 18
Поиск и установка шаблонов .............................................. 19
Проект на C#  ...................................................................... 20
Проект на F#  ...................................................................... 21
Global.fs ......................................................................... 21
HomeController.fs ............................................................ 23
Контроллеры и модели на F#  .................................................. 24
Контроллеры ...................................................................... 25
Модели ............................................................................... 26
Взаимодействие с базой данных ............................................. 28
Entity Framework .................................................................. 28
Извлечение данных ............................................................. 31
Извлечение данных с использованием поставщиков 
типов .................................................................................. 32
Использование преимуществ F# ............................................. 34
Переход на функциональную парадигму  ............................ 34
Конвейеры и частичное применение функций ..................... 36
Создание более функционального контроллера ................. 38

Содержание

Упрощение за счет сопоставления с образцом ................... 40
Дополнительные темы и понятия ............................................. 44
Улучшение времени отклика с помощью асинхронных 
операций ............................................................................ 44
Кеширование с применением MailboxProcessor .................. 46
Сообщения, как значения типа размеченного 
объединения .................................................................. 47
Основной агент .............................................................. 48
Использование агента CacheAgent ................................. 49
Шина сообщений ................................................................ 51
SimpleBus ....................................................................... 52
Публикация сообщений .................................................. 54
Извлечение сообщений .................................................. 56
Стиль продолжений ............................................................ 57
Создание собственных вычислительных выражений ........... 58
В заключение .......................................................................... 60

Глава 2. Создание веб-служб на языке F# ................... 62
Установка шаблона проекта WCF  ............................................ 63
Исследование получившегося решения .................................. 64
Использование службы ....................................................... 67
Погружение в записи .......................................................... 72
Создание службы ASP.NET Web API .......................................... 73
Анализ шаблона .................................................................. 74
Взаимодействие с HTTP-службой ....................................... 78
С использованием объекта HttpClient ............................. 79
Поставщик типов JSON .................................................. 82
Прежде чем покинуть ASP.NET Web API ........................... 83
Другие веб-фреймворки ......................................................... 84
Service Stack  ...................................................................... 84
Nancy .................................................................................. 87
Frank ................................................................................... 90
Тестирование своих творений ................................................. 94
Подготовка ......................................................................... 94
Улучшение тестов с применением F# .................................. 97
FsUnit .................................................................................. 99
Unquote ............................................................................ 101
NaturalSpec ....................................................................... 102
В заключение ........................................................................ 104

Содержание

Глава 3. К облакам! Использование 
преимуществ Azure ......................................................... 105
Создание и развертывание приложений F# на платформе 
Azure ..................................................................................... 106
Создание рабочей роли на F#  ............................................... 108
Введение в библиотеку Fog ................................................... 109
Взаимодействие с хранилищами данных Azure ...................... 110
Большие двоичные объекты .............................................. 110
Таблицы ............................................................................ 112
Служба хранения очередей ............................................... 114
SQL Azure .......................................................................... 115
Использование преимуществ Azure Service Bus ..................... 116
Очереди ........................................................................... 116
Темы ................................................................................. 117
Аутентификация и авторизация ............................................. 119
Аутентификация и авторизация с применением ACS ........ 120
Аутентификация на основе заявок ................................ 121
Авторизация на основе заявок .......................................... 122
Создание масштабируемых приложений ............................... 123
Создание веб-роли ........................................................... 124
PlaceOrderCommand ......................................................... 126
Рабочие роли .................................................................... 127
Рабочая роль SQL Azure  ................................................... 128
Последние штрихи ............................................................ 130
Кеширование .................................................................... 131
CDN и автоматическое масштабирование ........................ 132
Блистательные примеры на F#  ............................................. 133
{m}brace ........................................................................... 134
Cloud Numerics ................................................................. 135
Hadoop MapReduce для .NET  ............................................ 136
В заключение ........................................................................ 136

Глава 4. Создание масштабируемых мобильных 
и веб-приложений ........................................................... 137
Масштабирование с применением 
веб-сокетов ........................................................................... 138
Пример использования веб-сокетов на платформе 
.NET 4.5 и IIS 8 .................................................................. 139
Создание сервера веб-сокетов с помощью Fleck .............. 144

Содержание

SignalR .................................................................................. 147
Пример создания постоянного соединения ...................... 148
Клиент на JavaScript  ......................................................... 149
Клиент на F#  .................................................................... 150
Пример создания хаба ...................................................... 150
Серверная сторона  ..................................................... 151
Клиентская сторона ..................................................... 152
Обретаем мобильность ......................................................... 153
Способ на основе jQuery Mobile  ....................................... 153
Добавляем поддержку Windows Phone .............................. 155
Объединение F# и NoSQL ...................................................... 158
MongoDB .......................................................................... 159
RavenDB ........................................................................... 162
CouchDB ........................................................................... 163
В заключение ........................................................................ 165

Глава 5. Разработка интерфейсов 
в функциональном стиле ............................................... 166
Подготовка почвы.................................................................. 167
Знакомство с LiveScript ......................................................... 168
Преимущества .................................................................. 168
Применение ..................................................................... 169
Пример ............................................................................. 171
Исследуем Pit ........................................................................ 173
Преимущества .................................................................. 174
Применение ..................................................................... 175
Пример ............................................................................. 176
Погружение в WebSharper ..................................................... 179
Преимущества .................................................................. 180
Применение ..................................................................... 181
Пример ............................................................................. 182
В заключение ........................................................................ 184

Приложение A. Полезные инструменты 
и библиотеки ..................................................................... 186
FAKE (F# Make)...................................................................... 186
NuGEt .................................................................................... 186
Основы использования ..................................................... 187
Полезные NuGet-пекты ..................................................... 188
ExpectThat ............................................................................. 192

Содержание

Приложение B. Полезные веб-сайты .......................... 194
fssnip.net ............................................................................... 194
tryfsharp.org .......................................................................... 194
Visual Studio Gallery ................................................................ 195
jQueryMobile.com .................................................................. 195

Приложение C. Клиентские технологии, 
совместимые с F# ........................................................... 196
CoffeeScript ........................................................................... 196
Sass ...................................................................................... 197
Underscore.js ......................................................................... 200
Об авторе .............................................................................. 201

Предметный указатель ................................................... 202

Предисловие

Если проанализировать самые последние веянья в развитии информационных технологий, можно увидеть, что основным направлением является создание облачных, мобильных и веб-решений, масштабируемых в широких пределах и связанных с управлением большими объемами данных. С появлением этих направлений возникла 
потребность в инструментах, позволяющих специалистам, таким как 
вы или я, создавать собственные решения в этой области. Что для 
этого нужно? Какие архитектуры, инструменты, языки и технологии можно использовать для разработки программ, способных выполняться на самых разных устройствах и легко масштабироваться, 
и при этом обеспечить высокую надежность решений, простоту их 
сопровождения, тестирования и многократного использования?
Существует множество инструментов, отвечающих нашим потребностям, но для решения наших задач в полном объеме, их возможностей оказывается недостаточно. Чтобы получить максимальную 
отдачу, необходим язык, специально предназначенный для преодоления сложностей, возникающих в описанных областях разработки. 
Он должен иметь встроенные средства для преодоления проблем, 
связанных с конкуренцией, выполнением асинхронных операций и 
большими объемами данных, и при этом прозрачно интегрироваться 
с другими языками, технологиями и инструментами,  лучше подходящих для решения других задач. К счастью, такой язык существует 
и называется F#.
В этой книге я покажу, как использовать язык F# для реализации ключевых элементов облачных, мобильных и веб-приложений, 
и решения упомянутых проблем. Выразительность, широта возможностей, лаконичность и функциональная природа языка F#, в сочетании с уже известными вам технологиями, такими как ASP.NET 
MVC, ASP.NET Web API, WCF, Windows Azure, HTML5, CSS3, JavaScript, jQuery и jQuery Mobile, позволят вам создавать удивительные приложения, не только соответствующие, но и превосходящие 
текущие и будущие требования к ним.

Доступ онлайн
279 ₽
В корзину