Будучи инженером мобильных приложений, я придерживаюсь очень консервативных взглядов.
Для написания приложений под Android пользуюсь Java, под iOS
- Objective-C/Swift. Это мощные языки программирования, официально признанные сообществом и собственно, производителями вышеупомянутых мобильных операционных систем.
Минус этого подхода
- нужно писать два отдельных приложения, тратить в два раза больше времени и владеть двумя разными языками (а таких людей не особо много, поэтому зачастую приходится владеть двумя разными программистами).
А поэтому, мир придумал ужасную вещь, которую называют “кроссплатформенная разработка”. Это когда ты, грубо говоря, пишешь один код, который будет работать на нескольких разных платформах. В нашем случае
- и на Android, и на iOS.
Из разных щелей то и дело
- появляются всевозможные проекты, посвященные этому делу. У одних получается плохо, у других
- еще хуже. Мой персональный фаворит
- ReactNative, детище команды из Facebook. Выглядит очень многообещающе, и уже подходит для использования в крупных проектах. Однако проблем и в ней куча :)
Если вы новичок, делающий первые шаги в мобильной разработке
- я советую освоить родные Java/Swift, прежде чем вкушать искушающие плоды кроссплатформенности.
А если вы не связаны с этим
- поздравляю, теперь вы знакомы с термином “кроссплатформенность” :)