Как стать автором
Обновить
0

Silverlight *

Программная платформа, разработанная Microsoft

Сначала показывать
Порог рейтинга
Уровень сложности

Признаюсь: я писал поддельный экран загрузки

Время на прочтение13 мин
Количество просмотров26K

На выходных посмотрел видео Алексея Макаренкова с заголовком “Полоса загрузки - не то, чем кажется…”, где он рассказывает как разработчики игр мухлюют с полосой загрузки. Если кратко: это всё обман!

В видео Алексей говорит, что с одной стороны это было ожидаемое, а с другой, когда узнаёшь об этом, - берёт оторопь. Говорят об этом мало, даже в тех публикациях, которые касаются непосредственно создания экранов загрузки.

Я не разработчик игр, но и экраны загрузки встречаются не только в играх, и когда-то я сам был вынужден подделывать анимацию полосы загрузки.

Чтобы разрушить стену молчания, готов рассказать как это было, и подтвердить то, о чём все догадывались.

Приподнимем завесу...
Всего голосов 29: ↑28 и ↓1+37
Комментарии108

Новости

OpenSilver. Воскрешаем Silverlight

Время на прочтение3 мин
Количество просмотров9K

12 октября Майкрософт прекращает поддержку Silverlight. С одной стороны - ок, все равно никто им уже не пользуется. А с другой, выясняется, что есть много компаний, которые 10 лет назад написали свои внутренние продукты на Silverlight, и успешно все это время работают. А сейчас нет ни людей, знакомых с бизнес логикой этих приложений, ни времени/возможности/знаний все это переписать с нуля.

Мы попытались бросить соломинку таким компаниям и выпустили OpenSilver - бесплатную  опенсорс реализацию Silverlight, которая работает во всех современных браузерах через WebAssembly.

Читать далее
Всего голосов 19: ↑18 и ↓1+22
Комментарии19

Приглашаем на конференцию DotNext

Время на прочтение7 мин
Количество просмотров5.1K
3 июня в Санкт-Петербурге состоится пятая по счету конференция DotNext для разработчиков на платформе .NET. О будущем платформы .NET рассказывают Ромуальд Здебский, руководитель направления Microsoft по играм в Центральной и Восточной Европе, который сделает на DotNext доклад на тему «Разработка игр на платформе Microsoft — технологический обзор», и технологический евангелист Microsoft Дмитрий Сошников, который выступит на DotNext с докладом «Сколько жизней у .NET: размышляем о судьбах любимой платформы, гибели Silverlight и тому подобном».



Какими изначально были цели создания платформы .NET? Достигнуты ли они?


Дмитрий Сошников: Появление .NET — это реакция на повышение сложности программных систем. Когда стало слишком трудно создавать серьезные приложения на C++, особенно с учетом существования различных вычислительных платформ, появилась цель радикально упростить процесс создания программного обеспечения, в том числе многоплатформенного. И в конце концов исследователи научились изолировать аппаратные сложности (а заодно и ряд трудоемких моментов, таких, как распределение памяти, многопоточность и т.д.) на уровне абстрактной виртуальной машины, а прикладному программисту давать возможность создавать код для этой машины. Так появились Java и .NET. Но основной целью языка Java была возможность запускать один и тот же байт-код на всех устройствах, в то время как платформа .NET гордилась многообразием поддерживаемых языков программирования.
Надо сказать, что основные цели по сути были достигнуты уже по факту создания платформы. Теперь же мы продвинулись гораздо дальше. На основе .NET можно писать приложения под все основные мобильные платформы и под микроконтроллеры. В арсенале .NET-программиста — целый спектр языков от C# и F# до Python и Objective C. Код на базе .NET используется как на устройствах, так и в облаке. Мечта программиста сбылаcь — зная всего лишь один стек технологий, он может быть продуктивным, разрабатывая практически любой программный код.
Читать дальше →
Всего голосов 22: ↑17 и ↓5+12
Комментарии12

О приложениях UWP для разработчиков WPF

Время на прочтение8 мин
Количество просмотров55K

Хотел бы закодировать разработчиков WPF от боязни чего-то нового, рассказав про отличия, которые ожидают их при разработке приложений под универсальную платформу Windows. Так что ставьте банки перед монитором, я начинаю давать установку.

Какие-то изменения в языках программирования и платформах происходят постоянно. Представьте себе на минуту, что выйдет C# версии 10 и все. Это последняя версия. Представили? Я представил. И в моем представлении если это и случится когда-нибудь, то эта последняя версия языка будет регулярно обновляться.

