Статьи

Как создать приложение

Есть несколько способов создать мобильное приложение. Хотите знать, что лучше? По-разному. С какими технологиями у вас есть опыт? На какие платформы вы ориентируетесь? Сколько времени вы хотите потратить на создание приложения?

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

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

Мобильные приложения можно разделить на три большие категории:

  • веб-приложения
  • гибридные приложения
  • родные приложения

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

Возможно, вы уже знакомы с веб-приложениями. В отличие от других приложений, веб-приложение — это не то, что вы можете скачать откуда-либо, оно просто доступно на любом устройстве, которое может загружать веб-страницы (или имеет веб-браузер). Веб-приложение — это не что иное, как веб-сайт, действующий и ведущий себя как приложение. Например, до появления iOS SDK веб-приложения были единственным вариантом для разработчиков, желающих создавать приложения для оригинального iPhone.

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

Еще одним важным преимуществом является кривая обучения для разработки веб-приложений. При разработке веб-приложения вы полагаетесь на веб-технологии, с которыми у вас, возможно, уже есть опыт, такие как HTML, CSS и JavaScript. Если вы это сделаете, то вы сразу же приступите к работе без использования каких-либо проприетарных SDK.

Есть ли минусы?

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

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

Если вы хотите понять, что такое веб-приложения и как начать, ознакомьтесь с некоторыми другими нашими материалами здесь, в Envato Tuts +:

  • реагировать
    React Crash Course для начинающих, часть 1
    Дэвид Гвайер
  • угловатый
    Создание вашего первого углового приложения: основы
    Монти Шокин

Гибридные приложения были и остаются невероятно популярными. Они сочетают в себе некоторые из лучших вещей обоих миров, то есть веб и нативный. Технологии, используемые для создания гибридных приложений, идентичны технологиям, используемым для создания веб-приложений, HTML, CSS и JavaScript. Причина очевидна, если вы понимаете, как работают гибридные приложения.

Гибридное приложение — это веб-приложение, которое запускается в веб-представлении собственного приложения. Иными словами, гибридное приложение использует собственное приложение в качестве контейнера, чтобы оно выглядело как собственное приложение. Это означает, что для пользователя гибридное приложение выглядит более или менее естественным. Пользователь может загрузить его из мобильного магазина платформы, и на главном экране появится значок приложения.

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

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

Чтобы ускорить разработку, разработчики часто используют Cordova в сочетании с другими фреймворками, такими как Ionic и Onsen UI .

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

  • Кордова
    Введение в Кордову: основы
    Верн Анчета
  • ионный
    Ionic From Scratch: Начало работы с Ionic
    Тинаше Муньяка

Выбор для собственной разработки — это выбор производительности и надежности. Почему нативная разработка отпугивает так много разработчиков? Давайте возьмем платформу iOS в качестве примера. Если вы хотите создать собственное приложение для iOS, вам нужно выучить новый язык, Objective-C или Swift. Вам также необходимо ознакомиться с Xcode, интегрированной средой разработки Apple. Собственное приложение обычно занимает больше времени просто потому, что вы работаете ближе к металлу, так сказать. Objective-C и JavaScript — это два очень разных языка.

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

Существует ряд гибридных подходов, которые делают разработку собственных приложений доступной для большего числа разработчиков. Решение простое: напишите код на выбранном вами языке и скомпилируйте его в собственное приложение. На момент написания статьи наиболее популярными являются Xamarin и React Native .

Xamarin позволяет разработчикам создавать собственные приложения для iOS, Android и Windows Phone с использованием C #. Инструменты Xamarin используют проект с открытым исходным кодом Mono . React Native имеет свои корни в Facebook и позволяет разработчикам писать собственные приложения с использованием JavaScript.

Envato Tuts + охватывает широкий спектр платформ, включая iOS, Android, Xamarin и React Native. Взгляните на эти учебники, чтобы ознакомиться с ними:

  • IOS
    iOS с нуля с помощью Swift: понимание экосистемы iOS
    Барт Джейкобс
  • Android
    Android с нуля: обзор разработки приложений для Android
    Ашраф Хатхибелагал
  • React Native
    Начните с React Native
    Маркус Мюльбергер
  • React Native
    Создание приложения для словаря с использованием React Native для Android
    Ашраф Хатхибелагал

Какое лучшее решение? Родной? Или гибрид? Или веб-приложение? Там нет одного ответа. Это зависит от нескольких факторов. Если вы разработчик, то ответ менее сложен. С какими технологиями вы уже знакомы? Вы хотите сосредоточиться на одной платформе или создавать приложения для нескольких платформ?

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

Это одна из причин, по которой многие разработчики выбирают гибридное решение. Если вы опытный веб-разработчик, то вы сразу же приступите к работе. Apache Cordova в сочетании с пользовательским интерфейсом Ionic или Onsen может значительно ускорить разработку.

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

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

Если это так, нативный — ваш лучший вариант. Вы также можете заглянуть в Unreal Engine, если планируете разработать игру. В отличие от Unity , они взимают с вас только 5% от полученного вами дохода вместо ежемесячной платы.

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

Если вы не знакомы с Metal, вот что Apple может сказать по этому поводу:

Metal 2 обеспечивает почти прямой доступ к графическому процессору (GPU), позволяя вам максимизировать графику и вычислить потенциал ваших приложений на iOS, macOS и tvOS.

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

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

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

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

Если ваша цель — стать разработчиком мобильных приложений, то я бы предложил выбрать нативный подход. Это очень личное, хотя. Я разработчик iOS и мне это нравится; Я думаю, что Apple разрушает область разработки мобильных приложений и предоставляет вам множество инструментов для разработчиков. Сосредоточившись на одной платформе, в моем случае, iOS, tvOS, watchOS и macOS, у меня есть время, чтобы очень хорошо ознакомиться с платформой. Это важный аспект разработки мобильных приложений, если вы хотите создавать привлекательные приложения и иметь отличный пользовательский опыт.

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

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

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

  • Шаблоны приложений
    20 лучших шаблонов для Android-приложений 2019 года
    Нона Блэкман
  • iOS SDK
    17 лучших шаблонов приложений для iOS 2019 года
    Нона Блэкман
  • Мобильное приложение
    10 лучших шаблонов приложений React Native от 2019 года
    Нона Блэкман