Нужно ли учитывать язык разработки, при проектировании дизайна мобильного приложения?

Когда я только начинал проектировать мобильные приложения, я часто задавался вопросом, а нужно ли обращать внимание на язык разработки, в котором будет разрабатываться приложение, при проектировании дизайна?

Меня этот вопрос долгое время беспокоил. Когда я чего-то не знаю, и понимаю что мне необходимы эти знания, чтобы решить конкретные задачи, то я опрошу всех, дабы получить ответы на свои вопросы. Именно так я и поступил. Так как я общаюсь со многими продуктовыми дизайнерами, я всем задавал следующий вопрос:

  • При проектировании мобильного приложения, нужно обращать внимание на то, с помощью какого языка разработки он будет запущен в продакшн? То есть, есть ли разница, проектировать дизайн приложения под Swift, Kotlin, React Native или Flutter, или разницы никакой нет и можно на это не обращать внимание?

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

Во-первых, до того как приступить к дизайну мобильного приложения, нужно задать следующий вопрос клиенту:

  • Ваше приложение будет разрабатываться нативным языком или кроссплатформенным?

Это принципиально важный вопрос, так как исходя из ответа, вы будете понимать, делать ли вам дизайн с нативными компонентами или же с кастомными.

Фото из фотобанка Unsplash.com
Фото из фотобанка Unsplash.com

Давайте по порядку.

Что такое нативный дизайн и нативная разработка?

В дизайне приложений для iOS и Android есть готовые гайдлайны, в них прописаны все правила проектирования, а также они содержат большое количество готовых компонентов из которых можно собрать весь дизайн приложения. В гайдлайнах есть такие компоненты как Tab bar, Navigation bar, карточки товара, списки и другие (более подробно читайте на официальных сайтах гайдлайнов). Также в гайдлайнах описаны правила работы с цветом и типографикой. Все эти компоненты называются нативными.

Как это отразится на дизайне?

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

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

Теперь давайте выясним какие языки разработки являются нативными?

  • Нативные языки для iOS: Swift и Objective C.
  • Нативные языки для Android: Java и Kotlin.

С нативным дизайном и нативной разработкой разобрались, теперь давайте поговорим о таком понятии, как кроссплатформенная разработка.

Что такое кроссплатформа?

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

Как это отразится на дизайне?

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

Теперь давайте выясним какие бывают языки кроссплатформенной разработки?

Самые популярные кроссплатформенные языки:

  • React Native (от Facebook)
  • Flutter (от Google)
  • Ionic
  • Angular
  • Xamarin
  • и другие

Какие языки разработки лучше использовать и в каких случах?

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

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

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

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

Успехов вам и доброго дизайна!

22
2 комментария

знаете, опыт показывает, что знание языков необходимо, а если еще знаете язык программирования, то это тоже пригодится

2
Ответить

Существует огромное количество приложений, где непонятен язык, на котором оно написано - на Java или Kotlin.
Например, возьмите любую игру с богатым графическим интерфейсом - это однозначно нативное приложение, а никакой там модный Flatter или, упаси Боже, React Native.

1
Ответить