silverlight 2
DESCRIPTION
Silverlight 2 for MIPTTRANSCRIPT
Если бы…
Если бы…
разработчикиправилимиром
В сериалах показывали бы
процесс отладки
Разработчики снимались бы
в кино
Вместо Петросяна
показывали бы плохой
код
Silverlightпоявился бы в 80-х годах!
Silverlight 2Константин Кичинский
Agenda
• Обзор
• Сравнение
• Deep Zoom
Text Based UI• User Experience
• Usability – Low• Flexibility – Low• Engagement – None• Performance – Excellent
• Development Experience• Reasonable skillset• Clunky editors and debuggers early on• No Choice
• Deployment Experience• Easy
Era: Mainframe to DOS
Desktop GUI• User Experience
• Usability – High• Flexibility – High• Engagement – Medium• Performance – Very Good
• Development Experience• Good tools, platforms, languages• Generally needed only two languages: VB/C# and SQL
• Deployment Experience• Very Difficult at first• Easier with .NET
Era: Windows 3.1 to Present
Web Based UI• User Experience
• Usability – Medium/Low• Flexibility – Medium• Engagement – High• Performance – Poor-Good
• Development Experience• High Effort, High Cost• Cross Browser Problems• Multiple Languages: VB/C#, JavaScript, xml, xsl, SQL, HTML, CSS• Debugging Difficult
•Deployment Experience• Easy
Era: Internet era to Present
RIA
• User Experience• Usability – High• Flexibility – TBD• Engagement – High• Performance – Good to Excellent
• Development Experience• Good tools, platforms, languages• Generally need only: VB/C#, XAML and SQL
•Deployment Experience• Easy, via browser • Silverlight• Click-once for WPF
Era: Flash v1 to Present
RIA – Rich Internet Application
RIA – Rich Internet Application
RIA – Rich Interactive Application, MS
RIA – Rich Interactive Application, MS
.NET
.NETis NOT portable
.NETis NOT portable(MONO не в счет)
.NETis NOT portable(MONO не в счет) ≈200 Мб
Microsoft Portable Solution
Crossplatform .NET
≈4 Мб
http://mscui.net/PatientJourneyDemonstrator
http://cookingwithxaml.com.meals/financials/default.html
Silverlight 1.0
• 2D, Graphics
• Audio, Video
• Animations
• Text
Silverlight 2.0 Runtime
• 2D, Graphics
• Audio, Video
• Animations
• Text, Text Input
• Controls
• Layouts
• Styles/Templates
• Data Binding
• Networking
• .NET Support
• LINQ
• XMLAPIs
• Generics
• HTML Integration
• Local Storage
• Crypto APIs
Silverlight 2 SDK Libraries
• Dynamic Languages
– JScript
– IronRuby
– IronPython
• Additional Controls
• LINQ for XML
• XML Serialization
• Syndication APIs (RSS)
Сравнение SL 1 и SL 2
Возможности SL 1.0 SL 2.0
2D Graphics, Animations + +AJAX Support + +Cross-Browser (Firefox, IE, Safari) + +Cross-Platform (Windows, Mac) + +Framework Languages(Visual Basic, Visual C#, IronRuby, Ironpython)
+
HTML DOM Integration + +HTTP Networking + +Isolated Storage +
Сравнение SL 1 и SL 2
Возможности SL 1.0 SL 2.0
JavaScript Support + +JSON, REST, SOAP/WS-*, POX, and RSS Web Services (включая Sockets)
+
Cross Domain Network Access +LINQ to Objects +Canvas Layout Support + +StackPanel, Grid and Panel Layout Support +Полный набор Control`ов (TextBox, RadioButton, Slider, Calendar, DatePicker, DataGrid, ListBox, и т. д.)
+
Deep Zoom Technology +
Сравнение SL 1 и SL 2
Возможности SL 1.0 SL 2.0
Managed HTML Bridge +Managed Exception Handling +Media – Content Protection +LINQ to XML +Media – 720P High Definition (HD) Video + +Media – Audio/Video Support (VC-1, WMV, WMA, MP3) + +Media – Image Support (JPG, PNG) + +Media Markers + +
Сравнение SL 1 и SL 2
Возможности SL 1.0 SL 2.0
Rich Core Framework (Generics, collections) +Security Enforcement +Silverlight ASP.NET Controls (asp:media, asp:xaml) + +Type Safety Verification +Windows Meda Server Support + +XAML Parser (based on WPF) + +XMLReader/Writer +
Silverlight 1
Silverlight 2
Silverlight Roadmap
• Silverlight 1 – Сентябрь `07
• Silverlight 2
– 5 Марта Beta 1 (некоммерческая)
– Q208: Beta 2
• Инструменты
– Expression Studio 2+ и Visual Studio
– Поддержка в Visual Studio Designer – позже, но в этом году
Moonlight 0.6 (Profile 1.0 и 2.0)
• Скачать
– http://www.go-mono.com/moonlight
• Блог Мигеля де Иказа
– http://tirania.org/blog
Silverlight Sandbox
• Silverlight живет в песочнице• Разработчики не могут расширять песочницу• Дополнительные «безопасные возможности»
– Local storage (isolated storage)• Похоже на cookies
– FileOpen dialog– Sockets
• Beta 1: Site of origin, ограничения на порты
– Cross domain HTTP(S) запросы• Поддерживает Silverlight и подмножество Flash policy
файлы
Beta 1 Controls
• Canvas
• FileOpenDialog
• Grid
• Image
• ItemsControl
• MediaElement
• MultiScaleImage
• StackPanel
• TextBox
• TextBlock
• Button
• Popup
• CheckBox*• DataGrid*• DateTimePicker*• GridSplitter*• Hyperlink*• ListBox*• Calendar*• RadioButton*• Slider*• ToggleButton*• Tooltip*• WatermarkTextBox*
* Поставляются отдельно
Layout
• Контейнеры
– Canvas, Grid, StackPanel, Border
• Свойства
– Width, MinWidth, MaxWidth, ActualWidth
– Height, MinHeight, MaxHeight, ActualHeight
– Margin and Padding
• Расширяемы
Data Binding
• Property Binding
–One way, two way и one time
–Поддержка преобразования значений
• Collection/List Binding
–Поддерживаются шаблоны данных (repeaters)
Local Storage
• Cookies on steroids
• Доступно до 10MB на каждое приложение
• Используется .NET IsolatedStorage APIs
Open File Dialog
• Позволяет пользователю выбрать файл• Приложение получает доступ к потоку• Поддерживается множественный выбор и
фильтры• Позволяет:
– Загрузку файлов(w/ HttpWebRequest)– Просмотр локальных изображений
(w/ Image element)– Просмотр локальных медиа-файлов
(w/ MediaElement)
Deep Zoom!
• Простой способ просмотра и масштабирования больших изображений
• Подгружает только необходимые данные
Deep Zoom!
• Предварительная обработка изображения
– Разбиение на куски 256х256
• Построение пирамиды изображений
Deep Zoom!
Пример
MS PhotoZoom
• http://photozoom.mslivelabs.com
• http://bigweekend.external.bbc.co.uk
MS PhotoZoom
Ссылки
• http://silverlight.net
• http://microsoft.com/Silverlight
• Мой блог
– http://zelo_stroi.livejournal.com