пятница, 4 декабря 2015 г.

Исследование возможностей Drag and Drop в HTML5

Кстати, интересно что в ранних версиях HTML, этой логики не было. Функциональность Drag & Drop в HTML5 сейчас может использоваться для создания диаграм, управления файлами и любой другой логики которая может использовать Drag & Drop. В HTML5 нативная поддержка Drag & Drop не ограничена событиями мыши, но также и более тесно интегрирована в управление файлами на стороне разработчика. Drag & Drop работает по разному в HTML5.
Имеется много недостатков и недочетов в использовании этой функциональности в других областях. Самый главный недостаток - это то, что специальный Drag & Drop не может быть использован совместно с другим содержимым на той же странице пока обе команды находятся в вашем коде. Это случайное смешивание может привести к поломке страницы. Другим значимым недостатком специального Drag & Drop является то, что пользователь не может использовать эту же логику для десктопа и это не будет работать в Windows. В HTML5 о каждой из этих проблем думали и подготовили API для Drag & Drop лишенный описанных проблем и также для ускорения приложений. Логика Drag & Drop в HTML5 основана на Java API и MFC. Hfphf, Разработчики, которые работали с данными API смогут быстро понять особенности данной логики в HTML5.
Draggable=’true’
Перетягивание в HTML5 может быть реализовано с помощью вот таких нехитрых шагов. Аттрибут описанный выше позволяет перетягивать требуемое содержимое. В HTML все что угодно может быть перетягиваемым, включая изображения и файлы. Аттрибут для перетягивания изображения будет выглядеть вот так:

 <img draggable= “true”>

Когда мы делаем изображение или ссылку перетягиваемой, то мы должны поместить его URL в код, для разрешения этой логики. Содержимое текста может быть задано в коде. Но ссылки, изображения по умолчанию могут быть перетягиваемыми в HTML5. Для того что бы другие элементы сделать такими – следует задать тот же аттрибут как мы делали это раньше. Но в дополнение к этому нужно добавить обработчик ‘dragstart’. Пример ниже демонстрирует как нужно задавать аттрибуты для перетягивания.

