С нативным подходом понятно, но как тогда устроен второй вариант — кроссплатформенная разработка?
Представьте, что вы говорите на русском, а ваш собеседник — на китайском. Язык друг друга вы не знаете, зато владеете английским — это не родной для вас язык, а язык-посредник. В таком случае вы будете понимать вашего собеседника, но при этом потеряется возможность выражать тонкие нюансы смыслов — общаться вы сможете, используя только вариации типовых выражений.
По такому принципу работает кроссплатформенная разработка — в ней используются такие фреймворки (то есть инструменты), как React Native, Flutter, КММ.
- В основе React Native лежит язык программирования Java Script. React Native выявляет ошибки на ходу, сокращает время отладки, предоставляет готовые компоненты и позволяет повторно использовать значительную часть кода, что способствует сокращению времени разработки и запуска.
- Фреймворк Flutter разработан компанией Google на собственном языке Dart. Встроенная функция Hot Reload позволяет вносить изменения в бэкэнд и мгновенно наблюдать за переменами фронтэнда, уменьшая необходимость часто перезагружать все приложение. Данная функциональная способность позволяет командам экономить время на разработку и компиляцию.
- КММ — это мультиплатформенный фреймворк на базе Kotlin, который позволяет переиспользовать бизнес-логику приложения на разных платформах, при этом оставляет приложениям нативный UI и UX. Таким образом KMM использует плюсы как кроссплатформенной, так и нативной разработки.
После создания структуры и логики приложения код интегрируют в нативный запускающий элемент на основе среды XCode или Android Studio.