Pull to refresh
  • by relevance
  • by date
  • by rating

Mozilla Labs играется с призмой

Lumber room
Mozilla Labs объявила о начале серии экспериментов по интеграции вебприложений на привычный пользователю десктоп. Цель начинания — исследование и поиск юзабилити моделей, которые могут оказаться востребованными в данной области. В анонсе на Mozilla Labs Blog особо подчеркивается, что «в отличие от Adobe AIR и Microsoft Silverlight, мы не пытаемся построить закрытую платформу для замены веба».

Читать дальше →
Total votes 30: ↑27 and ↓3 +24
Views 306
Comments 32

Второй взгляд сквозь призму

Lumber room
Когда то я уже писал про призму от мозиллы. А тут оценив удобства Adobe Air под виндой и устав ждать его аналога под Linux (Пардон! после встречи с RMS нужно говорить только GNU/Linux!) я решил посмотреть на аналоги. Сразу вспомнилась Prism’а. Как выяснилось её сборки есть уже под все три популярные оси, что конечно очень приятно на фоне обещаний от Adobe.

Установка тривиальна, точнее её просто нет. Запускаете бинарник в консоле и радуетесь, но радуетесь не долго потому как смотреть особо и не на что. Если Air предоставляет програмистам целую среду на которой можно писать хорошие программы типа twhirl, то призма умеет всего лишь запускать тот же самый Firefox просто лишенный всяческих элементов интерфейса.

Знаете, ещё бы полгода назад меня бы это устроило. Отчасти это удобнее для постоянно используемых программ нежели держать огнелис который к тому же не очень милосердно обращается с памятью, но после выхода воздуха от адоба… Нет, это не то. И если Mozilla не доработает свой продукт то я, честно говоря, слабо понимаю кому он такой сдался.

Единственное его применение у меня сейчас это быстрый вызов Google Notebook по горячей клавише. И то это я сделал скорее из желания хоть как то использовать интересный концептуально софт.
Total votes 12: ↑10 and ↓2 +8
Views 404
Comments 2

Веб vs Десктоп

Lumber room

Со времен первой интернет-странички утекло не так уж и мало времени. Задачи и возможности Веба менялись изо дня в день. Можно заметить, что некоторые веб-приложения настолько тяжелы — совсем не вписываются в иделогию мультаба браузеров, что так и хочется вынести их на Десктоп. Т.е. тем самым сделать шаг назад, противоположному тому, который мы сделали с Вебом.

Так где это шаткая граница: за которой — приложение уже не может жить в узких рамках десктопа, или же, удобнее взять и перенести его обратно, допустим, маленькой иконкой возле часов.

Тенденции таких спарадических прыжков видны уже сейчас. К примеру, Mozilla Foundation с Prism и Weave. Или даже более тесная интеграция у Adobe со своим свежим Air.

А какие бы сервисы Вам удобнее использовать на Десктопе и, наоборот?
Total votes 21: ↑17 and ↓4 +13
Views 981
Comments 73

Web-приложения на рабочем столе

Lumber room
undefined
С развитием интернета появляется огромное количество сервисов, они классные удобные и порой воплощают все ваши заветные мечты в жизнь. Например та же почта в Gmail — золото, а не сервис. Лично я постоянно держу ее открытой. Или тот же Google.Docs и — отличная замена для громадного пакета от Microsoft, да пусть есть маленькие недостатки, но это если сильно придираться, ну согласитесь идеальный редактор. Такой список можно перечислять бесконечно, одно ясно, все эти сервисы постепенно вытесняют так называемые desktop-приложения, приложения установленные в ваш компьютер.Но есть одно маленькое но, держать открытыми такие web-приложения в браузере, как минимум не удобно, да и непривычно. Не удобно, потому как в браузере постоянно открываются закрываются вкладки, ненароком можно
и закрыть нужный вам сервис, ясное дело, с ним было бы легче работать будь он в отдельным окне, да и намного привычнее.
Сегодня мы поговорим о программе, готовой помочь в этом нелегком деле.
Читать дальше →
Total votes 55: ↑46 and ↓9 +37
Views 383
Comments 101

Радио–Т #95