< div draggable= ”trueondragstart=“event.dataTransfer.setData(‘text/plain’’, ‘ This is the content that is being dragged”>
This is the content that is being dragged .
</ div>

В данном примере для того что бы элемент стал перетягиваемым используется аттрибут draggable=’true’. Если вы хотите, что бы элемент не был перетягиваемым можно true заменить на false. Но так нельзя делать для элментов XUL, потому что без всяких аттрибутов такие элементы будут перетягиваемыми.

<button label = “This is the XUL element” ondragstart= “event.dataTransfer.setData(‘text/plain’, This is the XUL element button’);”>

Тип и формат
Существует две вещи которые нужно указать в начале drag & drop функции – это тип и формат. Популярными типами являются ‘text/plain’  и ‘img/jpg’. Первый случай используется для перетягивания текстовых элментов. Он используется практически для всех элементов, только если вы не хотите указать что то специфическое. После этого следует указать drop событие. Оно указывает, куда перетягиваемые данные будут помещаться. В событии Drop – обработчик восстановит данные и поместит их туда куда требуется.

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

event.dataTransfer. setData(“text/uri-list”, “ http://www.htmlgoodies.com”)

Перемещение данных
Перемещение данных – это особенность хранить данные во время перетягивания элемента. Для этого необходимо провести ассоциирование данных. Разработчик должен осуществить ассоциирование данных явно при перемещении данных. Например, если перетягивается только ссылка без контура, ассоциация долны быть выполнена на уровне URL этой ссылки.

Полупрозрачное изображение при перетаскивании
Мы уже видели что при перетаскивании текста или изображения, появляется такое полупрозрачное изображение, которые делает выбранные данные прозрачными. Для того что бы этого добиться – ничего делать не нужно – HTML5 делает это по умолчанию. Но если вы хотите изменить это поведение, то это изменение должно быть добавлено в код. Для персонализации изображения используйте setDragImage.

event.dataTransfer.setDragImage(image, xOffset, yOffset)

Эффекты перетаскивания
Перетаскивание данных само по себе содержит много функций. Можно использовать аттрибут ‘copy’ для опеределения куда должны быть скопированы данные при перетаскивании. Оно определяет положение в событии Drop. Прочие операции, которые могут быть использованы это ‘move’ и ‘link’. Они определяют что будет перемещено а ‘link’ – показывает соединение между источником и конечным местом. Все эти функции добавляют эффекты при drag & drop. ‘effectAllowed’  - используется для задания того, какие эффекты должны отображатся.

event.dataTransfer.effectAllowed = "link";

В этом примере выбрано значени ‘link’. Однако можно задать и несколько значений. В таком случае будет использоваться словосочетание вида ‘copyMove’ ‘moveLink’. ‘All’ может использоваться, если все эффекты должны использоваться.

Место назначения
Для того что бы определить куда перетаскивать элемент следует эту информацию задать. На странице есть много мест куда нельзя переместить картинку. Таким образом, следует указать корректное местоположение. Если вы хотите переместить данные в неразрешенное место, то для этого следует изменить стандартные настройки, указав ‘false’ или используя аттрибут event.preventDefault. Код может выглядеть так:

<div ondragover="return false">
<div ondragover="event.preventDefault()">

В большинстве случаев ‘returnfalse’ используется для перетаскивания данных, но в отдельных случаях ‘event-preventDefault’ более подходит для использования.

Эта публикация дает нам базовое представление логики Drag & Drop поддерживаемой HTML5.  Но за этой базовой простотой скрывается намного болше возможностей чем, тех что бы описаны в данной статье.

понедельник, 30 ноября 2015 г.

Лучшие советы по созданию приложений для Windows Phone

Ниже собраны 8 наиболее ценных советов по созданию приложений для Windows Phone.

1. Фокусируйтесь

Подготовте список состоящий и выражений “лучший в”, которые подчеркнут почему ваше приложение лучше остальных и в чем выражается это преимущество. Думайте о том какие пользователи будут использовать ваше приложение и сконцентрируйтесь на двух-трех сценариях, которые действительно будут поддерживаться вашим приложением. Сделайте ваш UI удобным прежде чем добавлять новые возможности.

2. Планируйте

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

3. Любите Грид

В дизайне построеном на гриде, нет ничего нового, но знаете ли вы что в Windows Phone есть собственный грид? Используйте его на этипа проектирования и разработки. Существует даже удобный оверлей ( который к слову скрыт в XAML коментариях). Включите его и используйте в своих приложениях. Привязывайтесб к нему.

4. Используйте темы

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

5. Оно живое

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

6. Разрешите содержимому дышать, никогда не бойтесь прокрутки

Часто возникает желание поместить на экран как можно больше содержимого, но помните, что прокрутка на Windows Phone требует всего лишь движения пальцами. Хороший дизайн экрана основан на четкости и “сканируемости”. Позвольте вашему дизайну дышать и избегайте эффекта “стены слов”. Используйте свободные пространства – свободные места между элементами – для разделения группы элементов или текста,  и сделайте ваше представление проще для понимания с первого взгляда.

7. Вдохновляйтесь

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

8. Продавайте

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

Надеюсь, советы оказажутся полезными и прилашаю поделится своим мнением в коментариях.


пятница, 30 октября 2015 г.

Что вы должны знать об Android и Windows 10



Андроид – это то, с чем сегодня ассоциируются мобильные технологии, ну а в мире десктопа по прежнему доминируют машины Windows. Если вы работаете в данной сфере, то вы наверняка слышали о большом обновлении Windows. Там есть много чего, что может понравиться в Windows 10, включая цену, если вы в данный момент используете современную версию системы. Если вам интересно узнать, как это обновление повлияет на вас в ежедневном использовании, особенно применительно к взаимодействию с Android, то читайте далее.

Вниманиеэто действительно здорово.

Приложения и нотификации Chrome работают прекрасно

Если вы полагаетесь на нотификации Chrome для того что бы получать уведомления без использовния смартфона, или используете Hangout и Gmail для Windows ежеденвно, то вы увидите, что в Windows 10 есть прогресс. Google оказывает поддержку Windows 10 через Insider Preview, так что нет повода для беспокойства о данной функциональности. Вы можете обновиться сегодня и все будет работать как требуется, включая Chrome Remote Desktop.


Единственная вещь, которую вы очевидно захотите сделать – вы не станене активировать Cortana если у вас нет планов по использованию голосовых ссервисов Microsoft. Комбинация уведомлений Cortana и нотификаций Google News в Chrome могут чрезмерно заполнить ваш экран, не говоря уже о остальных модулях. В качестве альтернативы вы можете попробовать использовать Cortana, и посмотреть может ли это заменить вам Google News, особенно когда это стало официально доступно на Android.

Лучшее определение устройств, лучшие возможности синхронизации

Поскольку все пользователи Google используют облако, то хороший старомодный microUSB кабель и операционаая система, которая понимает что вы подключаете – это здорово. Windows знает достаточно о доступе по USB к устройствам хранения данных Andriod, но Windows 10 пошла дальше.

Определение устройств и установка драйверов существуенно доработана, и новые возможности синхронизации Microsoft, мягко намекают что приложения Microsoft прекрасно с этим справляются. Даже если вы ниразу не использовали средства синхронизации Microsoft, с улучшенным механизмом определения устройств и установки драйверов можно познакомится благодаря видео и появляющемуся подтверждению необходимости Android SDK для вашего устройства.

Дни когда Xbox One Smartglass работали одинкаово на Andorid и Windows похоже заканчиваются

Microsoft сделало кое что просто нереальное со своей системой Smartglass, позволив пользователям подключать к своим консолям любые устройства. Как быстрое удаленное управление – это здорово, но как платформа второго экрана Smartglass и Nexus 9 – это прекрасная комбинация. Лучше всего было то, что у вас был одинаковый интерфейс на любой платформе и он работал хорошо. К сожалению, с появлением Windows 10 это вряд ли будет так и дальше.
 


Xbox One Smartglass никуда не уходит, но Windows 10 перемещает в приложения Xbox One. Это позволит пользователям делать гораздо больше, позволяя запускать потоковые игры с Xbox на Windows 10. Как бы это ни было круто, но такой функциональности нету на Android. С приложениями Xbox One, которые являются приоритетными для некоторых компаний, можно ожидать, что расхождение между Android и Windows в будущем будет увеличиваться.

Источник: http://www.androidcentral.com/what-you-need-know-about-android-and-windows-10