Были «чудесные» времена, когда у меня немного разбегались глаза от различий в коде (даже в коде XAML): WPF, Silverlight, Windows Phone, потом WinRT, а теперь еще и UWP. Сколько разработчиков никогда не путаются? Я думаю, что большинство разработчиков не держат все в памяти. Достаточно держать в памяти основные концепты работы. Когда дело касается кодирования, то используются вспомогательные инструменты вроде IntelliSense, Blend и т.п. Никуда не уйти и от использования сниппетов.
Читать дальше →
Всего голосов 23: ↑17 и ↓6+11
Комментарии2

Истории

Как получить удобный доступ к XAML-ресурсам из Code-Behind

Время на прочтение13 мин
Количество просмотров19K


Хочу рассказать, как максимально удобно работать с XAML-ресурсами из Code-Behind. В этой статье мы разберемся, как работают пространства имен XAML, узнаем о XmlnsDefinitionAttribute, используем Т4-шаблоны и сгенерируем статичный класс для доступа к XAML-ресурсам.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии12

Обновляем Windows Phone Silverlight 8.0 приложение до Windows Phone Silverlight 8.1

Время на прочтение9 мин
Количество просмотров8.1K

Мы продолжаем цикл статей, посвященных обновлению Windows Phone 8.0 приложений до версии 8.1. Сегодня мы рассмотрим новые возможности Silverlight 8.1 и процесс обновления приложений Windows Phone Silverlight 8.0 до версии 8.1.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии7

WCF RIA Services. Внедряем паттерн Model-View-ViewModel (MVVM). Часть 4

Время на прочтение9 мин
Количество просмотров9.8K
WCF RIA Services. Начало. Часть 1
WCF RIA Services. Получение данных. Часть 2
WCF RIA Services. Обновление данных. Часть 3
WCF RIA Services. Внедряем паттерн Model-View-ViewModel (MVVM). Часть 4

Вступление


Паттерн Model-View-ViewModel (MVVM) используется для создания слабо связанных приложений на Silverlight и WPF. В данном курсе мы не будем рассматривать основы данного подхода, а просто узнаем как внедрить его в наш проект, который мы создавали на протяжении 3 уроков. Если не внедряться в дебри, то MVVM – это одна из альтернатив, которая является логическим развитием таких паттернов программирования как MVC и MVP и полностью поддерживает привязку данных, команды, и все возможности, которые предоставляют Silverlight и WPF. Модель вида (ViewModel) отвечает за предоставление виду (View) всех необходимых ресурсов. То есть предоставляются все необходимые свойства для того, что б вид мог легко осуществлять привязку данных, создание команд, а в модели вида тем временем присутствует и работает вся необходимая приложению логика. Структурно, устанавливаемый «DataContext» равен экземпляру модели вида, с которым происходит связывание данных (binding).

Основным преимуществом такого подхода является практически полная независимость вида от модели вида, что грубо можно выразить, как независимую разработку каждой части программистом и дизайнером. Так же, приятным следствием такого разделения является достаточная легкость создания модульных текстов (unit test), так как логика абсолютно не связана с UI (интерфейсом пользователя).

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

Шаг 1: Создание модели вида


Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии2

WCF RIA Services. Обновление данных. Часть 3

Время на прочтение6 мин
Количество просмотров6.3K
WCF RIA Services. Начало. Часть 1
WCF RIA Services. Получение данных. Часть 2
WCF RIA Services. Обновление данных. Часть 3
WCF RIA Services. Внедряем паттерн Model-View-ViewModel (MVVM). Часть 4

В предыдущем уроке мы более подробно ознакомились с возможностями получения данных в WCF RIA Services. Сегодня поговорим о процессе обновления данных, который является более сложным.

Вступительной частью является проект, созданный во втором уроке.

IQueryable<T> и магия деревьев выражений

Читать дальше →
Всего голосов 3: ↑2 и ↓1+1
Комментарии0

WCF RIA Services. Получение данных. Часть 2

Время на прочтение7 мин
Количество просмотров13K
WCF RIA Services. Начало. Часть 1
WCF RIA Services. Получение данных. Часть 2
WCF RIA Services. Обновление данных. Часть 3
WCF RIA Services. Внедряем паттерн Model-View-ViewModel (MVVM). Часть 4

Общие сведения


