2015-09-23 3 views
3

Я создаю приложение в QML. Первоначально это предназначалось только для настольных компьютеров, но я решил также использовать устройства Android.QML, код один раз, развертывание дважды

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

Каков наилучший подход для обеспечения UX, ближайшего к родному, для каждой платформы?

Как справляться с такими ситуациями?

Mobile

  • StackView с 2 страниц
  • ListView принимая все пространство экрана
  • Клик на объекте в ListView переходит на вторую страницу с дополнительной информации

Рабочий стол

  • Нет StackView
  • ListView принимает только 300 пикселей
  • Дополнительная информация о выбранном элементе в списке должны быть видны в TextArea рядом с ListView

Проектирование масштабируемый интерфейс, основанный на вычисленной экране отношение или плотность пикселей для данного устройства является одним из решений. Но этот вид мобильного интерфейса очень плохо выглядит на рабочем столе. Можете ли вы представить приложение Android Gmail на ПК?

Решение, которое я вижу, заключается в том, чтобы разместить как можно больше логики в C++ и создавать легкие макеты для мобильных и настольных платформ в QML.

Что, на ваш взгляд, лучший способ настроить таргетинг на несколько устройств. Должен ли я создавать масштабируемый пользовательский интерфейс для мобильных устройств и использовать его на рабочем столе и просто «справляться с ним», или я должен пожертвовать больше времени и создать пользовательский интерфейс для каждой платформы, чтобы он был удобен во всем мире?

+0

Могу ли я предложить вам изучить дизайн материалов Google? После этого система проектирования даст вам некоторые инструменты, чтобы решить, что делать с различными платформами/форм-факторами. Существует хорошая библиотека qml-материала, которая предоставляет уже много функциональности, компонентов и стилей. https://github.com/papyros/qml-material, если это не так, попытайтесь охватить любую другую прочную систему проектирования перед тем, как реализовать свой собственный –

+0

. Я рассмотрел ваш вопрос хотя бы для его названия :) – troyane

ответ

0

Должен ли я создать масштабируемый интерфейс для мобильных устройств и использовать его на рабочем столе и просто «сделка с ним», или я должен принести в жертву больше времени и создать пользовательский интерфейс для каждой платформы, так что она будет удобной для пользователей во всем мире?

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

Решение, которое я вижу, заключается в том, чтобы разместить как можно больше логики в C++ и создавать легкие макеты для мобильных и настольных платформ в QML.

Это правильный подход. QML очень проста в написании и очень проста в обслуживании, пока вы держите ее простой.Qt Quick Controls усвоил это, и именно поэтому создаются Qt Quick Controls 2: использовать как можно больше C++ и как можно меньше JavaScript, дорогие привязки, Loader и т. Д.