Lumber room
— Google помогает Яндексу и сдает своих пользователей
— Грядет перенос сервисов в оффлайн и веба в программы
— Свобода андроида под угрозой
— Apple с наездами на альтернативного производителя
— iPhone и слухи о новых ноутбуках
— Пара/тройка слов на высоко–гиковые темы
— Sun уходит в грустные дали
— Темы наших слушателей

* То, что было после записи #95, после записи #94 и после #93
* Качество контента, как впрочем и качество звука для бонусов НЕ гарантируется.
Total votes 3: ↑3 and ↓0 +3
Views 232
Comments 53

Практикум Silverlight: Начинаем работать с Composite Application Library

.NET *

Для кого эта статья



Данный пост будет интересен для вас если:

  1. Вы нацелены на развитие
  2. Вы работаете с RIA средой, такой как Silverlight (так же WPF)
  3. Если вы уже где-то слышали такие слова как Composite Application Guidance, Composite Application Library
  4. Вы заинтересовались статьей Павла ИвченковаСоздание приложения на WPF с использованием принципов TDD 
  5. Вам было интересно прочитать статью AcervUse Case Driven Development и Composite UI Application Block

Читать дальше →
Total votes 33: ↑22 and ↓11 +11
Views 1.6K
Comments 13

Mozilla's Prism 1.0: Альфа, которую назвали Бетой

IT-companies
imageНа прошлой неделе Mozilla Labs объявили о запуске бета-версии 1.0 «Prism» и обновили сайт для содействия этому процессу.
Немного поигравшись, попробую выявить лучшие и худшие стороны в этом последнем релизе.

Prism можно скачать в двух вариантах – как приложение и как плагин к Firefox.

Основные и новые возможности:
  • Доступ к Web приложению с рабочего стола или OS X dock, то есть отовсюду, в виде обычного ярлыка. Упор сделан на: «Теперь не обязательно запускать браузер. Современные браузеры стабильны, но все же Prism надёжнее и не упадет с Лисичкой».
  • Новый, но еще сыроватый API, который даст сайтам, сделанным под Prism, больше возможностей взаимодействия с десктопом. Например, прямой drag-and-drop, перекрестные ссылки с Веб приложением и тому подобное.
  • Настраиваемые шрифты.
  • Возможность работать через прокси.
  • Очистка личных данных
  • Автоматическое обновление (заявлено, но, по секрету, пока работает коряво).
  • Автозагрузка «приложений».
  • При работе с RSS и почтой – обновление информации в трее, всплывающие оповещения.
  • Поддержка SSL (Стабильно только с Google и Mozilla сертификатами, Microsoft не очень).

Читать дальше →
Total votes 45: ↑38 and ↓7 +31
Views 471
Comments 44

Xaps Minifier. Дополнение для Visual Studio 2010, позволяющее уменьшать размер Silverlight приложений

Silverlight
Я постоянно работаю с Silverlight приложениями и выкладываю релизы регулярно. Как правило, я использую паттерн MVVM и его реализацию Prism. В результате создаётся несколько XAP файлов, содержащих сборки приложения и манифест.

Каждый, кто работает в соответствии с таким подходом, замечает, что большинство XAP файлов содержат дублирующиеся сборки. Например, при использовании библиотеки Prism, практически каждый XAP файл будет содержать все сборки из этой библиотеки. Prism добавляет порядка 300 Кб к каждому XAP файлу, что может увеличить размер приложения более чем на 1 Мб (при наличии 4-5 XAP файлов). Кроме того, дополнительные библиотеки (в первую очередь UI элементов) могут ещё более увеличить размер приложения.

Все эти факты заставили меня начать поиск пути уменьшения размеров XAP файлов.
далее
Total votes 48: ↑34 and ↓14 +20
Views 1.8K
Comments 5

2Гига.Выпуск #22: С техническим уклоном

Lumber room
2ГигаУчастники:
Евгений Жарков
Владимир Юнев
Гость:
Денис Гладких
 

Содержание: Длительность: ~70 минут
Подкаст на RPOD, POD.FM
Total votes 35: ↑25 and ↓10 +15
Views 408
Comments 8

Семинары «Embarcadero RAD Studio: поколение XE»

