Advertisement
  1. Code
  2. Mobile Development

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

by
Read Time:9 minsLanguages:

Russian (Pусский) translation by Ellen Nelson (you can also view the original English article)

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

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

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

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

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

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

В настоящее время 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 имеют инструменты перетаскивания для создания графических пользовательских интерфейсов. Однако они не позволят вам полностью использовать функции и возможности платформы. Чтобы создавать сложные приложения, вам нужно научиться языку программирования для этой платформы.

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

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

Если вы являетесь поклонником 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) несколько отстают. Ключевым преимуществом гибридных приложений является то, что разработчик может издавать для нескольких платформ с тойже кодовой базой.

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

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 работает на всех трёх основных платформах ОС, всегда рекомендуется проверить, соответствует ли ваша система рекомендованным спецификациям, прежде чем начинать разработку.

Политика App Store & распределение доходов

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

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

Целевые потребители

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

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

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

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

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

Заключение

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

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.