Silverlight 4 разработка интерактивных приложений для браузера, вне браузера и телефона Михаил Черномордиков Architect Evangelist, Microsoft Russia mikcher@microsoft.com http://blogs.msdn.com/mikcher http://twitter.com/mixen Кросс-платформенная интерактивность Текущий статус • Silverlight 1.0 вышел в 2007 году • На сегодня установлен на 60% подключенных компьютеров • Текущая версия – Silverlight 4 RC, вышел на MIX10 • Silverlight 4 RTW – апрель 2010 • Silverlight for Windows Phone 7 Series Preview • Silverlight for Nokia Preview Технологические возможности • Богатый выбор языков разработки • .NET – C#, VB.NET, другие • Динамические – IronRuby, IronPython • Скриптовые – JavaScript • Богатый выбор среды разработки • Visual Studio, в том числе бесплатная Express • Silverlight Tools for Eclipse • Silverlight SDK • Работа с веб-сервисами Производительность DHTML = 89 fps Flash 9 / Flex 2 = 157 fps Java (Swing) = 192 fps Silverlight 1.0 = 94 fps www.bubblemark.com Silverlight 3 = 395 fps Сценарий №1 - Медиа • Богатые возможности по работе с медиа (полноэкранное, HD, потоковое) • Адаптивное вещание – Smooth Streaming • Простое создание медиаплеера на сайте • Комплексное медиа-решение • Интерактивная реклама Сценарий №2 - Бизнес • Интерактивные бизнес-приложения • Публичные услуги – конкурентное преимущество • Внутренние порталы – производительность труда Сценарий №3 - Развлечения • • • • Казуальные игры Развлекательные порталы Динамическая работа с фотографиями Интерактивные цифровые хранилища Silverlight 4 Beta Out of Browser Applications Databinding Improvements Elevated Privileges Support (including Automation) HTML Hosting Support Notifications DataBinding Support for DependencyObjects StringFormat, TargetNullValue & FallBackValue Properties on Binding Binding to String Indexers IDataErrorInfo Support Asynchronous Data Validation (INotifyDataErrorInfo) ObservableCollection<T> IList/IEnumerable cstrs Media WMS Multicast Support MP4 Playback Protected by PlayReady DRM Offline DRM Output Protection WebCam/Mic Support (raw stream only) Graphics/Imaging Support for more PNG Formats Unseal Path CompositeTransform Printing Printing Support Text RichTextBox Arabic and Hebrew Text Support IME Improvements for TextBox UIElement.TextInput event Controls, Control Model, Layout Networking UDP Listener Automatically Adding Referer Header Authentication Support on ClientHttpWebRequest Memory Usage Fix During Progressive Downloads Tools Support Theming via Implicit Styles SDK ViewBox RTL Layout DataGrid * Column Support ItemsControl support for Blend Fluid Layout MouseWheel Support on ScrollViewer, TextBox, ComboBox, Calendar, Other DatePicker VisualStateGroup.CurrentStateGroup property Command Property on ButtonBase & Hyperlink SelectedValue and SelectedValuePath Properties on Selector Navigation Navigation Loader Extensibility (Hook Frame Navigates) Dispatcher Support on the Tools Design Surface ADO.NET Data Services 2.0 Support Managed Extensibility Framework (MEF) Better Transport for WCF (Socket Support) Support for C# & VB.NET 4.0 Features Expose Runtime Version to 3rd Party DLLs NGEN Support for Core Runtime Binaries Group Policy Hooks to Disable WebCam & Elevated Apps Silverlight 4 RC Parser Media New architecture enables future innovation Performance and stability improvements XmlnsPrefix & XmlnsDefinition attributes Support setting order-dependent properties Webcam/Mic configuration preview More descriptive MediaSourceStream errors Updates to H.264 content protection (ClearNAL) Digital Constraint Token CGMS-A Graphics card driver validation & revocation Input Pinned full-screen mode on secondary display HTML hosting accessibility Arabic, Hebrew and Thai input on Mac Graphics/Imaging Hardware-accelerated Perspective Transforms Ability to query page size and printable area Memory usage and perf improvements Rich Text Text position and selection APIs RichTextBox.Xaml property for serializing text content XAML clipboard format FlowDirection support on Runs “Format then type” support Thai & Vietnamese input support UI Automation Text pattern Data Entity-level validation support of INotifyDataErrorInfo for DataGrid XPath support for XML SDK System.Numerics.dll System.Xml.XPath.dll Dynamic XAP support (MEF) Frame/Navigation refresh support Networking UploadProgress support (client stack) Caching support (client stack) Sockets policy file retrieval via HTTP Accept-Language header Out of Browser / Elevated Trust XAP signing Silent install and emulation mode Custom window chrome Better support for Automation Cancelable shutdown event Updated security dialogs Sockets security restrictions removal Other Support for 32 new languages (41 total) Update to DeepZoom code base with HW acceleration Support for Private mode browsing Google Chrome support (Windows) FrameworkElement.Unloaded event IsoStore perf improvements Темы Silverlight 4 Медиа Насыщенный контент Бизнес-приложения Вне браузера Инструменты Новые возможности Silverlight 4 : Медиа Веб-камера и микрофон Мультикаст Защита вывода Защита контента онлайн и офлайн Защита в H.264 Локальная запись Media Медиа Насыщенный контент Бизнес-приложения Вне браузера Инструменты Новые возможности Silverlight 4 : Медиа Веб-камера и микрофон Media Rich Experiences Business Applications Beyond the Browser Developer Tools Веб-камеры и микрофоны теперь доступны из Silverlightприложений. Разработчики могут включить такую возможность для взаимодействия пользователей в реальном времени Новые возможности Silverlight 4 : Медиа Native Multicast Media Rich Experiences Business Applications Beyond the Browser Developer Tools Встроенная поддержка мультикаста позволяет более эффективно использовать сеть и интегрироваться в существующие системы организаций на базе Windows Media Services Новые возможности Silverlight 4 : Медиа Защита вывода Media Rich Experiences Business Applications Beyond the Browser Developer Tools Воспроизведение медиа может быть ограничено в соответствии с лицензией PlayReady, что позволяет исполнять политики output protection Новые возможности Silverlight 4 : Медиа Защита контента онлайн и офлайн Media Rich Experiences Business Applications Beyond the Browser Developer Tools Silverlight DRM на базе PlayReady Content Protection позволяет защитить контент онлайн и офлайн с использоваем протокола АES encryption или Windows Media DRM. Новые возможности Silverlight 4 : Медиа Защита контента H.264 Media Rich Experiences Business Applications Beyond the Browser Developer Tools Silverlight DRM на базе PlayReady теперь включает защиту контента для медиа в формате H.264 Новые возможности Silverlight 4 : Медиа Локальная запись Media Rich Experiences Business Applications Beyond the Browser Developer Tools Разработчики могут использовать видео- и аудиопотоки для локальной записи без необходимости взаимодействия с сервером, например в сценарии политики полной записи Олимпиада в Ванкувере • 46 млн уникальных пользователей • 710 млн просмотров • 45 млн видеопотоков • 3.5 млн часов видео • В среднем – 32 минуты • Открыт код – http://smf.codeplex.com Новые возможности Silverlight 4 : Насыщенный контент Насыщенный интерфейс Работа с буфером Drag and Drop Производительность работы Поддержка Google Chrome Улучшения в производительности Медиа Rich Experiences Насыщенный контент Бизнес-приложения Вне браузера Инструменты Новые возможности Silverlight 4 : Насыщенный контент Насыщенный интерфейс Media Rich Experiences Business Applications Beyond the Browser Developer Tools Silverlight 4 позволяет разработчикам делать контекстный, более насыщенны и интуитивный интерфейс приложений Новые возможности Silverlight 4 : Насыщенный контент Работа с буфером Media Rich Experiences Business Applications Beyond the Browser Developer Tools Копирование и вставка поддерживается в Silverlight 4, делаю работу с приложением более похожей на выполнение задач на локальном компьютере Новые возможности Silverlight 4 : Насыщенный контент Drag and Drop Media Rich Experiences Business Applications Beyond the Browser Developer Tools Drag and drop поддерживается в Silverlight 4, делаю работу с приложением более похожей на выполнение задач на локальном компьютере Новые возможности Silverlight 4 : Насыщенный контент Производительность работы Media Rich Experiences Business Applications Beyond the Browser Developer Tools Разработчики могут использовать нововведения для повыщения производительности работы пользователей: поддежка правой кнопки мыши, колеса мыши и клавиатуры в полноэкранном режиме Новые возможности Silverlight 4 : Насыщенный контент Поддержка Google Chrome Media Rich Experiences Business Applications Beyond the Browser Developer Tools Silverlight 4 официально поддерживает браузер Google Chrome Новые возможности Silverlight 4 : Насыщенный контент Улучшения в производительности Media Rich Experiences Business Applications Beyond the Browser Developer Tools Silverlight 4 использует кэширование сгенерированного кода для запуска приложений на 30% быстрее и работы приложения до 200% быстрее. Новые возможности Silverlight 4 : Бизнесприложения Печать Работа с формами WCF RIA Services Улучшенное связывание данных Интернационализация Managed Extensibility Framework Медиа Насыщенный интерфейс Business Applications Бизнес-приложения Вне браузера Инструменты Новые возможности Silverlight 4 : Бизнесприложения Печать Media Rich Experiences Business Applications Beyond the Browser Developer Tools Полная поддержка печати позволяет разработчикам делать системы отчетности и документооборота. Возможно использование стандартного или создание произвольного визуального представления. Новые возможности Silverlight 4 : Бизнесприложения Работа с формами Media Rich Experiences Business Applications Beyond the Browser Developer Tools Полный набор элементов управления форм с более 60 настраиваемых компонентов: Rich Textbox with hyperlinks, images and editing, Masked textbox for complex field validation. Enhanced controls include: Data grid with sortable/resizeable columns and copy/paste rows. Новые возможности Silverlight 4 : Бизнесприложения WCF RIA Services Media Rich Experiences Business Applications Beyond the Browser Developer Tools WCF RIA Services позволяют быстро создавать интерактивные бизнес-приложения с работой с данными, веб-сервисами и бизнес-логикой на сервере и клиенте Новые возможности Silverlight 4 : Бизнесприложения Улучшения в связывании данных Media Rich Experiences Business Applications Beyond the Browser Developer Tools Группировка, редакторование и форматирование строк в рамках связывания данных. Новые возможности Silverlight 4 : Бизнесприложения Интернационализация Media Rich Experiences Business Applications Beyond the Browser Developer Tools Silverlight 4 улучшает интернационализацию и локализацию поддержкой двунаправленного текста, поддержку 30 новых языков, включая арабский, иврит и тайский Новые возможности Silverlight 4 : Бизнесприложения Managed Extensibility Framework Media Rich Experiences Business Applications Beyond the Browser Developer Tools Silverlight 4 позволяет создавать модульные приложения, которые могут подгружать элементы динамически. Managed Extensibility Framework (MEF) позволяет подключать дополнительный функционал даже во время работы приложения. Также поддерживается несколько XAPфайлов Новые возможности Silverlight 4 : Вне браузера Доверенные приложения Отрисовка HTML внутри Silverlight Уведомления Доступ к файловой системе Приложения и устройства Кросс-доменный доступ Медиа Насыщенный контент Бизнес-приложения Beyond theбраузера Browser Вне Инструменты Новые возможности Silverlight 4 : Вне браузера Доверенные приложения Media Rich Experiences Business Applications Beyond the Browser Developer Tools Silverlight 4 вводит понятие Доверенных приложений, которые получают доступ к файловой системе, другим приложениям и системным ресурсам Отрисовка HTML внутри Silverlight Media Rich Experiences Business Applications Beyond the Browser Developer Tools Внебраузерные приложения используют элемент управления WebBrowser для отображения и взаимодействия с HTML внутри приложения. Новые возможности Silverlight 4 : Вне браузера Уведомления Media Rich Experiences Business Applications Beyond the Browser Developer Tools Внебраузерные приложения могут отображать “toast”уведомления для информирования o событиях Новые возможности Silverlight 4 : Вне браузера Доступ к файловой системе Media Rich Experiences Business Applications Beyond the Browser Developer Tools Доверенные приложения могут получить доступ к папкам Documents, Videos, Pictures and Music в профиле пользователя. Новые возможности Silverlight 4 : Вне браузера Приложения и устройства Media Rich Experiences Business Applications Beyond the Browser Developer Tools Доверенные приложения могут использовать COMинтерфейс для интеграции с установленными приложениями и внешними устройствами: камеры, кардридеры, игровые контроллеры Новые возможности Silverlight 4 : Вне браузера Кросс-доменный доступ Media Rich Experiences Business Applications Beyond the Browser Developer Tools Доверенные приложения могут делать простые кроссдоменные сетевые запросы без необходимости специальных конфигурационных файлов. Новые возможности Silverlight 4 : Инструменты Поддержка Silverlight Визуальный редактор Drag and Drop Data Binding XAML Intellisense Import Blend Resources Sketchflow Медиа Насыщенный контент Бизнес-приложения Вне браузера Developer Инструменты Tools Архитектура программной платформы Tools & Support Phone Emulator SCREEN CLOUD Samples Documentation Guides Community Run Time – On “Screen” Sensors Media Data Phone Gamer Services Location Notifications .NET Framework managed code sandbox Packaging and Verification Tools Developer Portal Services Cloud Services Registration Marketplace Notifications Validation MO and CC Billing Location Certification Business Intelligence Publishing Update Management App Deployment Identity Feeds Social Maps Что такое Silverlight для Windows Phone 7? Starts with Silverlight 3 plus… Улучшенная производительность Интеграция средств ввода H/W медиа и работа с сенсорами Модель приложений ОС Облегченные ограничения песочницы Разработка под Windows Phone 7 • • • • Бесплатна навсегда Visual Studio 2010 Express for Windows Phone Expression Blend 4 for Windows Phone XNA Game Studio 4.0 for Windows Phone http://developer.windowsphone.com