Delphi *
Друзья, в Киеве (13 сентября) и в Москве (14 сентября) пройдут семинары, посвященные выходу новой версии семейства средств разработки Embarcadero RAD Studio XE, включающей в себя Delphi XE, C++Builder XE, Delphi Prism XE, RadPHP XE.

Семинар проводит Дэвид Интерсимоне (David I), главный евангелист Embarcadero Technologies. С докладами также выступят представители московского офиса компании.
К участию приглашаются разработчики, архитекторы, администраторы баз данных, руководители ИТ-отделов.

Участие – бесплатное.

Предварительная регистрация является обязательной.

Регистрация и более полная информация:


Лично моё тело хотело бы побывать в обоих местах.
Total votes 11: ↑7 and ↓4 +3
Views 1K
Comments 4

Миграция Silverlight приложений с Prism 2.2 на Prism 4 MEF edition

Silverlight
Подходит время, когда будет объявлено об окончании разработки библиотеки Prism 4, предназначенной для создания модульных и гибких Silverlight и WPF приложений. Новая версия имеет большое число изменений, улучшений и нововведений. В качестве одного из главных нововведений можно отметить добавление поддержки MEF в качестве контейнера (в предыдущей версии поддерживался только Unity контейнер).

В этой статье я хотел бы затронуть вопрос миграции с Prism 2.2 на Prism 4 c учётом перехода на использование MEF контейнера вместо Unity.
Читать дальше →
Total votes 3: ↑3 and ↓0 +3
Views 1.5K
Comments 2

Команде разработчиков MVVM библиотеки Prism нужна ваша помощь

.NET *
В одном из недавних твиттеро-постов я отметил, что работа над библиотекой Prism приостановлена после выхода 4-й версии. В ответ на это я получил сообщения от Ade Miller (бывший дев лид в комманде patterns & practices) и от Bob Brumfield (работает в patterns & practices на проектах Prism, Enterprise Library, и Windows Phone 7 guidance).
Читать дальше →
Total votes 48: ↑34 and ↓14 +20
Views 2.1K
Comments 10

Простой RegionManager

.NET *C# *
Sandbox
Многим известна библиотека Prism, но зачастую весь её обширный функционал ненужен. Иногда хочется воспользоваться некоторыми плюшками из этой библиотеки.
Просто так выдрать малый кусок кода не получается, тогда приходится создавать свою реализацию с более или менее приближенным функционалом.
RegionManager — одна из интересных плюшек, простую реализацию которой мы и рассмотрим
Читать дальше →
Total votes 12: ↑9 and ↓3 +6
Views 2K
Comments 0

Prism и запросы взаимодействия с пользователем

.NET *C# *
Tutorial
В руководстве по Prism можно найти небольшое упоминание о том, как обрабатывать запрос на взаимодействие с пользователем с помощью класса InteractionRequest. Напомню, о чём там шла речь:

Использование объектов запроса на взаимодействие



Один из подходов к осуществлению взаимодействия с пользователем при использовании шаблона MVVM — позволить модели представления посылать запрос на взаимодействие непосредственно в представление. Это можно осуществить с помощью объекта запроса взаимодействия (interaction request), сопряжённого с поведением в представлении. Объект запроса содержит детали запроса на взаимодействие, а также делегат обратного вызова, вызываемый при закрытии диалога. Также, данный объект содержит событие, сообщающее о начале взаимодействия. Представление подписывается на это событие для получения команды начала взаимодействия с пользователем. Представление обычно содержит в себе внешний облик данного взаимодействия и поведение (behavior), которое связано с объектом запроса, предоставленным моделью представления.

Использование объекта взаимодействия запрос для взаимодействия с пользователем

Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 12K
Comments 0

Portable Prism

Abnormal programming *.NET *Development for Windows Phone *
Посвящается фанатам группы Microsoft Patterns&Practices и просто любителям такой полезной штуки как Microsoft PRISM.

Разработчики, которые в своей практике встречались с Microsoft PRISM, вероятно, имеют двоякое мнение об этом фреймворке. С одной стороны, в своей по номеру 4-й, а по порядку 3-й, версии – это очень мощный и гибкий инструмент для создания композитных приложений, а с другой стороны довольно непонятная и запутанная библиотека. Но можно на PRISM взглянуть и просто как на реализацию шаблона MVVM, чем PRISM для Windows Phone по сути и является.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 5.9K
Comments 1

