Когда вы совершаете покупки по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Вот как это работает.

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

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

Такие компании, как Xamarin, предлагают отличные продукты для кроссплатформенной разработки.
Такие компании, как Xamarin, предлагают отличные продукты для кроссплатформенной разработки.

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

iOS

iOS, которую мы видим сегодня, сильно отличается от оригинальной ОС iPhone, которую мы увидели в 2008 году. С выпуском iPad Mini и iPhone 5 компания Apple отошла от традиции строгого соблюдения единых размеров и соотношений сторон. Примите во внимание две разные плотности пикселей, создаваемые устройствами с сетчаткой и без нее, и вы получите значительно более разнообразную экосистему.

Доступная сегодня iOS более разнообразна, чем оригинальная ОС iPhone.
Доступная сегодня iOS более разнообразна, чем оригинальная ОС iPhone.

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

Андроид

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

Android предназначен для работы на широком спектре устройств.
Android предназначен для работы на широком спектре устройств.

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

Windows Phone

Самое интересное в Windows Phone то, что в каком-то смысле он находится где-то посередине между Android и iOS. Несмотря на то, что существует множество компаний, поставляющих разные устройства Windows Phone (с клавиатурой и без нее и т. д.), Microsoft все же разработала некоторые рекомендации относительно Операционная система Windows Phone, которая не позволяет экосистеме стать общедоступной, но при этом предоставляет пользователям возможности и выбор в разных ценовых категориях.

Интерфейс Windows Phone помогает пользователям быстро находить информацию
Интерфейс Windows Phone помогает пользователям быстро находить информацию

Так же, как драйвер опыта в Android отличается от драйвера опыта в iOS, драйвер опыта в Windows Phone также отличается. Из-за того, что Microsoft создает своего рода контролируемую свободу в экосистеме Windows Phone, Производителям устройств приходится дифференцироваться с помощью аппаратного обеспечения, а не настроек операционной системы.

Интерфейс Windows Phone и живые плитки создают среду, ориентированную на данные. Поскольку ОС выполняет большую часть обмена и отображения данных, она более или менее просто не мешает пользователю.

Итак, у нас есть платформы, и у этих платформ есть пользователи. Но можем ли мы просто начать стрелять в дикую синеву? Конечно, нет!

Именно здесь Что можно и чего нельзя делать в кроссплатформенном мобильном дизайне Войдите.

Поделитесь

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

Не делитесь ради того, чтобы поделиться

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

Любой обмен информацией – это прежде всего инструмент, а не цель. Мы стремимся к единообразному, естественному интерфейсу на каждой платформе, который предоставляет пользователю какую-то привлекательную утилиту или контент.

Придерживайтесь брендинга

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

Не переусердствуйте с брендингом

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

Делайте ОТДЫХ

REST API, то есть. Я давно проповедовал идею о том, что дизайн API — это кроссплатформенный дизайн в его самой чистой форме. REST API не зависят от платформы и являются встроенными для любой платформы (мобильной или другой), если она может отправлять и получать HTTP-запросы. Когда мы создаем серверную функциональность, мы допускаем бесконечный рост в любом направлении, поскольку мы не привязаны к какой-либо конкретной платформе или технологии. Если добавить к этому возможность создавать кроссплатформенные библиотеки и модули, работающие с несколькими платформами, то причины не развивать серверную функциональность быстро исчезнут.

Не пренебрегайте презентацией

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

Оставайся верным

Когда мы создаем программное обеспечение, нам легко забыть, что мы создаем его для реальных людей, которые смогут использовать его на реальных устройствах в реальном мире. Не каждый вариант использования будет идеальным, и кто-то где-то сломает приложение и отреагирует очень громко. Лучшее, что мы можем сделать, чтобы избежать этого, — всегда помнить о конечном пользователе при проектировании и создании приложений.

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

Не отступай

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

Отличным примером этого является Инстаграм. Когда их Android-приложение запустили, я был безумно взволнован. Не потому, что я использовал устройство Android (у меня есть iPhone 4S и два телефона Android, оба для тестирования), а потому, что я хотел посмотреть, как такой крупный игрок справляется с кроссплатформенным дизайном. Когда я впервые увидел Instagram для Android, меня охватила огромная волна разочарования. Хотя принятое соглашение на Android заключается в том, размещать вкладки вверхуInstagram разместил их внизу, как они выглядят в iOS. Я чувствовал, что Instagram допустил ошибку. Но они доказали, что я ошибался. Идея не только сработала, но и сработала достаточно хорошо, чтобы их приобрела Facebook менее чем через месяц после выпуска клиента для Android. Они не отступили и в конце концов добились успеха.

Приложения для конкретной платформы

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