Pull to refresh

Мобильные апдейты для изучающих английский c LinguaLeo: iPhone, WinPhone и… долгожданный Android!

Lingualeo corporate blog


К началу делового учебного сезона команда LinguaLeo подготовила мобильный апдейт: обновление приложения для iPhone и Windows Phone, а также старт бета-тестирования на Android устройствах. Подробнее о мобильных новинках читаем далее…
Читать дальше →
Total votes 90: ↑79 and ↓11 +68
Views 37K
Comments 52

MVVM: новый взгляд

Programming *.NET *C# *
Tutorial
Sandbox
Внимание!
Более свежие и прогрессивные материалы по MVVM паттерну представлены в статье Context Model Pattern via Aero Framework и подробно разобраны в следующем цикле статей

Предисловие

Некоторое время назад я затеял разработку бесплатного текстового редактора с красивым интерфейсом и широким удобным функционалом на платформе WPF. Довелось решить очень много технических задач, поэтому у меня накопился определённый опыт, которым хочу поделиться с другими людьми.

К делу

Разработчикам WPF, Silverlight и WinPhone-приложений хорошо знаком паттерн проектирования MVVM (Model — View — ViewModel). Однако если дополнительно применить к нему ещё немного фантазии, то может получиться что-то более интересное, и немного даже, осмелюсь заверить, революционное.
Читать дальше →
Total votes 34: ↑28 and ↓6 +22
Views 46K
Comments 60

MugenMvvmToolkit — кроссплатформенный MVVM фреймворк

.NET *Development of mobile applications *Development for Android *Development for Windows Phone *C# *

MugenMvvmToolkit


Введение


Паттерн MVVM хорошо известен, о нем написано много статей, наверное каждый NET-разработчик сталкивался или слышал об этом паттерне. Цель этой статьи – рассказать о собственной реализации этого паттерна.
MugenMvvmToolkit — является кроссплатформенной реализацией паттерна MVVM и на текущий момент поддерживает следующие платформы:
  • WinForms
  • WPF
  • Silverlight 5
  • Silverlight for WP7.1, WP8, WP8.1
  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.Forms
  • WinRT XAML framework for Windows 8 Store apps

Читать дальше →
Total votes 38: ↑36 and ↓2 +34
Views 28K
Comments 16

Карьера разработчика в Финляндии: большое интервью с Михаилом Самариным

JUG Ru Group corporate blog .NET *Development for Windows Phone *
Я познакомился с Михаилом Самариным около месяца назад, когда он заинтересовался моей деятельностью по организации конференций. Михаил уже 15 лет живёт в Хельсинки и занимает должность одного из бизнес-директоров в компании Futurice, крупном финском аутсорсере. Среди прочего, Михаил — дважды спикер JavaOne (2011, 2012) и дважды Microsoft MVP (2013, 2014).



В связи с известными событиями, вокруг все чаще слышно одно и то же: «пора валить». Сам я нынче далёк от этой мысли как никогда (у меня сейчас много проектов, и все связаны с Россией, да и Европу с Штатами я не шибко люблю), не заметить эмигрантские настроения трудно. Особенно в среде программистов.

Ситуация такова, что Futurice (по-фински читается «ФутурИс», а по-английски «ФьючурАйc») с каждым днём всё сложнее искать хороших разработчиков в Финляндии, стране с населением в 5 миллионов человек. В связи с этим компания решила начать искать толковых инженеров в России и релоцировать их в Хельсинки. И в частности, делать это на российских программерских конференциях, например, на .NEXT.

Вещи, которые рассказал Михаил, показались мне безумно интересными, и поэтому я попросил его дать мне интервью, которое и предлагаю вашему вниманию.
Читать дальше →
Total votes 27: ↑21 and ↓6 +15
Views 27K
Comments 8

Context Model Pattern via Aero Framework

Website development *Programming *.NET *Xamarin *
Tutorial
Context Model Pattern — концепция проектирования приложений, сочетающая черты архитектурных паттернов MVVM, MVP, MVC и основанная на наборе достаточно свободных, прогрессивных, отлично согласованных между собой положений. Краеугольными камнями являются представления, медиаторы, контекстные объекты и их коллекции, а основополагающая рекомендация — принцип прямых инжекций.

Aero Framework — открытая библиотека на языке C#, содержащая всю необходимую инфраструктуру для создания xaml-ориентированных приложений, соответствующих рассматриваемому паттерну. При её грамотном использовании исходный код получается беспрецедентно лаконичным, высокопроизводительным и интуитивно понятным даже начинающим разработчикам.

Следование идеям паттерна позволяет красивым и естественным образом решить множество рутинных задач от навигации и локализации в приложении до реализации механизмов валидации данных, сохранения визуального состояния интерфейса и логического у вью-моделей. Но самое важное — помогает заложить понятную, удачную и очень простую архитектуру. Причём, ощутимо возрастают скорость и качество разработки, а объём написанного кода сокращается в несколько раз, что успешно проверено на различных проектах.

Внимательный и терпеливый читатель будет щедро вознаграждён знаниям.

image
Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Views 9.3K
Comments 6

Инжекторы контекста xaml

Programming *.NET *
В предыдущей части мы познакомились с расширениями привязки и разобрались, как их применять на практике, например, для локализации. Сегодня же продолжим изучать особенности библиотеки Aero Framework и рассмотрим довольно интересную тему об инжекции контекста данных в xaml-разметку представлений, а заодно применим познания из прошлой статьи.

На практике часто встречается следующая задача: связать вью-модель, которая хранится в unity-контейнере, с одним или несколькими её представлениями (экранами). Обычно такое связывание происходит в бехаинд-коде, в результате чего у представления устанавливается нужное значение в свойство DataContext.

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

Все эти трудности так или иначе решаемы, но существует универсальный и очень простой способ их красиво разрешить. О нём и пойдет речь.

Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Views 8.3K
Comments 23