Создание web-приложений в Silverlight
Лоран Буньон
Silverlight - новая революционная технология разработки пользовательских веб-интерфейсов, созданная корпорацией Майкрософт на основе Windows Presentation Foundation (WPF). В приложениях Silverlight используется язык разметки XAML при поддержке таких инструментов, как Expression Design и Expression Blend. Это дает возможность реализовывать поразительные эффекты (градиенты, композиции, анимации). Помимо богатого набора элементов управления, Silverlight позволяет использовать не только язык JavaScript, но также С# и VB.
Silverlight предоставляет вам всю мощь .NET на различных платформах (Internet Explorer и Firefox для Windows, Firefox и Safari для Macintosh и Firefox для Linux). Автор на многочисленных примерах помогает очень быстро овладеть основами этой современной технологии.
Издательство: ДМК Пресс, 2012 г.
ISBN 978-5-94074-307-1
Количество страниц: 528.
Содержание книги «Создание web-приложений в Silverlight»:
- 19 Предисловие
- 20 Об авторе
- 21 Посвящение
- 22 Благодарности
- 23 В помощь читателям
- 24 Введение
- 25 О примерах кода
- 25 Старше на год
- 26 Глава 1. Введение в Silverlight
- 27 Истоки технологии Silverlight
- 27 Автоматизация веб-страниц с помощью языка JavaScript
- 28 Каскадные таблицы стилей
- 29 Переход к DHTML
- 29 AJAX – более развитый способ коммуникации
- 30 Использование сторонних надстроек
- 30 Java-апплеты
- 31 Элементы управления ActiveX
- 31 Flash-приложения
- 32 Работа на разных платформах
- 33 Веб-приложения и безопасность
- 34 Знакомство с Silverlight.net
- 34 Что необходимо для запуска Silverlight?
- 35 Автоматическое обновление среды исполнения
- 36 Познакомимся с демонстрационными приложениями Silverlight
- 36 Поиграем в шахматы против Silverlight
- 37 Планирование путешествия с помощью приложения Airline
- 38 Панорамирование харддрокккафе
- 39 Где найти дополнительные демонстрации
- 39 Что необходимо для разработки приложений Silverlight?
- 40 Expression Studio
- 40 Visual Studio 2008
- 41 Чтение документации
- 41 Просмотр онлайновой документации
- 41 Поиск дополнительной документации
- 42 Учебные пособия
- 42 Заглянем в будущее Silverlight
- 43 Считать ли ASP.NET/HTML/JavaScript покойниками?
- 43 Резюме
- 27 Истоки технологии Silverlight
- 44 Глава 2. Знакомство с XAML
- 44 Использование XML для представления данных
- 45 XML и пользовательские интерфейсы
- 46 Пространства имен в XML
- 47 Определение дополнительных пространств имен
- 48 Создание элемента Canvas с дочерними элементами
- 49 Присоединенные свойства: Canvas.Left и Canvas.Top
- 49 Документирование разметки с помощью XML-комментариев
- 50 Тестирование XAML-разметки
- 50 Использование SilverlightPad
- 51 Использование KaXaml
- 52 Задание свойств в XAML
- 54 Изменение кисти
- 55 Описание сцен в XAML
- 57 Меньше вводить, экономить место
- 57 Резюме
- 44 Использование XML для представления данных
- 59 Глава 3. Трансформации и анимации в XAML
- 59 Трансформация визуальных элементов
- 61 Типы трансформаций
- 61 Трансформация RotateTransform
- 61 Трансформация TranslateTransform
- 62 Трансформация ScaleTransform
- 63 Трансформация SkewTransform
- 64 Трансформация MatrixTransform
- 65 Композиция трансформаций
- 66 Создание простой анимации
- 68 Составные элементы анимации
- 69 Добавление анимации масштабированием
- 70 Использование других типов анимаций
- 71 Навигация по пути к свойству
- 72 Развертывание сцены на веб-странице
- 72 Резюме
- 73 Глава 4. Самовыражение с помощью Expression Blend
- 73 Коротко об Expression Studio
- 73 Установка Expression Blend
- 74 Запуск Expression Blend
- 74 Опции настройки
- 76 Создание нового проекта
- 76 Панели
- 77 Знакомство с файлами
- 78 Исполнение в веб-браузере
- 79 Работа с формами
- 80 Панель свойств
- 80 Элемент Color Picker
- 81 Создание кисти LinearGradienBrush
- 82 Изменение вектора градиента
- 82 Создание радиально-градиентной кисти
- 83 Создание эффекта трехмерной границы с помощью радиально-градиентной кисти
- 83 Восстановление подразумеваемых по умолчанию значений свойств
- 84 Составление иерархии элементов
- 85 Резюме
- 86 Глава 5. Мультимедиа
- 86 Смешивание цветов
- 87 Почему FF?
- 88 Канал прозрачности
- 89 Свойство Opacity
- 90 Векторная графика
- 91 Добавление на сцену мультимедийных элементов
- 92 Создание макета приложения
- 93 Добавление картинок
- 94 Добавление видео
- 95 Тестирование результата в браузере
- 95 Уточнение макета
- 97 Добавление еще одной картинки
- 97 Управление звуком и видео
- 97 Отключение автоматического воспроизведения
- 98 Зацикливание
- 99 Приостановка и возобновление видео
- 100 Изменение формы курсора
- 100 Другие свойства
- 100 Заполнение пространства
- 101 Как сделать изображение незаметным при перемещении мыши
- 101 Использование мультимедийных элементов для вывода
- 101 Вывод с помощью видео
- 102 Применение невидимого видеоролика для рисования текста
- 102 Вывод с помощью изображений
- 103 Трансформации мультимедийных элементов
- 103 Использование мультимедийных элементов из веб
- 105 Резюме
- 86 Смешивание цветов
- 106 Глава 6. Еще об Expression Blend
- 106 Создание трансформаций
- 107 Создание маски прозрачности OpacityMask
- 108 Контуры
- 108 Создание контура с нуля
- 109 Использование сплайнов для модификации контура
- 109 Комбинирование форм
- 110 Обтравочные контуры
- 111 Контуры в XAML
- 112 Группировка элементов управления
- 112 Группировка элементов
- 113 Другие панели
- 113 Прокрутка миниатюр
- 114 Пользовательские элементы управления
- 115 Создание пользовательского элемента управления
- 116 Применение пользовательского элемента управления
- 117 Продолжаем работу над галереей миниатюр
- 117 Добавление фрейма отображения
- 118 Добавление отражений под миниатюрами
- 120 Отражение видео
- 120 И последнее
- 120 Резюме
- 121 Глава 7. Развертывание на веб-странице
- 121 Создание тестовой страницы
- 122 Тег object
- 122 Атрибуты
- 123 Параметры
- 124 Модификация атрибутов и параметров
- 128 Развертывание с помощью JavaScript
- 128 Определение версии Silverlight
- 128 Интеграция Silverlight в существующую веб-страницу
- 129 Изучение оригинального кода
- 130 Получение XAP-файла
- 130 Модификация разметки
- 131 Тестирование результата
- 132 Ссылка на XAP-файл на другом веб-сервере
- 132 Получение места на веб-сервере
- 133 Требования к веб-серверу
- 134 Поиск провайдера
- 134 Знакомство с FTP
- 135 Настройка FTP-клиента
- 136 Соединение с сервером
- 137 Копирование приложения Silverlight
- 139 Тестирование результата
- 139 Резюме
- 140 Глава 8. Программирование Silverlight с помощью JavaScript
- 140 Основы языка
- 141 Комментарии
- 141 Точка с запятой
- 141 Чувствительность к регистру
- 142 Переменные
- 142 Функции
- 142 Прототипы, this, new
- 143 Типы
- 143 Встроенные объекты и библиотеки
- 144 Функция alert
- 144 Значение undefined
- 145 Значение null
- 146 Обработка событий
- 147 Знакомство с концепцией объектов
- 147 Взаимодействие с другими экземплярами
- 148 Глобальный объект
- 149 Литеральная нотация JSON
- 149 Создание объектов с помощью JSON
- 150 Статические члены
- 151 Загрузка сценариев на веб-страницу
- 152 Что такое контекст?
- 153 Интеграция Silverlight в существующую веб-страницу с помощью JavaScript
- 154 Где найти файл Silverlight.js
- 154 Использование файла Silverlight.js
- 158 Определение версии Silverlight
- 158 Определение наличия JavaScript
- 159 Модификация веб-страницы во время выполнения
- 159 Отладка
- 159 Резюме
- 140 Основы языка
- 161 Глава 9. Основы .NET
- 161 История .NET
- 161 Версии, версии, версии…
- 163 Управляемый и неуправляемый код
- 163 Загрузка и установка Visual Studio 2008
- 164 Создание приложения Silverlight 2 в Visual Studio 2008
- 165 Сборка и запуск приложения
- 165 Ошибки компиляции
- 166 Знакомство с файлами
- 168 Запуск (пустого) приложения
- 169 Intellisense
- 170 Программирование на C#, основные конструкции
- 171 Типы
- 171 Целые типы
- 171 Типы с плавающей точкой
- 172 Прочие типы
- 172 Преобразование типов
- 173 Предложение if then else
- 174 Цикл for
- 175 Цикл foreach
- 175 Цикл while
- 176 Цикл do… while
- 177 Предложение switch…case
- 178 Операторы
- 180 Резюме
- 161 История .NET
- 181 Глава 10. Продолжаем изучение .NET
- 181 Программирование на C# с объектами
- 181 Разбиение задачи на меньшие подзадачи
- 182 Пространства имен и директива using
- 182 Добавление директивы using
- 183 Видимость
- 183 Свойства
- 185 Наследование
- 186 Добавление интерактивности в приложение Thumbnails
- 186 Добавление обработчиков событий
- 187 Отображение увеличенного мультимедийного элемента
- 190 Перегрузка методов
- 191 Возбуждение событий и использование делегатов
- 192 Создание объекта EventArgs
- 192 Объявление события
- 194 Подписка на событие
- 194 Сохранение данных на стороне клиента
- 194 Ограничения безопасности, налагаемые на изолированное хранилище
- 195 Создание объектов
- 198 Чтение из изолированного хранилища
- 199 Запись в изолированное хранилище
- 199 Обновление пользовательского интерфейса
- 200 Совместимость с разными браузерами
- 201 Резюме
- 181 Программирование на C# с объектами
- 202 Глава 11. И снова анимация
- 202 Анимирование элементов в Blend
- 204 Тестирование приложения
- 205 Изменение свойств анимации
- 206 Изменение темпа анимации
- 206 Синхронизация анимаций
- 207 Об элементах анимации
- 208 Обращение раскадровки
- 208 Анимация PointAnimation
- 210 Запуск и останов анимации
- 211 Продолжаем работу над галереей миниатюр
- 211 Составляем план
- 212 Готовим подмостки
- 213 Изготавливаем заготовку анимации
- 214 Изменение темпа анимации параллельным переносом
- 215 Запуск анимации из программы
- 219 Программное создание анимации «затухания»
- 221 Резюме
- 202 Анимирование элементов в Blend
- 222 Глава 12. Кодирование видео в Expression Encoder
- 222 Прежде чем начать…
- 222 Введение в Expression Encoder
- 223 Параметры
- 224 Назначение различных панелей
- 224 Импорт видео
- 226 Сохранение изменений
- 226 Задание типа выходных данных
- 227 Изменение размера и пропорций видео
- 229 Дополнительная обработка и параметры кодека
- 229 Добавление заголовка и хвостовика
- 230 Тестирование перед началом кодирования
- 231 Задание метаданных
- 232 Добавление собственных метаданных
- 232 Создание глав
- 233 Создание надписей
- 234 Кодирование видео для Silverlight
- 235 Проверка результата
- 236 Полноэкранное воспроизведение видео
- 236 Дополнительные параметры
- 237 Резюме
- 238 Глава 13. Еще о видео
- 238 Почему именно потоковое видео?
- 239 Публикация на собственном сайте
- 239 Копирование файлов
- 240 Наложение изображения
- 240 Добавление картинки или видео
- 241 Задание дополнительных свойств
- 242 Наложение XAML-разметки
- 243 Выбор плеера пользователем
- 243 Копирование файлов
- 244 Модификация файлов
- 246 Создание видео
- 247 Как это работает?
- 248 Публикация на потоковых серверах Microsoft Silverlight
- 248 Регистрация
- 249 Установка и конфигурирование надстройки, публикация
- 249 Тестирование результата
- 250 Включение приложения в существующую веб-страницу
- 251 Использование iframe
- 251 Использование JavaScript и Live Control
- 251 Запуск команд сценария
- 254 Модификация шаблона плеера в Blend
- 254 Добавление кнопки Full Screen
- 255 Обработка события в сценарии
- 256 Тестирование результата
- 256 Резюме
- 257 Глава 14. Взаимодействие .NET и JavaScript
- 257 Доступ к .NET из JavaScript
- 257 Атрибут ScriptableMember
- 258 Регистрация объекта
- 258 Обработка событий .NET в JavaScript
- 258 Подготовка класса, доступного из сценария
- 260 Возбуждение события
- 260 Подписка на событие в JavaScript-сценарии
- 262 Тестирование программы
- 262 Вызов JavaScript-методов из .NET
- 264 Вызов методов .NET из JavaScript
- 264 Добавление диалога регистрации в приложение Thumbnails
- 264 Развитие класса User
- 265 Дополнительные свойства
- 268 Учет нескольких пользователей
- 271 Модификация класса Page
- 273 Добавление ссылки Login
- 274 Добавление веб-проекта
- 275 Проверка мультимедийных файлов во время сборки
- 276 Добавление HTML-диалога регистрации
- 277 Комбинирование приложения Silverlight с HTML
- 277 Перехват событий .NET
- 279 Связывание сценариев
- 280 Обработка HTML-событий
- 280 Резюме
- 257 Доступ к .NET из JavaScript
- 281 Глава 15. Элементы управления в Silverlight
- 281 Знакомство с иерархией классов
- 282 Класс Object
- 282 Класс DependencyObject
- 282 Класс DependencyProperty
- 282 Класс UIElement
- 283 Класс FrameworkElement
- 283 XAML или застраничный код?
- 285 Верстка с помощью панелей
- 286 Композиция элементов
- 286 Панель Canvas
- 287 Буксировка элемента по холсту
- 289 Рядное расположение элементов на панели StackPanel
- 290 Использование StackPanel для потоковой верстки
- 290 Использование панели Grid для выравнивания элементов
- 292 Задание минимального и максимального размеров
- 293 Добавление элементов в сетку
- 294 Добавление элементов в застраничном коде
- 294 Прокрутка и обрамление
- 294 Использование ScrollViewer для прокрутки больших областей
- 296 Обрамление элемента
- 297 Всплывающие элементы
- 298 Рисование форм
- 298 Свойство Data
- 300 Резюме
- 281 Знакомство с иерархией классов
- 301 Глава 16. Еще об элементах Silverlight
- 301 Класс Control
- 302 Активация и деактивация элементов управления
- 302 Применение стилей и шаблонов
- 302 О шрифтах
- 303 Основные элементы управления
- 303 Ввод и вывод текста
- 304 Класс ButtonBase
- 306 Прокрутка и буксировка
- 309 Представление мультимедиа
- 310 Выбор даты с помощью элементов Calendar и DatePicker
- 310 Элемент Calendar
- 311 Элемент DatePicker
- 312 Обработка ошибок
- 312 Рукописный ввод
- 313 Разработка простого приложения для рисования
- 313 Подготовка сцены
- 315 Обработка событий
- 319 Запуск приложения
- 319 Представление данных с помощью элементов ItemsControl
- 320 Элемент TabControl
- 321 Подробное рассматривание изображений
- 321 Как это работает?
- 321 Создание пирамиды изображений для DeepZoom
- 323 Элемент управления MultiScaleImage
- 324 Резюме
- 301 Класс Control
- 325 Глава 17. Ресурсы, стили и шаблоны
- 325 Сохранение объектов в наборах
- 326 Реализация интерфейсов
- 327 Использование словарей ресурсов в Silverlight
- 327 Хранение ресурсов
- 328 Использование ресурсов в застраничном коде
- 328 А зачем такие сложности?
- 328 Использование ресурсов в XAML
- 330 Хранение ресурсов в файле App.xaml
- 331 Стилизация элемента управления
- 331 Создание объекта Style
- 331 Использование объекта Style
- 332 Приоритеты установщиков свойств
- 333 Создание стилей в Blend
- 334 Редактирование стиля в Blend
- 334 Стилизация приложения Thumbnails
- 334 Стилизация текстовых блоков
- 335 Стилизация миниатюр
- 336 Перемещение ресурсов в Blend
- 337 Внедрение шрифтов в приложение
- 337 Внедрение шрифта в Blend
- 338 Внедрение шрифта в Visual Studio
- 339 Шаблоны
- 339 Но ведь мы видим элемент управления!
- 340 Редактирование шаблона
- 341 Модификация состояний
- 342 Привязка шаблона к элементу управления
- 343 Представление содержимого
- 344 Резюме
- 325 Сохранение объектов в наборах
- 345 Глава 18. Привязка к данным и элементы, допускающие связывание
- 345 Что такое привязка к данным?
- 345 Создание объекта данных
- 347 Создание объекта данных в ресурсах
- 347 Запись в объект данных с помощью механизма привязки
- 348 Получение уведомлений, поиск ошибок связывания
- 349 Конвертация значений при связывании
- 350 Более тесное знакомство с классом Binding
- 351 Задание контекста данных
- 352 Использование элементов управления, допускающих связывание
- 353 Элемент управления ListBox
- 360 Элемент DataGrid
- 366 Использование источников XML-данных
- 366 Резюме
- 345 Что такое привязка к данным?
- 367 Глава 19. Создание пользовательских и нестандартных элементов управления
- 367 Создание элемента управления для просмотра миниатюр
- 368 Создание объектов данных
- 371 Элемент ThumbnailsViewerControl
- 372 Общение с внешним миром
- 375 Создание объектов и проектирование шаблона данных
- 375 Создание экземпляра класса Media в виде XAML
- 378 Проектирование шаблона данных
- 379 Удаление тестового источника данных
- 379 Перемещение мультимедийных файлов
- 381 Подключение ThumbnailsViewer к реальным данным
- 381 Возбуждение и обработка события SelectionChanged
- 383 Создание нестандартного элемента управления MediaInfoDisplay
- 383 Вырабатываем план
- 384 Создание «оболочки»
- 387 Обработка состояний
- 388 Обработка частей
- 390 Применение шаблона
- 391 Резюме
- 367 Создание элемента управления для просмотра миниатюр
- 392 Глава 20. Еще один шаг вглубь Silverlight 2
- 392 Создание шаблона по умолчанию для элемента управления MediaInfoDisplay
- 394 Использование элемента управления MediaInfoDisplay
- 394 Добавление тестовых данных
- 394 Помещение элемента управления на сцену
- 395 Создание шаблона
- 396 Создание переходов
- 397 Удаление тестовых данных
- 397 Связывание элементов между собой
- 398 Копнем глубже
- 399 Прокрутка объектов
- 401 Создание нового шаблона для RepeatButton
- 401 Создание шаблона
- 402 Изменение переходов
- 403 Привязка шаблона
- 403 Тестирование новой кнопки
- 403 Стилизация кнопки RepeatButton
- 404 Стилизация второй кнопки
- 405 Перенос классов во внешнюю сборку и рефакторинг
- 405 Создание библиотеки классов Silverlight
- 408 Использование внешней библиотеки классов
- 410 Несколько слов об объекте Application
- 411 Универсальные типы
- 412 Резюме
- 413 Глава 21. Дальше по пути Silverlight 2
- 413 Регистрация нескольких обработчиков событий в JavaScript
- 414 Поиск элементов Silverlight из JavaScript-кода
- 416 Доступ к HTML-странице из .NET
- 418 Обмен данными между .NET и JavaScript
- 418 Попытка преобразования
- 420 Обмен данными в стандартных форматах
- 421 Преобразование в тип ScriptObject
- 424 Передача параметров инициализации
- 424 Задание параметров инициализации
- 425 Получение параметров инициализации
- 426 Присоединение .NET-обработчиков к событиям HTML-элементов
- 427 Использование класса HtmlEventArgs
- 428 Публикация непосредственно из Visual Studio
- 429 Отладка приложения Silverlight
- 429 Сравнение отладочной и выпускной версий
- 429 Создание выпускной версии
- 430 Пошаговое выполнение программы
- 432 Инспекция и модификация переменных
- 433 Отладка в контексте проекта веб-сайта
- 434 Отладка JavaScript
- 434 Отладка уже запущенных приложений
- 435 Отладка приложений Silverlight на компьютере Macintosh
- 436 Резюме
- 437 Глава 22. Соединение с веб
- 437 Создание и загрузка XML-файла
- 437 Вынесение информации о мультимедийных файлах из приложения
- 438 Отображение и сокрытие заставки
- 439 Загрузка XML-файла с информацией о мультимедийных файлах
- 440 Отправка запроса
- 441 Получение ответа
- 442 Чтение XML-файла с помощью технологии LINQ
- 445 Разбор перечислений
- 445 Отправка запроса
- 446 Обработка результатов
- 448 Тестирование приложения
- 448 Загрузка zip-файла и индикация хода загрузки
- 448 Создание zip-файла
- 449 Расширение класса MediaEx для хранения потока
- 449 Загрузка zip-файла
- 451 Чтение файлов из архива
- 453 Обновление пользовательского интерфейса
- 455 Отправка запросов WCF-службам
- 455 Перемещение классов User и DataFile на сервер
- 456 Адаптация класса DataFile к работе на сервере
- 457 Создание WCF-службы
- 458 Реализация службы
- 460 Модификация клиентского приложения
- 463 Еще о сетевых взаимодействиях
- 463 Резюме
- 437 Создание и загрузка XML-файла
- 464 Глава 23. Междоменные запросы и обработка исключений
- 464 Междоменные запросы
- 465 Использование файла междоменной политики Flash
- 465 Использование файла междоменной политики Silverlight
- 466 Ограничения
- 468 Взаимодействие со сторонними службами
- 468 Принятие условий обслуживания Flickr
- 468 Получение ключа для работы с Flickr API
- 469 Подготовка и отправка запроса
- 472 Обработка ответа
- 478 Модификация пользовательского интерфейса
- 479 Отправка POST-запросов
- 480 Возбуждение и перехват исключений
- 481 Распространение исключений
- 483 Свойства класса Exception
- 484 Перехват необработанных исключений
- 485 Создание собственных типов исключений
- 486 Обработка ошибок Silverlight в JavaScript
- 487 Резюме
- 464 Междоменные запросы
- 488 Глава 24. Silverlight: путешествие продолжается
- 488 Обновление ссылки на службу
- 489 Принудительное завершение процесса
- 490 Принудительное завершение процесса в отладочном режиме
- 491 О защите своей интеллектуальной собственности
- 491 Защитить любой ценой
- 491 Привязка в особых ситуациях
- 492 Задание привязки в Blend
- 493 Обработка ошибок контроля
- 494 Привязка и свойства Converter, ConverterParameter, ConverterCulture
- 495 Привязка к объекту, а не к свойству
- 496 Использование ASP.NET-элементов управления Silverlight и MediaPlayer
- 497 ASP.NET-элемент Silverlight
- 498 ASP.NET-элемент MediaPlayer
- 500 Создание автономных тестов для Silverlight
- 501 Установка каркаса автономного тестирования для Silverlight
- 501 Создание нового тестового приложения Silverlight
- 503 Создание метода расширения TryFindResource
- 504 Написание правильного класса
- 505 Реализация рекурсии
- 507 Еще об автономных тестах
- 507 Повторное использование автономных тестов Майкрософт
- 508 Изготовление и покупка XAML-ресурсов
- 508 Использование Expression Design
- 509 Поиск XAML-ресурсов в Сети
- 510 Конвертация других форматов в XAML
- 511 Сторонние элементы управления и библиотеки
- 511 Блоги, посвященные Silverlight
- 512 Резюме
- 513 Алфавитный указатель
Инструкция как скачать книгу Лоран Буньон: Создание web-приложений в Silverlight в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.