Вы определитесь, вам бэкэнд, мобилки или игры. Это три разных направления каждое со своими особенностями.
Я знаю о трёх путях разработки мобильных приложений, в том числе игр.
Каждый из них имеет свои плюсы и минусы.
Нативная разработка
В 2021 году у нас есть всего две платформы - Android и iOS, и для каждой есть своя курируемая авторами среда разработки и язык программирования. У Google для Android есть Android Studio, основанный на IntelliJ IDEA, и язык там - Java либо Kotlin, компилируемый в Java. У Apple для iOS есть Xcode, и язык там сейчас - Swift (забудьте об Objective С, если вы новый разработчик).
Преимущества такого подхода в том, что вы максимально близко к аппаратуре и можете использовать все доступные возможности платформы, без каких-либо прослоек, снижающих производительность и функциональность.
Недостатки такого подхода в vendor lock'е, вы замыкаетесь только на этой платформе. Если вы хотите, скажем, выпускаться и на Android, и на iOS, вам придётся учить два языка, привыкать к двум разным средам разработки и поддерживать две базы кода.
React Native
Ну или их конкуренты в той же нише Apache Cordova. Идея в том, что вы пишете мобильное приложение будто бы оно веб-приложение, используя технологии веб-разработки - HTML5, CSS3, ES7+. Волшебный бандлер вам из одной базы кода собирает нативные приложения для Android и iOS.
Преимущества такого подхода в том, что вы изучаете и используете невероятно популярные языки, у вас есть некоторый реальный выбор среды разработки и в случае чего вы можете спрыгнуть на веб-разработку. Вы поддерживаете только одну базу кода, с отдельными точечными хаками для конкретной платформы.
Недостатки такого подхода очевидны - в ваших приложениях поддерживается только та нативная функциональность аппаратуры, которую поддерживает ваш бандлер (React Native, Apache Cordova или что там ещё изобрели, пока я не смотрел). Для Android и для iOS разные style guide'ы и соглашения о том, как должен работать интерфейс. Ради кроссплатформенности всё это очень сильно обрезается. Про высокую производительность можете вообще забыть, она не в приоритете при таком подходе.
Кросс-платформенные решения (в том числе игровые движки)
Если вы нацелены на игры, то есть игровые движки, которые просто сами компилируют всё под любую мобильную платформу, какая существует на рынке. Например, самые известные мне названия - Unreal Engine, Unity, Godot - все умеют компилировать под Android и iOS одним переключателем в меню.
Для не-игровых приложений я знаю, что существует фреймворк Qt, который тоже компилирует под всё на свете.
При таком подходе вам нужно будет учить язык программирования под конкретную среду разработки. Unreal Engine и Qt используют C++, Unity использует C#, Godot скриптуется на своём собственном языке.
Преимущества такого подхода те же, что и для React Native - вы пишете приложение в намного более популярном и широко распространённом языке программирования, и один раз. Бандлер сам соберёт пакеты для конкретной платформы. Более того, в отличие от того же RN вы получаете намного большую оптимизацию под аппаратуру, потому что C++ это далеко не яваскрипт, и игровой движок знает лучше вас, как оптимизировать игровой код под конкретную платформу.
Недостатки такого подхода в том, что вы снова получаете vendor lock, но на этот раз на конкретную среду разработки - на Unreal Engine, на Qt Creator, на Unity. Более того, в отличие от React Native, где вы будете программировать на невероятно популярном яваскрипте, здесь вы будете программировать на, скажем так, менее хайповых языках, причём на тех, где порог входа намного выше, потому что C++ это далеко не яваскрипт, да и C# тоже способен сожрать вашу душу быстро и эффективно.
Pick your poison, как говорится.