Показаны сообщения с ярлыком Silverlight. Показать все сообщения
Показаны сообщения с ярлыком Silverlight. Показать все сообщения

Сводка с фронтов от инфицированных тестами e01

8 мая 2013 г. | | |

Открывает первую сводку с фронтов удараников TDD хвалебная статья-ода "Not Using Test-First? You're Doing it Wrong." Автор не просто рассказывает, почему TDD - это круто, а пытается объяснить, как и чем улучшает test-first подход процесс разработки. #en #tdd
Продолжая тему полезности TDD "Why Testing Makes a Project Successful and You Can’t Afford to Deny It". Автор развивает мысль о полезности тестирования, эпично приводя статистику расхода времени и денег на поиск и фикс багов:
According to prweb.com, recent Cambridge University research found that, on average, software developers spend 50% of their programming time finding and fixing bugs and estimate that this costs the global economy $312 billion per year.
Да уж, не кисло. Не будь частью этой статистики, пиши теты! #en

Дни разработчика в Краснодаре

8 окт. 2009 г. | | |

7 октября сего года прошел семинар "Дни разработчика'09" в Краснодаре, участником которого к превеликой моей радости мне посчастливилось быть.
Семинар состоял из трех докладов и серии вопросов-ответов. Конечно, мне как silverlight-разработчику, интересно было послушать доклад "Обзор возможностей Silverlight 3 и Expression 3". К сожалению, доклад был крайне обзорным - все это уже было опубликовано в блогах и на сайте microsoft, когда вышел Silverlight 3, поэтому того, чего мне хотелось услышать - более глубокого анализа технологии - не было. Но это не беда, потому что была открыта великая тайна - почему у silverlight нет поддержки Опера. :) Так же еще раз была отмечена тенденция перехода от Software and Services к Software as Services.
Что еще понравилось - вслух была произнесена магическая фраза "мы уже думаем о Silverlight 4", но на все вопросы ответ был "не располагаем информацией".
Понравился последний доклад "Возможности Windows 7 для разработчиков". Но больше всего понравились кофе-брейки :) Отменный кофе, хочу сказать. Да и печеньки у них неплохие :). Вобщем, Microsoft знает, что нужно разработчику - кофе и печеньки!

Создание собственного Splash Screen в Silverlight

24 авг. 2009 г. | | |


Создавая приложение, хочется всегда сделать что-нибудь такое эдакое, чтоб красиво и оригинально :) Стильный дизайн формочек, кнопочек и прочих элементов gui, делающих их такими привлекательными для пользователя, что он аж не может удержаться, чтоб не потыкать их мышкой, это хорошо. Это просто отлично. Но это все подается пользователю после загрузки программы, а до этого .... До этого мы видим Splash Screen. Вспомним PhotoShop, CorelDraw - пока загружаются необходимые библиотеки, мы видим Splash Screen с логотипом программы. Очень умный и хороший шаг. Но это для десктоп приложений. В сфере web-приложений (сейчас я говорю о приложениях, созданных с помощью Java, Flex, Silverlight) начальная загрузка приложения гораздо более длительна по времени в силу ограничений пропускной способности интернет-канала. И , ожидая загрузки приложения, мы зачастую видим однотипные Splash Screens, которые встроены и идут по умолчанию для конкретных инстументальных средств. Например, для Silverlight картинка загрузки приложения такова:Красиво, но для коммерческого законченого продукта непременимо. Даже для себя хочется чего-нибудь другого....
Чтобы изменить Spash Screen в Silverlight , потребуются руки, немного фантазии , любимые инструменты (топор и секира :) ) и вобщем-то всё :)
Изменения Splash Screen условно можно разделить на два этапа - подговка нового Splash Screen и его внедрение. Вот так это пафосно звучит :)
И так, создаем новое Silverlight-приложение со следующими опциями:


Далее, в настройках проекта изменяем стартовую страницу с *.asp на *.html:
Теперь в папку ClientBin добави файл SplashScreen.xaml. Уточню, что нам нужен только обычный xaml, не UserControl! В этом файле будет наш Splash Screen. Открываем файл в Expression Blend и редактируем. Вот что получилось у меня:


<Canvas xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Width="201" Height="89"
Background="#FFFFFFFF">
<canvas name="LayoutRoot">
<Rectangle x:Name="rectBorder" StrokeThickness="1" Stroke="#FFC8C8C8" Height="7" Width="200" HorizontalAlignment="Left"/>
<Rectangle name="rectBar" fill="#FF336EA9" height="7" width="0" horizontalalignment="Left" />
<textblock top="29" width="157" height="29" text="My Splash Screen" textwrapping="Wrap" fontsize="18" left="24" foreground="#FF1C516D"></textblock>
</canvas>
</canvas>


На этом, в принципе, первая часть заканчивается. Могу посоветовать добавить в клиентскую часть ресурсный файл и в него запихнуть чего-нибудь тяжелого, например, видео-ролик где-то размером с 20 мб. Это для того, чтобы успеть увидеть SplashScreen.
Теперь вторая часть - внедрение!
Создаем файл SpashSreen.js со следующим содержанием и добавляем его в серверную часть проекта (splash.web):


function onSourceDownloadProgressChanged(sender, eventArgs)
{
var rectBar = sender.findName("rectBar");
var rectBorder = sender.findName("rectBorder");
if (eventArgs.progress)
rectBar.Width = eventArgs.progress * rectBorder.Width;
else rectBar.Width = eventArgs.get_progress() * rectBorder.Width;
}




Это фунция будет вызываться каждый раз, как увеличится процент загрузки xap-файла приложения. Что и как делает функция, по-моему, понятно интуитивно.
Далее.
Открываем файл, который указали как стартовый при билде. У меня это splashTestPage.html. В раздел <head> страницы добавляем строку

<script type="text/javascript" src="SplashScreen.js"></script>.

Далее в теле документа Silverlight-объекту добавим такие параметры:


<param name="splashscreensource" value="ClientBin/SplashScreen.xaml">
<param name="onSourceDownloadProgressChanged" value="onSourceDownloadProgressChanged">

Все. Запускаем и наслаждаемся :)
Почитать еще об этой процедуре можно тут http://msdn.microsoft.com/en-us/library/cc903962(VS.95).aspx
Исходный код примера можно скачать тут http://wsite.in.ua/files/splash_screen.rar

Проблема NotFound с сервисами Silverlight

28 апр. 2009 г. | | |

Эта проблема очень долго меня мучала, и ничто толком не помогало из всех многочисленных вариаций на тему "как заставить это работать"....
НО! Решение, которое мне помогло, оказалось очень простым.
В Web.config в секции system.serviceModel добавляем baseAddressPrefixFilters адрес хоста, на котором расположен сервис:


<system.serviceModel>

<behaviors>
<serviceBehaviors>
...
</serviceBehaviors>
</behaviors>

<serviceHostingEnvironment aspNetCompatibilityEnabled="true">
<baseAddressPrefixFilters>
<add prefix="http://YOURHOST.COM" />
</baseAddressPrefixFilters>
</serviceHostingEnvironment>

<services>
...
</services>

</system.serviceModel>

Вот, собственно говоря, и всё :)