Платформы для мобильной разработки

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

 

Платформы для мобильной разработки и их рыночные доли

 

Платформа — экосистема мобильных устройств, наборов инструментов и приложений — обычно определяется операционной системой (ОС). Поставщики платформ — это крупные компании, такие как Google, Apple, Microsoft и т.д. Каждый из них разработал ОС, которые они лицензируют для производителей устройств. Иногда они могут быть сами производителями устройств. Производители устройств разрабатывают и производят устройства (в основном, смартфоны и планшеты) с предустановленной ОС. Эти устройства затем продаются потребителям (пользователям).

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

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

В настоящее время Android OS от Google имеет самую большую долю на мировом рынке с колоссальными цифрами — 86,1%. Apple iOS имеет 13,7% и занимает вторую позицию. Оставшаяся часть около 0,2% разделяется между всеми другими мобильными операционными системами вместе взятыми, такими как Windows Mobile от Microsoft, BlackBerry OS, Tizen OS, Sailfish OS и Ubuntu Touch.

В некоторых странах процентное соотношение может значительно меняться. Например, в США доля рынка Android составляет 53,4%, а доля iOS — 44,5%, что является заметной разницей по сравнению с общей долей рынка.

 

Архитектура процессора

Хотя все эти платформы поддерживают архитектуру процессора ARM, Android расширяет свою поддержку еще больше, охватывая архитектуры x86 и MIPS. Tizen, Sailfish OS и Ubuntu Touch также поддерживают архитектуру x86. Однако, если вы не программируете чипы пользовательского ROM, архитектуры CPU, поддерживаемые каждой платформой, не повлияют на ваш выбор.

 

Как выбрать платформу

 

Ваше знакомство с языками программирования

 

Вам нужно будет написать много кода в качестве разработчика мобильных приложений. Существуют определенные инструменты, которые позволяют избежать ввода кода с помощью текстового редактора , например, Android и iOS имеют инструменты перетаскивания (drag-and-drop) для создания графических пользовательских интерфейсов. Однако они не позволят вам полностью использовать особенности и возможности платформы. Чтобы создавать сложные приложения, вам нужно научиться языку программирования для своей платформы.

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

Если вы знакомы с Java, вам будет проще разрабатывать Android-приложения с Android SDK (Software Development Kit). Однако некоторые расширенные функции приложения потребуют от вас навыков C и C ++ с Android NDK (Native Development Kit). Кроме того, теперь для Android можно программировать на альтернативном языке, таком как Kotlin.

Для iOS требуются навыки программирования Objective-C или Swift.

Если вы являетесь поклонником Microsoft Visual Studio .NET, вы будете счастливы разрабатывать приложения для Windows Mobile с помощью C #.

Чтобы разработать для BlackBerry или Tizen, просто изучите HTML, CSS и JavaScript.

Изучив QML или Python, вы будете готовы разрабатывать приложения под Sailfish.

Если вы любите Ubuntu Touch, вам следует изучить QML или HTML и JavaScript.

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

Новые языки программирования постоянно появляются и продвигаются. Хотя не всегда ясно, имеют ли эти новые языки большое преимущество по сравнению со старыми, но это хорошая идея, чтобы оставаться в курсе последних тенденций. Некоторые языки программирования могут стать устаревшими с введением новых. Например, Swift является заменой Objective-C, а некоторые старые языки могут найти совершенно новые применения.

 

Родная или гибридная разработка приложений

 

У вас есть два варианта, когда дело доходит до разработки приложений для смартфонов: родных приложений и гибридных. Собственное приложение, опубликованное на одной платформе, не будет работать на другой платформе. Например, вы не можете установить нативное приложение Android на устройство iOS. Вам необходимо опубликовать отдельную версию для конкретной платформы, созданную с использованием соответствующих средств разработки и развертывания, ориентированных на iOS. Напротив, гибридное приложение представляет собой веб-приложение, разработанное с использованием HTML, CSS и JavaScript, и завернутое в оболочку собственного приложения (или пользовательский интерфейс).

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

Ionic 2 — популярная платформа для разработки кросс-платформенных гибридных мобильных приложений. Он основан на веб-структуре Angular 2.

 

Родные кросс-платформенные приложения

В последнее время появилась новая серия мобильных кросс-платформенных платформ. Они сочетают в себе лучшие возможности собственных приложений и гибридных приложений — они быстры и легки и могут получить полный доступ к  родному устройству. Также они написаны с использованием JavaScript и других веб-языков, поэтому часть кода можно повторно использовать между платформами. React Native и NativeScript являются популярными встроенными межплатформенными фреймворками.

 

Ваша способность учиться

 

Если вы быстро обучаетесь, вы можете легко освоить собственный путь развития. Вам нужно понять основные концепции программирования, такие как объектно-ориентированное программирование (ООП), и вам нужно понять технические концепции платформы, такие как Application Lifecycle Management в Android, например. Чтобы начать работу, просто загрузите необходимые инструменты и SDK у поставщика платформы и попробуйте. Большинство из этих инструментов имеют открытый исходный код, и в них есть множество примеров кода и шаблонов приложений, которые помогут вам быстро начать работу. Если вы являетесь веб-разработчиком и хотите изучить  разработку приложений для смартфонов, то вам может быть удобнее начинать с гибридной или кросс-платформенной разработки.

 

Настройка системы и простота программирования

 

Еще один фактор, который следует учитывать, — это операционная система платформы, а иногда и аппаратная настройка компьютера разработки. Если вы хотите разрабатывать собственные приложения для iOS, вы не сможете сделать это на обычном компьютере под управлением Windows. Вам нужен Mac с macOS и Xcode, IDE от Apple для разработки iOS. Аналогично, родные приложения Ubuntu Touch лучше всего разрабатываются на компьютере Ubuntu. Хотя Android SDK работает на всех трех основных операционных системах, всегда рекомендуется проверить, соответствует ли ваша система рекомендованным спецификациям, прежде чем начинать разработку.

 

Политика использования приложений и распределение доходов

 

Магазины приложений Google и Apple взимают номинальный регистрационный взнос. Хотя оба предлагают одинаковый процент распределения доходов (70% от цены продажи в настоящее время), разработчики могут теоретически получать больше дохода, публикуя на Apple. Это связано с тем, что количество приложений относительно невелико и конкуренция среди подобных приложений меньше. Кроме того, вам необходимо знать, что не всем географическим местоположениям разрешено публиковать платные приложения в Play Маркете Google. Поэтому вы должны заранее подумать о способе монетизации своего приложения. Помимо продажи самого приложения, еще один способ монетизации вашего приложения — показывать рекламу или предлагать разблокировать дополнительные функции.

 

Целевая аудитория

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

 

 

Поддерживаемые функции устройства на платформе

 

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

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

 

Читайте также — Список ресурсов разработки мобильных приложений для тех, кто не хочет вникать в программирование
ИСТОЧНИК
ФОТОГРАФИЯ

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *