- iOS vs. Android: полное руководство по дизайну приложений
- UI-дизайн для iOS vs. Android: основные различия
- Должен ли я делать приложения для iOS и Android разными?
- Сравнение навигации в iOS и Android
- Навигация в верхней части экрана
- Основные «пункты назначения»
- Вторичная навигация
- Возврат к предыдущему экрану
- iOS vs. Android: дизайн элементов управления
- Главные кнопки призыва к действию
- Поиск
- Меню действий
- Элементы управления выбором
- Выбор даты
- Вкладки
- Отмена действия
- IOS vs. Android: типографика
- Шрифт по умолчанию
- NativeScript Image Builder
- Upload an Image
- Upload an Icon
- Get Back a Zip
- The Details
- Android Images
- iOS Images
- App Icons
- Meh. Down-sampling
- Other Image Types
- About NativeScript
- Other Resources
iOS vs. Android: полное руководство по дизайну приложений
Если вы разрабатываете одновременно версии приложения для iOS и Android (Material Design), то это руководство станет вашим новым лучшим другом 😎.
Мы рассмотрим наиболее важные различия между iOS и Android для UX/UI-дизайнеров. Если вы уже создали приложение для одной платформы, здесь собрана большая часть того, что нужно знать, чтобы «перевести» его на другую платформу. Но! Это рекомендации, и практически всё, что я скажу, уже где-то опровергнуто, даже самими Apple/Google. Речь пойдет о «переводе» «iOS- мышления» на «Android-мышление» и наоборот.
Вот список тем, о которых мы поговорим. Пропустите его или дотошно изучите. Решение за вами.
- Обзор основных отличий.
- Навигация.
- Элементы управления.
- Типографика.
- Другие стандарты платформ.
UI-дизайн для iOS vs. Android: основные различия
Наиболее важные различия, которые UX/UI-дизайнеры должны учитывать при «переводе» приложения с iOS на Android или наоборот:
Прежде чем углубиться в эту тему, давайте ответим на один важный вопрос, это повлияет на всё, о чем пойдет речь далее…
Должен ли я делать приложения для iOS и Android разными?
Если кратко, то — нет.
Apple и Google — очень умные компании с бессчетным количеством пользователей. Они будут совершать UX-ошибки, как и все остальные компании. Но они не совершат вопиющих ошибок, определяя стандартный язык дизайна своих систем. Поэтому, хотя ниже я и представляю два способа реализации (способ iOS и способ Android), ни один из них не является неправильным. Если пользователи могут уверенно перемещаться по вашему приложению и работать с ним, никто не запрещает вам использовать вкладки в iOS или модальные окна в Android.
Эта статья написана в духе обучения «iOS-мышлению» или «Android-мышлению». И если ваша цель — создать такое приложение для обеих платформ, которое будет нативным для каждой из них, то это руководство вам очень поможет.
А теперь давайте углубимся в тему.
Сравнение навигации в iOS и Android
Навигация в верхней части экрана
Мы начнем в буквальном смысле с верхушки. У каждой платформы разные стандарты для того, что отображается в верхней части большинства экранов.
В iOS (опционально) действие вверху слева на странице почти всегда является действием «назад» — последовательно к предыдущему экрану (из «Шага 2» пользователь возвращается к «Шагу 1») или иерархически к родительскому экрану (из «Входящих» пользователь возвращается в «Почтовые ящики»). Кроме того, таким образом могут быть связаны не связанные изначально страницы. Заголовок страницы практически всегда присутствует, и он изначально большого размера, но уменьшается вместе с верхней панелью во время прокрутки (до прокрутки большой заголовок выравнивается по левому краю, во время прокрутки уменьшенный заголовок выравнивается по центру. — Прим. пер.). Единичное действие вверху справа на странице может отображаться как текстовая ссылка, а несколько действий — как несколько значков действия.
В Android заголовок страницы выравнивается по левому краю. Слева от заголовка страницы не должно быть ничего, но вы можете добавить кнопку «Назад» в двух случаях (во втором случае — при желании):
а) если страница является страницей верхнего уровня и в приложении есть кнопка-гамбургер (она появляется слева от заголовка);
б) если эта страница следует непосредственно за другой (не в иерархической последовательности).
Основные «пункты назначения»
Основные «пункты назначения» в приложении реализуются по-разному.
В приложениях для iOS они представлены в виде вкладок/табов в нижней части экрана:
- от 2 до 5 вкладок;
- названия набраны 10-м кеглем;
- вкладки представляют собой основные места назначения.
Многие популярные сторонние приложения для iOS также соответствуют нескольким дополнительным правилам:
1. Любая вкладка, представляющая основное действие приложения (например, добавление новой фотографии в приложении для работы с фотографиями), располагается по центру.
2. Любая вкладка, относящаяся к профилю или настройкам, появляется последней.
3. Поиск находится на втором месте.
С другой стороны, в стандартных приложениях для iOS:
- Не поощряется размещение действий на вкладках.
- Вкладки не содержат разделы, относящиеся к профилю или настройкам.
- Поиск идет последним.
Самое большое отличие приложений для Android состоит в том, что одни и те же основные «пункты назначения» в большей степени распределены по всему интерфейсу — часто между: (a) кнопкой-гамбургером, (b) панелью поиска, (с) вкладками или (d) плавающей кнопкой действия. Мы рассмотрим все эти 4 случая в следующих разделах. Да, и обратите внимание: Android совсем недавно начал использовать навигацию снизу аналогично тому, как это реализовано в приложениях для iOS, — так что в этом у приложений для Android и iOS может не быть никаких существенных различий.
Источники: iOS панель вкладок, Material Design принципы навигации (здесь больше теории).
Вторичная навигация
В iOS навигация, которая не поместилась в меню в нижней части экрана, может размещаться на универсальной вкладке «Еще» (More) или же в верхнем левом или в верхнем правом углу экрана.
В Android вторичная навигация отображается в виде списка в боковом меню, доступном при нажатии на кнопку-гамбургер.
Примечание: хотя Apple не поощряет использование кнопки-гамбургера (или ее использование в приложениях для iOS по умолчанию), во многих сторонних приложениях для iOS она есть, и это просто ваш выбор — использовать ее или нет. Лучшей практикой считается не скрывать важное, потому что очевидное всегда побеждает.
Источник: Material Design Navigation drawer.
Возврат к предыдущему экрану
В iOS можно вернуться к предыдущему экрану четырьмя способами, в зависимости от контекста.
Что такое модальные и полноэкранные окна? Сейчас расскажу.
Модальное окно — это задача с одним экраном, которая появляется по свайпу вверх и располагается поверх предыдущего экрана, который лишь немного виден на заднем плане. Чтобы закрыть модальное окно, нужно свайпнуть вниз или нажать кнопку «Назад» наверху.
Полноэкранное окно — это медиафайл, например фотография или видео, занимающий весь экран. И в iOS, и в Android его можно закрыть свайпом вниз.
В Android возвратиться к предыдущему экрану намного проще: в версии 10 и более новых версиях достаточно просто свайпнуть от любой стороны экрана к его центру. В версии 9 используйте кнопку «Назад» в нижнем левом углу экрана.
iOS vs. Android: дизайн элементов управления
Главные кнопки призыва к действию
В iOS главная кнопка на экране обычно расположена в верхнем правом углу.
В Android главная кнопка на экране в большинстве случаев расположена в нижнем правом углу в виде FAB (англ. floating action button — плавающая кнопка действия. — Прим. пер.).
Стоит отметить, что для каждой платформы могут быть свои исключения. Давайте поговорим о них.
Иногда в iOS главные кнопки на экране могут располагаться на нижней панели инструментов. Apple утверждает, что она очень сильно отличается от панели вкладок. В Android можно встретить такие кнопки в верхней части экрана.
Поиск
И в iOS, и в Android поиск — это обычный, но очень гибкий инструмент. Иногда поиск используется как основная функция приложения, в других случаях поиск практически не используют, но чаще всего применяется компромиссный вариант. В каждой платформе поиск реализован достаточно гибко. Давайте рассмотрим общие парадигмы.
Одно из различий между реализацией поиска в iOS и поиском в Android:
- чтобы отменить поиск, нужно нажать Cancel в iOS или ← в Android;
- чтобы очистить поле ввода, нужно нажать на круглую пиктограмму крестика в iOS или на пиктограмму крестика в Android.
Если поиск является важной функцией, то на обеих платформах панель поиска отображается сразу. При нажатии на нее обычно открывается отдельный экран.
Если поиск не является главной функцией и им нечасто пользуются, то получить доступ к нему можно другими способами.
В iOS поиск обычно отображается среди основных вкладок или как одно из действий в верхней навигационной панели.
В Android вы также можете увидеть поиск на верхней панели контекстных действий.
Источники: iOS search bars, Material Design search pattern.
Меню действий
В iOS меню действий можно вызвать нажатием на любую кнопку или попыткой выполнить любое действие. Меню появляются снизу вверх, на них легко нажимать пальцами.
В Android же нижнее меню действий появляется только после нажатия на пиктограмму «кебаб-меню» (три точки, которыми в Android обозначаются дополнительные параметры. — Прим. пер.) и обычно — только когда доступно много возможных действий.
У обеих платформ есть стандарты для всплывающих меню.
Если в iOS 13 вы нажимаете на элемент или удерживаете его, то в «контекстном меню» показываются подходящие действия. Когда отображается «контекстное меню», фон размывается.
В Android многие меню появляются прямо на элементе. В новых версиях Android меню закрывает пиктограмму «кебаб-меню».
Элементы управления выбором
На мобильном устройстве стоит отличать выбор из нескольких вариантов от выбора из большого количества вариантов.
В iOS для реализации выбора из нескольких вариантов используйте элемент управления picker («подборщик» — Прим. пер.). Его можно закрепить внизу на экране (как показано выше) или встроить в контент (см. «Выбор даты»).
Для выбора из нескольких вариантов в Android обычно используется раскрывающееся меню (появляется рядом с выбором) или модальное окно со списком вариантов (появляется в центре экрана, фон затемняется).
Для длинных списков вариантов или для случаев, когда возможен множественный выбор, и в iOS, и в Android можно использовать отдельный «экран выбора». Одна из самых больших ошибок начинающих дизайнеров — попытка уместить большой список вариантов с одиночным выбором в модальное окно, не выделяя для этого списка отдельный экран.
Выбор даты
В iOS выбор даты похож на любой другой элемент выбора (picker control), но с отдельными колонками для месяца, даты и (опционально) года.
В Android есть элемент выбора даты, который можно настроить в процессе разработки: включить/выключить выбор года или же позволить пользователю самому решить, хочет ли он включить выбор года.
Источники: iOS picker, Android date picker (обратите внимание на различия в спецификации Material Design).
Вкладки
В iOS отсутствуют вкладки в привычном понимании, но есть сегментированные кнопки, которые
позволяют реализовать функциональность вкладок.
На Android вкладки выполнены в привычном виде.
Источники: iOS segmented controls, Material Design tabs.
Отмена действия
В iOS уведомления появляются в центре экрана, но они также могут всплывать в нижней части экрана (на языке iOS это action panels). Деструктивные действия (например, удаление чего-либо) выделены красным цветом.
На Android некоторые уведомления появляются в центре экрана. Однако для уведомлений, которые не требуют действий от пользователя и исчезают через несколько секунд, можно использовать «снек-бары» (snackbars). «Снек-бары» позволяют сообщить пользователю, что его действие было успешным, а также на них можно предложить выполнить одно действие или выбрать одно из двух действий. Это делает их идеальным решением для функции «Отменить». Я бы предпочел давать пользователям возможность отменить ошибочное действие, чем спрашивать их дважды перед каждым важным действием.
Источник: iOS Undo, Material Design snackbars.
IOS vs. Android: типографика
Шрифт по умолчанию
Необязательно использовать в приложениях для iOS и Android системные шрифты по умолчанию, но полезно знать, что это такое, — например, на случай, если вы захотите сделать приложение в стиле нативного.
В iOS системный шрифт называется SF. Это компактный шрифт, позволяющий сделать текст удобным для чтения даже на небольших экранах. Вы можете скачать его здесь.
Системный шрифт Android называется Roboto. Он очень похож на SF, но есть пара отличий — буквы выше и расстояние между ними немного больше. Этот шрифт можно скачать здесь.
Также в Android часто используется шрифт Product Sans от Google, который недоступен для использования сторонними разработчиками.
Источник
NativeScript Image Builder
The NativeScript Image Builder helps you re-size your Android and iOS image assets for using with your NativeScript apps. Upload your maximum resolution image in PNG format, and you’ll get back a .ZIP file with the image assets re-sized.
Upload an Image
To get started, specify your image type, select your image, and press Upload!.
Be sure to upload your highest resolution static image (xxxhpdi or @3x).
Upload an Icon
Select your app icon file, and press Upload!.
For app icons, upload a square image with minimum dimensions of 1024 x 1024.
Get Back a Zip
Android apps should provide 6 image sizes: ldpi (0.75x), mdpi (1.0x), hdpi (1.5x), xhdpi (2.0x), xxhdpi (3.0x), and xxxhdpi (4.0x).
iOS apps should provide 3 image sizes: @1x (iPad 2 and iPad mini), @2x (iPhone 4s, iPhone 5, iPhone 6, iPad [retina]), and @3x (iPhone 6 Plus).
App icons can be even move confusing: Android apps should provide 6 icon sizes, ranging from 36 x 36 pixels to 192 x 192 pixels, plus a Google Play Store app icon of 512 x 512 pixels. iOS apps must include 12 app icons, with varying sizes and pixel densities from 29 x 29 @1x to 60 x 60 @3x (180 pixels), plus several random sizes like the 83.5 x 83.5 @2x to support the iPad Pro.
Upload your image at the highest resolution (xxxhpdi or @3x), and we’ll down-size and rename accordingly.
The Details
Many developers don’t have the time or patience to resize images for their mobile apps, let alone create 8 different versions of an image for a cross-platform app for Android and iOS. Why not out-source it?
Upload a high-dpi version of your static app .PNG images (xxhdpi for Android and @3x for iOS), and we do the heavy lifting. You’ll receive a .ZIP file containing the images down-sampled to the right dimensions for each of the 8 platforms. We’ll also name them correctly for you. Just because we’re nice.
Android Images
When developing Android apps, you should provide 6 different image sizes: ldpi (0.75x), mdpi (1.0x), hdpi (1.5x), xhdpi (2.0x), xxhdpi (3.0x), and xxxhdpi (4.0x). Mdpi images are typically referred to as the «baseline» image, and the other image sizes should be based off of this image’s intent; however, up-sampling from mdpi to xxxhdpi (which is 4x the size) isn’t practical and can lead to pixelated images. So, we ask you to upload your xxxhdpi (4x) image, and we’ll down-sample the image to the other sizes.
In the .ZIP file we’ll send back, we’ll create a directory for each down-sampled image, ready to be copied into your App_Resources\Android folder. Folders are named accordingly: drawable-ldpi, drawable-mdpi, drawable-hdpi, drawable-xhdpi, drawable-xxhdi, drawable-xxxhdpi.
For more details on Android-specific images, check out this article on the Android developer center.
iOS Images
iOS apps require you to to provide 3 sizes of images: @1x (iPad 2 and iPad mini), @2x (iPhone 4s, iPhone 5, iPhone 6, iPad [retina]), and @3x (iPhone 6 Plus). @1x images are typically considered the baseline image size, with @2x and @3x being twice and three times the size, respectively. We won’t up-sample from @1x, so you’ll have to provide the @3x image, and we’ll down-sample for you.
Your .ZIP file will include the three images, ready to be copied into the App_Resources\iOS folder of your NativeScript app. The files will also be named according to their size.
To find out more on iOS images and the requirements of the iOS platform, check out the Apple Developer Center.
App Icons
Creating the «right» app icons (and in the «right» sizes) can be challenging for new developers. There are many great resources online outlining what you need for both Android and iOS platforms.
For Android app icons, we’ll create the 6 different required icon, named icon.png, and place them into their respective drawable folders. We will also create the Google Play Store icon, which is a 512 x 512 pixel icon. This will be placed in the root of the ZIP file Android folder and named playstore-icon.png.
iOS app icons are even more challenging to understand. Apple’s Developer Center outlines exactly what you need, but we still find it hard to understand. We’ll do the heavy lifting and create the various icons, with the proper names, with the standard icon-
Meh. Down-sampling
Yeah. Down-sampling can lead to loss of quality in an image. If this is a concern, this is not the tool for you. You should manually adjust your images, adding and removing detail as you see fit for each of the platforms and image sizes.
Other Image Types
So, there’s also app icons, splash screen images, and a load of other images required by each platform. Support for those is coming.
About NativeScript
NativeScript is an open-source library for building professional cross-platform mobile apps for Android and iOS using JavaScript.
For a more complete reference for using images within your NativeScript app, check out the NativeScript docs.
Other Resources
Check out some of the community support around NativeScript app icons and images.
- iOS image and launch images: Robert Hafner built a Python script to resize iOS images and launch images.
Источник