Руководство разработчика Prism — часть 1, введение

.NET *C# *
Translation
Tutorial
Если вы разрабатываете приложения для XAML-based платформ, таких как WPF, Silverlight, Windows Phone, или Windows Store, то Prism, определённо, сильно поможет вам упростить их разработку. После создания нескольких проектов с использованием Prism, я убедился в работоспособности такого подхода и решил подготовить перевод официального руководства Prism. Итак, часть первая, что же такое Prism.
Оглавление
  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
    1. Рекомендации по разработке пользовательского интерфейса
  8. Навигация
    1. Навигация на основе представлений (View-Based Navigation)
  9. Взаимодействие между слабо связанными компонентами

Prism является руководством, разработанным для того, чтобы помочь проектировать и создавать насыщенные, гибкие и легко поддерживаемые Windows Presentation Foundation (WPF) приложения, Silverlight Rich Internet Applications (RIAs), и программы под Windows Phone 7-8, а также Windows Store приложений. Используя паттерны проектирования, которые воплощают важные принципы архитектурного дизайна, такие как разделение ответственности (Separation of Concerns, SoC) и слабая связанность (Loose coupling), Prism помогает вам проектировать и писать приложения со слабо связанными компонентами, которые могут независимо развиваться и потом объединяться в одно целое с минимальными усилиями. Этот тип приложений известен как составные приложения.

Читать дальше →
Total votes 36: ↑30 and ↓6 +24
Views 125K
Comments 24

Руководство разработчика Prism — часть 2, инициализация приложений Prism

.NET *C# *
Translation
Tutorial
Оглавление
  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
    1. Рекомендации по разработке пользовательского интерфейса
  8. Навигация
    1. Навигация на основе представлений (View-Based Navigation)
  9. Взаимодействие между слабо связанными компонентами

Эта глава рассказывает о том, что нужно сделать для загрузки приложения Prism. Приложение Prism требует регистрации и конфигурации компонентов во время запуска – этот процесс известен как bootstrapping.

Что такое загрузчик (Bootstrapper)


Загрузчик является классом, ответственным за инициализацию приложения, созданного с использованием библиотеки Prism. При использовании загрузчика вы получаете больший контроль над тем, как компоненты библиотеки Prism создаются и соединяются при запуске вашего приложения. Библиотека Prism включает абстрактный базовый класс загрузчика, который может быть специализирован для использования с любым контейнером. Многие из методов в классах загрузчиков являются виртуальными. Можно переопределять эти методы для предоставления собственной их реализации.

Основные этапы процесса загрузки.
Читать дальше →
Total votes 16: ↑10 and ↓6 +4
Views 29K
Comments 0

Руководство разработчика Prism — часть 3, управление зависимостями между компонентами

.NET *C# *
Translation
Tutorial
Оглавление
  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
    1. Рекомендации по разработке пользовательского интерфейса
  8. Навигация
    1. Навигация на основе представлений (View-Based Navigation)
  9. Взаимодействие между слабо связанными компонентами

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

Для связи всех частей воедино, Prism приложения полагаются на DI контейнер. DI контейнеры уменьшают зависимости между объектами, предоставляя способ создания экземпляров классов и управления их временем жизни в зависимости от конфигурации контейнера. При создании объектов с помощью контейнера, он инжектирует в них необходимые зависимости. Если зависимости ещё не были созданы, то контейнер в начале создаёт их и разрешает их собственные зависимости. В некоторых случаях, сам контейнер внедряется как зависимость. Например, при использовании Unity, в модули внедряется контейнер для того, чтобы они могли зарегистрировать в нём свои представления и службы.

Есть несколько преимуществ использования контейнера:
  • Контейнер устраняет потребность компонента определять местоположение его зависимостей или управлять временем их жизни.
  • Контейнер позволяет заменять реализации, не влияя на компоненты.
  • Контейнер облегчает тестируемость, позволяя внедрять в объекты фальшивые зависимости.
  • Контейнер упрощает обслуживание, позволяя легко добавлять к системе новые компоненты.

