В настоящий момент, анализ рынка программного обеспечения показывает значительный рост мобильных решений. Действительно, смартфоны, планшеты, смарт-часы и другие носимые устройства становятся всё более производительными и функциональными, что открывает для их обладателей невиданные прежде возможности применения таких устройств.
В связи с этим, компании, идущие в ногу со временем, стремятся обеспечить своих клиентов актуальным ПО в данной области. Безусловно, присутствуют различные варианты решения вопроса «мобильности» продуктов. Например, если компания преимущественно занимается разработкой WEB-решений и сервисов, существует возможность создания актуальных мобильных WEB-версий сайтов и т. д.
Однако, это лишь частично решает проблему, поскольку, современные пользователи чаще предпочитают использовать обособленное приложение, а не выходить в интернет через браузер мобильного устройства, ждать загрузки страниц, «логиниться»... Например, входить в приложение значительно удобнее с помощью отпечатка пальца, или через Face-ID, нежели вводя логин и пароль на сайте (многие сервисы по умолчанию «разлогинивают» пользователей при неактивности, в связи с требованиями безопасности). Таким образом, разработка мобильных приложений — важная задача, к решению которой различные компании подходят по-разному...поговорим об этом далее.
Рынок мобильных операционных систем на данный момент представлен двумя основными игроками — Android и iOS. Разработка приложений для данных ОС возможна по трём сценариям — под конкретную платформу, с использованием нативных языков программирования (Java/Kotlin для Android и Swift для iOS – не будем углубляться, это темы для отдельных статей), разработка универсальных приложений с помощью специальных фреймворков и создание гибридов, включающих в себя оба рассмотренных решения в одном приложении.
Для своих продуктов и сервисов в AZN research мы разрабатываем универсальные кроссплатформенные мобильные приложения (например, Unitylink mobile, CIS mobile...), используя для этого специализированный фреймворк React Native.
React Native был создан компанией Facebook вслед за своим WEB-аналогом React и представлен миру в феврале 2015 года, а исходный код был открыт уже в марте 2015. Данный фреймворк позволяет быстро создавать хорошо масштабируемые, гибкие, «быстрые» полнофункциональные приложения для различных мобильных ОС. На базе React Native можно разрабатывать продукты для Android(+Android TV), Apple(+Apple-TV), Microsoft Surface, WEB и даже VR, используя только JavaScript(TypeScript). Основные концепции и функционал унаследованы от React, например, знаменитые React Hooks. Также, присутствует аналог Virtual-DOM.
Для компаний разработка мультиплатформенных мобильных приложений выгодна ещё и с экономической точки зрения. Так, имея в штате одного React Native разработчика, со знанием JS(TS), нет необходимости нанимать нескольких разработчиков со знанием нативных языков для разработки под разные мобильные платформы (как было сказано выше Java/Kotlin для Android и Swift для iOS). То, что над приложением работает один человек (либо несколько человек на одном проекте) - исключает несоответствие версий приложения для различных платформ и т. д.
Мобильный рынок ПО стремительно растёт, и, очевидно, продолжит расти в будущем, всё сильнее вытесняя класcические десктопные и WEB-решения, где это возможно. Прогрессивные IT-компании уделяют значительное внимание разработке мобильных приложений-аналогов своих программных продуктов, и это, безусловно, правильная позиция, способствующая конкурентоспособности и процветанию в будущем.