Что такое разработка мобильных приложений

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

Платформы для мобильных приложений и устройств

В настоящее время на современном рынке смартфонов есть две доминирующие платформы. Одна из них — платформа iOS от Apple Inc. Платформа iOS — это операционная система, которая поддерживает популярную линейку смартфонов iPhone от Apple. Второй — Android от Google. Операционная система Android используется не только с помощью разработанных Google устройств, но также используется многими другими OEM-производителями для собственных смартфонов и других устройств.

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

Типы мобильных приложений

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

⇒ Родные мобильные приложения;
⇒ Гибридные приложения;
⇒ Гибридные веб-приложения;
⇒ Прогрессивные веб-приложения.

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

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

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

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

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

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

Native-против-Hybrid-Apps
Одна из проблем разработки приложений для мобильных заключается в том, что это довольно узкоспециализированный навык, и в то время как есть большие и яркие сообщества разработчиков, обучающихся на C и Java, их гораздо меньше, чем тех, которые хорошо осведомлены в конкретных версиях языков на платформе и их соответствующих IDE. На самом деле, опытные разработчики родных приложений пользуются таким спросом, что многим компаниям трудно нанимать и удерживать их на персонале, а вместо этого им часто приходится прибегать к сторонним проектно-конструкторским домам, чтобы создавать для них свои приложения.

В результате было разработано несколько механизмов, которые позволяют разработчикам использовать другие программные системы, такие как веб-технологии HTML5 / CSS / Javascript, а затем инкапсулировать эти веб-приложения в контейнер, который позволяет веб-приложению действовать как собственное приложение на устройство.

Двумя основными вариантами гибридного подхода являются гибридные сети. В гибридном случае код веб-приложения компилируется в собственное приложение. В случае гибридного веб-приложения веб-приложение выполняется внутри контейнера на устройстве.

Жизненный цикл разработки мобильных приложений
Существует два взаимосвязанных основных компонента мобильного приложения:

1) мобильное приложение «Front-End», которое находится на мобильном устройстве,

2) услуги «Back-End», которые поддерживают мобильный интерфейс.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Post Author: admin

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