В контексте приложения, основанного на библиотеке Prism, есть определённые преимущества использования контейнера:
  • Контейнер разрешает зависимости модуля при его загрузке.
  • Контейнер используется для регистрации и создания моделей представления и представлений.
  • Контейнер может создавать модели представления и внедрять представления.
  • Контейнер внедряет службы составного приложения, такие как менеджер регионов, или агрегатор событий.
  • Контейнер используется для регистрации специфичных для модуля служб со специфичной для модуля функциональностью.

Читать дальше →
Total votes 19: ↑15 and ↓4 +11
Views 21K
Comments 28

Руководство разработчика Prism — часть 4, разработка модульных приложений

.NET *C# *
Translation
Tutorial
Оглавление
  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
    1. Рекомендации по разработке пользовательского интерфейса
  8. Навигация
    1. Навигация на основе представлений (View-Based Navigation)
  9. Взаимодействие между слабо связанными компонентами

Модульное приложение является таким приложением, которое можно разделить на ряд функциональных блоков (модули), которые могут быть интегрированы в одно целое. Клиентский модуль инкапсулирует часть общей функциональности приложения и обычно представляет собой набор взаимосвязанных функциональных частей. Он может включать набор связанных компонент, таких как функции приложения, включая пользовательский интерфейс и бизнес-логику, или части инфраструктуры приложения, такие как службы уровня приложения для журналирования, или аутентификации и авторизации пользователей. Модули независимы друг от друга, но могут взаимодействовать друг с другом слабо связанным способом. Модульные приложения могут облегчить разработку, тестирование, развертывание, и расширение вашего приложения.

Например, рассмотрим персональное банковское приложение. Пользователь может получить доступ к множеству функций, таких как передача денег между учетными записями, оплата счетов, и обновление персональных данных, используя единственный пользовательский интерфейс (UI). Однако, каждая из этих функций инкапсулируется в пределах дискретного модуля. Эти модули связываются друг с другом и с системами бэкэнда, такими как серверы баз данных и веб-сервисы. Прикладные службы интегрируют различные компоненты в пределах каждого из различных модулей и обрабатывают взаимодействие с пользователем. Пользователь видит интегрированное представление, которое похоже на единственное цельное приложение.

Следующая иллюстрация показывает проект модульного приложения.

Модульное приложение
Читать дальше →
Total votes 14: ↑11 and ↓3 +8
Views 21K
Comments 0

Руководство разработчика Prism — часть 5, реализация паттерна MVVM

.NET *C# *
Translation
Tutorial
Оглавление
  1. Введение
  2. Инициализация приложений Prism
  3. Управление зависимостями между компонентами
  4. Разработка модульных приложений
  5. Реализация паттерна MVVM
  6. Продвинутые сценарии MVVM
  7. Создание пользовательского интерфейса
    1. Рекомендации по разработке пользовательского интерфейса
  8. Навигация
    1. Навигация на основе представлений (View-Based Navigation)
  9. Взаимодействие между слабо связанными компонентами

Паттерн Model-View-ViewModel (MVVM, модель-представление-модель представления) поможет вам отделить бизнес-логику и логику представления от пользовательского интерфейса. Поддержка разделения ответственности между логикой приложения и UI может сделать ваше приложение более лёгким для тестирования, поддержки и развития. Это может также значительно улучшить возможности повторного использования кода и позволит разработчикам и дизайнерам легче сотрудничать при разработке соответствующих частей приложения.

Используя паттерн MVVM, пользовательский интерфейс приложения, логика представления и бизнес-логика разделяются на три отдельных класса. Это представление, которое инкапсулирует UI и его логику, модель представления, которая инкапсулирует логику представления и её состояния, и модель, которая инкапсулирует бизнес-логику приложения и данные.

Prism включает примеры и образцы реализации, которые показывают, как реализовать шаблон MVVM в Silverlight или в WPF приложениях. Библиотека Prism также предоставляет функции, которые могут помочь реализовать данный паттерн. Эти функции воплощают наиболее распространённые методы для реализации паттерна MVVM и разработаны, чтобы обеспечить тестируемость и совместимость с Expression Blend и Visual Studio.

Эта глава даёт краткий обзор паттерна MVVM и описывает, как его реализовать. Глава 6 описывает, как реализовать более сложные сценарии MVVM, используя библиотеку Prism.
Читать дальше →
Total votes 15: ↑14 and ↓1 +13
Views 37K
Comments 2