Posted on 15. March 2010

Silverlight 4 Release Candidate

На конференции MIX2010 Scott Guthrie анонсировал выход Silverlight 4 RC. Теперь можно разрабатывать Silverliht 4 приложения в Visual Studio 2010 RC. Текущая версия не имеет Go-Live лиценции, она предназначена только для разработчиков. Необходимые инструменты и расширения можно скачать по этой ссылке. В новой версии произошло ряд изменений/улучшений/дополнений:

  • - RichTextArea переименован в RichTextBox. Он стал более похож на аналогичный компонент из WPF. Его улучшения основываются на отзывах разработчиков.
  • - WeBrowser(старое название HtmlBrush). Кроме имени класса изменения коснулись его API.
  • - Улучшен API печати.
  • - ComAutomationFactory изменил название на AutomationFactory.
  • - Расширен список поддерживаемых языков.
  • - Сняты ограничения на используемые порты для сокетов в режиме Trusted Application.
  • - Изменены окна, которые запрашивают разрешения безопасности(например, при попытке получить доступ к веб камере, буферу обмена, микрофону). Появилась галочка для запоминания ответа.
  • - Появилась возможность прикрепить сертификат к Silverlight приложению, которое может работать в режиме Trusted Application.
  • - Появилась возможность конфигурировать рамку окна приложения в режиме вне браузера.
  • - Улучшениа работа приложения в полноэкраном режиме.
  • - Добавлена возможность запуска Silverlight приложений с использованием SLLauncher.

Детальнее о изменениях в Silverlight 4 RC читайте в блоге Tim Heuer.



Posted on 15. February 2010

Профилирование Silverlight приложений

Производительность приложения является одним из ключевых показателей ее работоспособности. Показатель произвводительности включает в себя такие параметры как процессорное время, которое приложение использует для вычислительных операций, размер оперативной памяти и др. При разработке приложения работать над улучшением указанных параметров можно постоянно или через определенные итерации. При этом необходимо четко представлять какие операции происходят внутри приложения. И здесь на помощь приходят различного рода диагностирующие интрументы. Далеко ходить не надо, взять хотя бы Visual Studio.

Для Silverlight приложений есть свои инструменты для диагностики. Они хоть и устапают по возможностям инструментам для веб и настольным приложениям, но использовать их можно.

Начну пожалуй из встроеных возвожностей Silverlight'a. При расположении приложения на странице тегу object можно указать несколько параметров:

  • EnableRedrawRegions - включает отображение участков Silverlight приложения, которые обновляются при каждой перерисовке фрейма.
  • MaxFrameRates - устанавлявает максимальное количество фреймов для отрисовки в секунду.
  • EnableFrameRateCounter - включает отображение счетчика отрисованых фреймов в статус панеле(только для IE).

Теперь перейдем к обзору инструментов. Будем профилировать клиент Facebook'а.

UI Spy.

 Является частью Windows SDK. Позволяет увидеть часть компонентов пользовательского интерфейса в виде дерева. Что бы увидеть определенный элемент в жереве, достаточно расположить курсор мыши над ним и нажать клавишу Ctrl. Результат:

  IU Spy

 

XPerf

 Тоже является частью Windows SDK, а точнее Windows Performance Analysis Tools. Данный инструмент позволяет узнать показатели использования системных ресурсов. Показатели снимаются со всей системы. Нет ограничения по процессам. Поэтому при его использовании рекумендуется запускать минимум сторонныих процессов. Для диагностики с помощью XPerf необходимо проделать следующие шаги:

  1. Запустить командную строку с правами администратора
  2. Установить адрес сервера сцепю символов для отображения отладочной информации: C:\Windows\system32>set _NT_SYMBOL_PATH= srv*C:\Symbols*http://msdl.microsoft.co
    m/downloads/symbols
  3. Запустить XPerf: C:\Windows\system32>xperf -on base
  4. Около 10-ти секунд будет инициализироваться инструмент после чего можно проганять Silverlight приложение.
  5. Затем останавливаем логирование и результаты пишем в файл: C:\Windows\system32>xperf -d facebook.etl
  6. Что бы посмотреть на результаты откроем их в XPerfview: C:\Windows\system32>xperfview facebook.etl