В первой части мы ознакомились, что за зверь такой WCF RIA Services, и создали приложение, которое можно коротко назвать, как «Hello world». Все было очень просто, красиво, а так же «drag and drop». Однако для создания настоящих, больших и функциональных приложений нужно еще много чего выучить, например какие возможности доступны в клиентской части, и как их использовать. В этом уроке мы копнем немножко глубже в области получения данных на клиентской стороне. Так же Вы узнаете о конвенциях, которые используются для методов, получающих данные, определенные в серверной части, как их настраивать, используя атрибуты. Расскажу о некоторых программных реализациях, которые можно использовать для получения данных на стороне клиента и как использовать данные, которые используют отличные от Entity Framework источники.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии4

WCF RIA Services. Начало. Часть 1

Время на прочтение10 мин
Количество просмотров40K
WCF RIA Services. Начало. Часть 1
WCF RIA Services. Получение данных. Часть 2
WCF RIA Services. Обновление данных. Часть 3
WCF RIA Services. Внедряем паттерн Model-View-ViewModel (MVVM). Часть 4

От переводчика


В данном цикле переводов присутствует хорошая доля, добавленная лично мной, так как в оригинале используется устаревшая VS, а так же пропущены некоторые, на мой взгляд важные моменты, без которых усвоение материала сильно усложняется. Поехали.

Осторожно. Много картинок!

Вступление


Представьте, что Вам необходимо создать серьезное бизнес приложение, клиент которого оперирует множеством данных, распределенных в различных местах, и которые должны каким-то образом собираться. Для реализации такой задачи Вам будет необходимо изучить ряд новых технологий и подходов, написать кучу кода, отладка. А что в итоге? Если грубо — то просто пересылка данных с серверной части приложения в клиентскую и обратно. Ну и работа с БД. А на что бы Вы хотели сфокусироваться в первую очередь? На реализации пересылки данных? Или на логике обработки, манипулирования, представления этих данных? Думаю, Вы выберете второе.

WCF RIA Services предлагает автоматизацию пересылки данных и создания многоуровневых приложения на основе Silverlight, фокусируя внимание разработчика именно на логике работы. Вы пишите только один раз экземпляр серверного кода, а он автоматически переносится и становится доступным на клиентской стороне, без необходимости ручного дублирования или применения других ухищрений со стороны разработчика. Так же на клиенте остаются доступны все серверные возможности, такие как валидация, права доступа и многие др.

В этом цикле статей Вы ознакомитесь с основными возможностями WCF RIA Services, увидите на практике какие преимущества предоставляет использование данного подхода. На диаграме ниже показано, за что именно отвечает WCF RIA Services:
image
Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии6

Как мы приложение с Silverlight на Windows 8 портировали

Время на прочтение6 мин
Количество просмотров7.4K
Недавно мы портировали на Windows 8 относительно объемное бизнес приложение — редактор диаграмм, флоу чартов и другой деловой графики. Изначально этот редактор был написан под платформу Silverlight, но мы его переписали под Windows Runtime и успешно разместились с ним в Windows 8 Store. К сожалению, стандартных контролов нам очень не хватало, поэтому попутно пришлось ещё написать свою библиотеку контролов. И теперь мы готовы поделиться опытом. В этой статье собран ряд нюансов разработки приложений под Windows 8 — от проектирования интерфейса пользователя до технических деталей по работе с DirectX.

Читать дальше →
Всего голосов 51: ↑41 и ↓10+31
Комментарии29

Silverlight. Практическое руководство

Время на прочтение3 мин
Количество просмотров4.3K
image
Автор: П. Браун
Перевод: О. Сивченко
Дата выхода: 08/02/2012


Рецензия книги составлена на основе статьи Бена Мичелсона.

Доброго дня Хабраюзеры. Хотим вашему вниманию представить замечательное руководство по программной платформе Silverlight 4. Выбор прототипа для перевода пал на популярную серию In Action издательства Manning Publications.

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

Читать дальше →
Всего голосов 16: ↑5 и ↓11-6
Комментарии5

Упрощение регистрации и работы с DependencyProperty

Время на прочтение4 мин
Количество просмотров18K
При работе с WPF/Silverlight, периодически приходится создавать кастомные DependencyProperty, в основном при создании контролов. Стандартный подход объявления и работы с ними не идеальный и имеет минусы, о которых будет сказано ниже. Соответственно, появилась идея упростить запись регистрации и работы с DependencyProperty.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии17

Ближайшие события

Конференция HR API 2024
Дата14 – 15 июня
Время10:00 – 18:00
Место
Санкт-ПетербургОнлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область

