6/13/2008

Использование Silverlight

Вывод графики на веб-страницу можно организовать с помощью Silverlight. Например, надо вывести черный квадрат. Ниже приводится код страницы с встроенной графикой:

<html>
<body>
<script type="'text/xaml'" id="'scene'"><?xml version='1.0'?>
<canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x="http://schemas.microsoft.com/winfx/2006/xaml">
<rectangle width="50" height="50" stretch="Fill" fill="Black">
</canvas>
</script>
<object type="application/ag-plugin" classid="clsid:DFEAF541-F3E1-4C24-ACAC-99C30715084A"
style="border: 0px; width: 100px; height: 100px;">
<param name="source" value="#scene">
</object>
</body>
</html>

Если установлен Silverlight (версия 2.0 - весит чуть больше 4Mb), то можно код примера сохранить в текстовом файле с расширением .htm и открыть в IE.

Усложним задачу. Добавим текст Hello и при щелчке левой кнопкой мыши будем выводить сообщение. Ниже в примере болдом выделено то, что было добавлено:

<html>
<body>
<script>
function showDlg()
{
alert(1);
}
</script>

<script type='text/xaml' id='scene'><?xml version='1.0'?>
<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Rectangle Width="50" Height="50" Stretch="Fill" Fill="Red" />
<TextBlock Text="Hello" MouseLeftButtonDown="showDlg" />
</Canvas>
</script>
<object type="application/ag-plugin" classid="clsid:DFEAF541-F3E1-4C24-ACAC-99C30715084A"
style="border: 0px; width: 100px; height: 100px;">
<param name="source" value="#scene" />
</object>
</body>
</html>

P.S.
Кстати, в Silverlight есть множество контролов, которые поддерживают связывание данных и т.д. А обработчики можно создавать на C# в бесплатной Visual Studio.
Так что же выбрать для реализации интранет сайта: Silverlight или флеш (Adobe Flash)? ;)

6/11/2008

Еще одна площадка для общения

Сайт http://culmination.culminis.com создан при поддержке Microsoft TechNet и Culminis.
Любой, у кого есть Live ID, может управлять рабочими группами / блогами, назначать события; есть теги и т.д. и т.п.
Страницы приходят быстро.

P.S.
Live ID и прикольные почтовый ящики по 5 Gb можно получить в Мыльнице.

6/09/2008

AJAX vs Silverlight

Вообще-то AJAX нельзя сравнивать с Silverlight'ом, потому что AJAX предназначен ТОЛЬКО для обмена данными между браузером и сервером. А Silverlight - это графика, видео, анимация, обмен данными, реализация логики на современном языке программирования C# и многое другое в одном флаконе (бесплатно, весит 4Mb). Silverlight создан в Microsoft в рамках стратегии Web user experience (UX).

Предположим, что есть следующая Задача: надо в браузере отобразить прямоугольник (заливка: вертикальный градиент - зеленый в синий, размер: 800 px на 3000 px) с текстом Hello (цвет: белый); при клике на Hello надо отправить на сервер, например, время клиента. Решение: открыть графический редактор, создать в нем прямоугольник с градиентной заливкой, написать слово Hello; сохранить в файле в одном из форматов (jpeg, gif, png); создать html-страницу, добавить в нее тег img ... и т.д. и т.п; да, еще надо написать на Jscript код, который обработает нажатие (с этим придется повозиться). Минусы: вес у jpg-файла получится больше 40Kb; графику создавалась вручную.

Но так было раньше. А теперь Решение (на Silverlight 2): создается xaml-файл, примерно такой:
<UserControl x:Class="SilverlightApplication2.Page"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Width="800" Height="3000">
<Canvas>
<Rectangle Stroke="#FF000000" Width="800" Height="3000">
<Rectangle.Fill>
<LinearGradientBrush>
<LinearGradientBrush.GradientStops>
<GradientStop Color="#FF00FF00" Offset="0"/>
<GradientStop Color="#FF0000FF" Offset="1"/>
</LinearGradientBrush.GradientStops>
</LinearGradientBrush>
</Rectangle.Fill>
</Rectangle>
<TextBlock Text="Hello" FontFamily="Georgia" FontSize="18" Margin="100,10,10,10"/>
</Canvas>
</UserControl>

И все! Никаких графических редакторов не надо. И самое главное, что "Hello" можно заменить программно. Обработчик клика можно писать не на Jscript, а на C# и не надо никакой возни с определением положения текста в рисунке! Анимация тоже делается достаточно просто. После того как xaml-файл создан, он загружается в Silverlight (ActiveX-компонент). Кстати, Silverlight существует для разных браузеров (под Windows, Linux, КПК и смартфонов) и работает везде одинаково.

Существует удобный графический редактор для создания xaml-файлов - это Expression Design, который входит в состав Microsoft Expression Studio. Кстати, многие из тех, кто был на remix.ru получили Expression Studio в подарок, так что не пропустите следующий remix.

P.S.
некоторые называют Silverlight - сервелат :)

6/04/2008

Веб-камера с углом обзора в 360 градусов

Веб-камер RoundTable с углом обзора в 360 градусов предназначена для проведения видеоконференций с участием большого количества людей. Камера автоматически переключается на того участника конференции, который начинает говорить.



Имеется возможность передачи как панорамного, так и портретного изображения. RoundTable была разработана в рамках проекта RingCam.

Microsoft Surface

Видео о настоящем и будущем Microsoft Surface - http://www.microsoft.com/surface/index.html, а также полезные ссылки на блог команды и т.д.