В результате откроется окно с графиками:

 Windows Performance Analyzer

 Необходимо из главного меню загрузить символы отладки: Trace -> Load Symbols

Выделяем участок графика, который нас интересует 

 Windows Performance Analyzer

и выбираем "Summary Table" пункт контекстного меню. Откроется окно с детальным описание какой процесс сколько использовал системных ресурсов (процессор в данном варианте):

CPU Sampling Summary Table

 

Как вы могли заметить в некоторых ячейках содержится значение Unknown. Дело в том, что XPerf поддерживается версиями Silverlight 1-3. У меня же установлена Silverlight 4 Beta.

 

Silverlight Spy

Silverlight Spy мощнее предыдущих инструментов, но он платный. Позволяет:

  • увидеть дерево элементов управления;
  • отслеживать события;
  • мониторить обращение приложения к серверу;
  • мониторить использование ресурсов компьютера приложением;
  • и др.

 

Silverlight Spy

 

 

Visual Studio 2010

Профилирование в "сыром виде" присутствует с Beta 2. Детальнее читайте PDC video, TechEd Iceland, VS2010, profiling, Silverlight 4.

 

EQATEC

Инстумент платный. Возможности можно увидеть здесь.

 

Как видите существует набор инстументов для профилирования Silverlight  приложений, хотя они покрывается не всё. Но данное направления еще только развивается. Еще хочу порекомендовать доклад по профилированию с PDC10.

 



Posted on 13. February 2010

Материалы доклада "Профилирование Silverlight приложений"

Состоялась очередная встреча .Net сообщества Харькова. Презентацию моего доклада "Профилирование Silverlight приложений" можно скачать здесь и здесь. В ней вы найдете список инструментов для диагностики Silverlight приложений и ссылки на ресурсы по этой теме.



Posted on 29. November 2009

Материалы доклада "What's New in Silverlight 4"

27 ноября состоялась встреча .Net сообщества города Харькова. Презентацию моего доклада можно скачать здесь.

К ресурсам, указанным в презентации, хочу добавить еще несколько:

 



Posted on 18. November 2009

Вышел Silverlight 4 Beta.

На PDC 2009 Scott Guthrie объявил о выходе Silverlight 4 Beta и обнародовал статистику об установленных Silverlight плагинах. Она составляет 45% пользователей. Между Beta и Release версиями будет еще Release Candidate версия Silverlight 4. От количества нововведений в Silverlight 4 голова идет кругом. Итак приступим. В данной версии компания Microsoft сделала уклон на такие вещи:

·      Медиа

·      Бизнес приложения

·      Режим вне браузера

Рассмотрим каждый из пунктов.

Медиа:

·      веб камера и микрофон;

·      широковещание;

·      защита сигнала;

·      офлайн DRM.

Можно с IPhone зайти на http://www.iis.net/iphone и проверить работу IIS Media Servies (пока пусто).

Бизнес приложения:

·       Расширения:

o    печать из Silverlight приложений;

o    много возможностей по работе с текстом;

o    доступ к буферу обмена;

o    поддержка правой кнопки мыши;

o    поддержка колеса мыши;

o    drag&drop;

o    размещение HTML контента внутри Silverlight приложения;

o    Bidi & RTL;

o    команды и MVVM;

o    работа с COM объектами;

o    дополнительные элементы управления.

·       Данные и сеть:

o    улучшения в Data Binding;

o    Silverlight сборки можно использовать в .Net 4;

o    поддержка UDP широковещания;

o    улучшения в REST;

o    улучшения в WCF;

o    WCF RIA сервисы.

Работа вне браузера:

·         Windows API;

·         поддержка HTML;

·         Нотификация с помощью PopUp окон

·         возможность работы с файловой системой пользователя(для доверенных приложений)

Кроме того, добавлена поддержка браузера Google Chrome. И это еще не полный список всех возможностей Silverlight 4 Beta. По словам Scott'a в текущей версии реализовано 70% из списка пожеланий для Silverlight 4.

Если вас заинтересовал Silverlight 4 Beta, рекомендую начать с Silverlight 4 Beta Information.