Это руководство покажет вам плюсы и минусы различных типов приложений.
Когда мы слышим слово «приложение», мы инстинктивно думаем о приложениях, которые мы можем загрузить и установить на свое устройство из Apple App Store или Google Play Store. Это так называемые «мобильные приложения».
Но есть и «веб-приложения». Это приложения, которые запускаются непосредственно в браузере смартфона, планшета или ПК. В более поздних версиях Google Chrome, Mozilla Firefox, Safari и т. д.
Теперь они могут охватывать широкий спектр функций и, таким образом, служить разумной альтернативой мобильному приложению, в зависимости от области применения.
В упрощенном виде эти два типа приложений можно различить следующим образом (веб-приложение и мобильное приложение).
Однако и мобильные, и веб-приложения можно различать еще точнее. Существует несколько способов их структурирования и программирования. Начнем с веб-приложений:
1. Простое веб-приложение
Если мы оглянемся на то время, когда смартфон еще не завоевал рынок, мы обнаружим, что Интернет все еще предлагал относительно мало возможностей для взаимодействия.
Несомненно, это было также связано с тем, что лишь у немногих людей в то время были подключены к компьютеру такие устройства, как камеры, микрофоны, датчики GPS и т. д.
Поскольку эти аппаратные компоненты внезапно стали всегда доступны со смартфоном, и одновременно увеличилось использование Интернета через мобильные телефоны, спрос на доступ к этим датчикам и функциям через веб-сайт также увеличился. Между тем, основные браузеры предлагают эти возможности.
Сегодня многие приложения можно реализовать непосредственно как веб-приложение. Существенным преимуществом является то, что они почти не зависят от оборудования, пока на них работает текущая версия стандартного веб-браузера. Установленная операционная система (iOS, Android, Windows, Linux и т. д.) значения не имеет.
В принципе, вы уже знаете это по многим веб-сайтам, потому что веб-приложения — это не что иное, как веб-приложения. Это просто немного более интерактивная форма веб-сайта. Таким образом, существующие домашние страницы можно легко дополнить интерактивными функциями или даже преобразовать в веб-приложение.
Итак, у нас уже есть самые важные преимущества простого веб-приложения:
- Независимо от аппаратного обеспечения и операционной системы, если используется современный браузер.
- Существующие веб-сайты можно легко дополнить интерактивными функциями или преобразовать в веб-приложение.
Конечно, есть и несколько недостатков. Например, многие функции, известные по мобильным приложениям, еще не полностью поддерживаются. Но тот факт, что простое веб-приложение невозможно использовать без активного и стабильного подключения к Интернету, также является минусом. Именно поэтому в Интернете существует еще один тип приложений.
2. Прогрессивное веб-приложение (PWA)
Эта разработка основана на ранее описанном простом веб-приложении. Тем не менее, несколько ключевых отличий отвели Progressive Web App отдельную главу в этом списке.
Самое важное отличие заключается в том, что PWA также могут работать без подключения к Интернету. Конечно, приложение нужно загрузить один раз, просто зайдя на соответствующий веб-сайт.
При желании веб-приложение также можно сохранить на главном экране используемого устройства, чтобы в итоге оно действительно выглядело как запуск обычного мобильного приложения. Пользовательский интерфейс браузера скрыт, когда PWA создается с главного экрана, также поддерживает этот внешний вид.
Прогрессивное веб-приложение также может выполнять функции в фоновом режиме, которые можно использовать, например, для получения push-уведомлений.
Таким образом, мы приходим к следующим благоприятным свойствам этого типа приложений:
- Также может работать без активного подключения к Интернету
- Получайте push-уведомления, даже если они свернуты
- Выглядит как мобильное приложение при запуске с главного экрана
Здесь все немного сложнее, чем с простым веб-приложением, когда дело доходит до недостатков. Ведь PWA пытается преодолеть разрыв между веб-сайтом и мобильным приложением и тем самым устранить соответствующие негативные черты. Впрочем, неполная поддержка полезных функций устройства ничем не лучше. Кроме того, этот тип приложений все еще является относительно новым и поэтому еще не работает во всех браузерах. А если и будет, то только в последних версиях.
Подводя итог, можно сказать, что большое преимущество веб-приложений заключается в их независимости от платформы. Но, с другой стороны, нам не хватает поддержки некоторых возможностей используемого оборудования.
Итак, мы подошли к мобильным приложениям, у которых нет именно этой проблемы:
3. Родное приложение
Нативное, то есть «домашнее» приложение разработано для оптимальной работы в целевой системе, а также идеально интегрировано графически.
С этой целью для программирования используются стандартные блоки производителей (SDK). Например, они предлагают варианты считывания значений датчиков и обращения к аппаратным функциям устройства. Они также упрощают создание пользовательского интерфейса с использованием предопределенных компонентов.
Это приводит к следующим преимуществам нативного приложения:
- Высокая производительность и полное использование аппаратного обеспечения устройства и других функций платформы
- Единый пользовательский интерфейс, знакомый пользователю
Существенным недостатком здесь является то, что вы хотите охватить несколько операционных систем. В этом случае все приложение необходимо программировать несколько раз, каждый раз со строительными блоками других платформ, которые вы хотите поддерживать.
Поэтому нативные приложения особенно подходят для проектов только с одной целевой системой, которая не изменится в будущем. И это подводит нас прямо к следующему кандидату в этом списке, потому что он пытается объединить преимущества веб-приложений и мобильных приложений.
4. Гибридное приложение
Гибридное приложение — это веб-приложение, упакованное и поставляемое в контейнере для конкретной платформы. Это сочетает в себе то преимущество, что ядро приложения нужно запрограммировать только один раз (см. веб-приложения), с возможностью доступа ко всем функциям устройства (см. собственное приложение). Таким образом, гибридное приложение также загружается и устанавливается через магазин соответствующей платформы.
Итак, сразу к плюсам:
- Программное обеспечение нужно написать только один раз, и оно все еще может быть доставлено на несколько платформ.
- Доступ к функциям используемой платформы благодаря контейнерам
Однако при открытии приложения быстро становится заметно отличие от родного приложения, поскольку пользовательский интерфейс состоит не из компонентов, специфичных для платформы, а из элементов HTML, как в веб-приложениях.
Помимо незнакомого пользователю графического отображения, это часто влияет на производительность. Кроме того, вы обычно замечаете, что приложение не является родным, хотя это должно отображаться. Но есть и решение этой проблемы.
5. Кроссплатформенное приложение
Некоторые до сих пор относят эту технологию к гибридным приложениям, поскольку кроссплатформенное приложение также использует всего один код, который работает в нескольких операционных системах. Тем не менее, он заслуживает отдельной главы в этом списке из-за одной ключевой особенности: он использует собственные компоненты для пользовательского интерфейса.
Кроссплатформенное приложение не только загружается через магазин, но и выглядит как настоящее нативное приложение. Он поддерживает все аппаратные функции и оптимально интегрирован в операционную систему. Если функция не может быть сопоставлена с использованием исходного кода, совместно используемого между платформами, ее можно дополнительно дополнить собственным кодом.
Таким образом, этот тип разработки приложений дает нам преимущества нативных и веб-приложений одновременно:
- Один и тот же программный код можно использовать для нескольких платформ
- Полное использование функций соответствующей операционной системы или устройства
- Унифицированный и интуитивно понятный пользовательский интерфейс благодаря доступу к собственным компонентам графического интерфейса.
Недостаток, который иногда упоминается, заключается в том, что более сложные приложения также требуют написания большего количества нативного кода. Но это также относится и к чисто нативному приложению.
Конечно, идеального решения, подходящего для каждого случая, не существует. Идеальный способ разработки проекта приложения может различаться в зависимости от цели, масштаба и целевой системы.
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Присоединяйтесь к нашему сообществу Discord.