Секреты разработки мобильных приложений
Она выражает личное мнение автора, которое может не совпадать с мнением редакции.
В настоящее время 9 из 10 потенциальных клиентов обращаются с запросом разработки приложения сразу под 2 платформы - iOS и Android. Это вполне логично, ведь упомянутые платформы в сумме занимают более 95% рынка, и экономически целесообразно разрабатывать мобильное приложение именно под эти платформы.
Во время общения с заказчиками техническому директору компании Mauris Владимиру Бондаренко часто приходится объяснять, в чем разница разработки под каждую из платформ и почему это два абсолютно разных продукта. Многие считают, что программисты разрабатывают одно приложение, которое потом регистрируют в маркетах App Store и Google Play. В некоторых случаях это действительно так, но далеко не всегда. Владимир рассказал об основных подходах к разработке мобильных приложений.
Их всего четыре:
Конструктор приложений - готовый сервис, который позволяет за 30 минут собрать мобильное приложение.
У этого подхода два плюса: скорость и стоимость. В результате вы получите шаблонное не брендированное приложение с ограниченным функционалом без возможности адаптировать его под себя. При таком подходе к разработке более 50% всех ваших пожеланий невозможно будет реализовать.
Кроссплатформенное приложение - единое программное решение сразу под обе мобильные платформы. Сам продукт представляет собой сайт, обернутый браузером, который запускает главную страницу при клике по иконке.
Преимущества:
- Скорость работы. Интерфейс кроссплатформенных приложений отзывчив.
- Время разработки. За счет единого решения под 2 платформы время разработки существенно сокращается.
- Техническая поддержка платформ.
Недостатки:
- Трудно найти опытного подрядчика. Найти опытных разработчиков в, например, MonoTouch будет проблематичнее, нежели специалистов для нативных SDK.
- Удобство отладки. В Titanium предоставляется возможность отлаживать только свой код, и нельзя получить доступ в исходниках самого фреймфорка, что затрудняет поиск проблем. Что касается MonoTouch, то у многих разработчиков при отладке и запуске приложения возникают постоянные проблемы.
В итоге, вы получите полноценное гибкое приложение за минимальный период времени с одним программным кодом под 2 платформы. На старых телефонах продукт может притормаживать, платформа также имеет ряд ограничений при реализации сложных приложений.
React Native - технология от Facebook, которая использует нативные компоненты под каждую из платформ, а также имеет общую программную логику. Такой подход позволяет получить быстродействие нативной разработки с экономией времени за счет реализации общей логики.
Преимущества:
- Повторное использование кода. Кроме общего набора исходных кодов между несколькими платформами, React Native дает возможность повторно использовать код с веб-приложением.
- Платформа: «All inclusive». React Native включает: React; дополнительные средства для Android и iOS; Flexbox для стилизации интерфейса пользователей; разнообразные виджеты, анимации и многое другое.
- Интегрируемые нативные компоненты.
Недостатки:
- Ограниченный API. Хоть React Native и поддерживает огромное количество API-интерфейсов, все еще существует потребность в использовании других API через встроенные модули.
- Различия платформ Android и iOS.
- Относительно низкая производительность. Если вы планируете разрабатывать сложное приложение, React Native вам не подойдет.
На выходе пользователь получает гибкое приложение с родным отзывчивым интерфейсом и единой программной базой. Но стоит учесть, что технология достаточно новая, и в некоторых случаях разработчикам вашего приложения придется самим дорабатывать стандартные для мобильной разработки программные компоненты.
Нативная разработка - разработка двух независимых приложений под платформы iOS и Android.
Преимущества:
- Удобство разработки и отладки. В целом разработка нативных приложений намного удобнее, чем, например, разработка кроссплатформенных. Это связано с тем, что в нативной разработке отсутствуют дополнительные прослойки между кодом приложения и исполняемым файлом и, в целом, инструменты натива более развиты.
- Наличие документации и регулярной технической поддержки
- Скорость работы. Нативные приложения обеспечивают высокую скорость работы и производительность.
- Юзабилити. Нативные приложения предоставляют возможность реализовать интерфейс и общее поведение программы наиболее естественным для данной платформы способом.
Недостатки:
- Охват платформ.
- Высокая стоимость разработки.
- Трудно найти опытного подрядчика. В целом, найти хорошего разработчика на Java или Objective-C достаточно сложно ввиду специфичности данной области и более высокого порога входа в технологию.
Что в итоге? Вы получите максимально гибкое приложение с полным арсеналом возможностей для каждой из платформ, но реализация и поддержка приложения под каждую из платформ потребует отдельную команду разработчиков.
Существует еще ряд менее популярных технологий для реализации приложений, но все они вписываются в градацию, описанную выше.
Теперь перед разработкой приложения вы сможете выбрать оптимальный подход к реализации, исходя из вашего бюджета, сроков и функционала.
В этом видео вы можете узнать, сколько времени займет разработка мобильного приложения. Больше роликов на нашем канале:
Поделиться