XAML: Вложенные конвертеры

Время на прочтение4 мин
Количество просмотров4.4K
Интро

В XAML (SilverLight /Wpf /Metro) конвертеры используются для самых различных целей: приведение типов, форматирование строк, калькуляция скалярного значения сложного объекта. В рамках проекта мы можем создать очень много классов-конвертеров, решающих смежные задачи (вычисление состояния заказа и конвертация его в Visibility, конвертация состояния заказа в Cursor, конвертация булевого значения в Visibility/Invisibility и т.д.). Нетривиальная ситуация: мы написали конвертер для необычно сложного форматирования TimeSpan, и теперь требуется форматировать Duration таким же образом – необходимо писать аналогичный конвертер, но уже с предварительной распаковкой TimeSpan из Duration. Вариантов преобразования строк может быть множество, и для всех преобразований потребуется такое же множество конвертеров.
Естественно, стараясь обобщить код, мы разбиваем конвертацию на более мелкие процедуры, и, как следствие, у нас встречаются классы-конвертеры, состоящие из двух строчек кода, используемые только один раз.
Многие не знают, что для упрощения ситуации и уменьшения количества строчек кода, возможно комбинирование преобразований не в классах конвертеров, но в XAML разметке, путем создания цепочек конвертеров. Для этого необходимо написать свой абстрактный конвертер, от которого мы будем наследовать все наши преобразования.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии6

Доступ к картинкам в изолированном хранилище

Время на прочтение3 мин
Количество просмотров2.5K
Привет хабраюзеры!

Выполнив несколько проектов на wp7, я столкнулся с часто возникающей задачей: хранения изображений в изолированном хранилище и последующей отрисовкой этих изображений. При просмотре тематических блогов и статей я не обнаружил ничего кроме самого прямого и простого ресурсоемкого способа это сделать. Как оказывается — так делают все! Итак, давайте поговорим об этом способе и о моем небольшом отркытии.
Читать дальше →
Всего голосов 10: ↑5 и ↓50
Комментарии7

Создание Attached Property для BusyIndicator шаг за шагом

Время на прочтение4 мин
Количество просмотров6.5K
Данная статья является продолжением статьи Автоматический BusyIndicator для асинхронных операций и не только.

Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии5

Автоматический BusyIndicator для асинхронных операций и не только

Время на прочтение3 мин
Количество просмотров4.9K
Использование такого компонента как BusyIndicator привнесит в наше приложение приятные (индикация процесса) и полезные (блокировка элемента управления) качества. Однако до последнего времени я редко использовал его, т.к. при асинхронном получении источника данных приходилось постоянно писать дополнительный код для включения/выключения. При синхронной работе ситуация вроде как упрощается, но использование MVVM-модели всё-равно требует дополнительных телодвижений. Особенно, если BusyIndicator добавляется в самом конце разработки формы.

Поэтому, я решил максимально автоматизировать этот процесс, чтобы мне не приходилось писать ни строчки кода. Итак:
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии6

Доступ к буферу обмена операционной системы из веб-приложения

Время на прочтение5 мин
Количество просмотров24K
Возможно, вам понадобится использование буфера обмена операционной системы прямо со страницы веб-приложения в браузере. Немного изучив информацию можно обнаружить, что сделать это напрямую со страницы HTML средствами javascript невозможно в связи с политикой безопасности, конкретно, запись в него может быть использована в нехороших целях злоумышленниками. Обходных путей несколько, о них можно найти много ссылок и примеров.
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии12

Загрузчик изображений. Закрывая тему

Время на прочтение8 мин
Количество просмотров3.4K

Предисловие


Всем привет. О создании загрузчика изображений я уже писал. Сначала — загрузчик на flash, затем — на html5. По большому счёту, этих двух вариантов достаточно. И если вы поклонник рациональности, а сама тема особенного интереса не вызывает, то можете дальше не читать.
Рабочий пример загрузчика на Silverlight 4 привожу здесь же: да вот он.
Мало текста и много кода
Всего голосов 23: ↑16 и ↓7+9
Комментарии16

Silverlight 5 Released!

Время на прочтение1 мин
Количество просмотров5K
Microsoft выпустили Silverlight 5. Поддержка будет производиться до 2021 года.



Установочный файл Silverlight 5 весит меньше 7МБ и устанавливается за 10 секунд. В него добавили много вкусного и полезного.
Читать дальше →
Всего голосов 64: ↑40 и ↓24+16
Комментарии34
1
23 ...

Вклад авторов