Можно ли создать полноценное приложение на js?

Да, возможно создать полноценное приложение на JavaScript (JS) для платформы Android. Существует несколько подходов к разработке приложений на основе JS для Android, и каждый из них имеет свои особенности и нюансы.

1. Cordova (также известный как PhoneGap): Cordova является фреймворком, который позволяет вам создавать гибридные приложения, используя HTML, CSS и JS, а затем упаковывать их в исполняемые файлы для различных платформ, включая Android. Cordova предоставляет доступ к дополнительным стандартным возможностям устройства, таким как камера или контакты, с помощью специальных плагинов. Приложения Cordova работают веб-страницы, упакованные в WebView компонент, и имеют доступ к нативным возможностям устройства через JavaScript API.

2. React Native: React Native - это фреймворк, созданный Facebook, который позволяет создавать мобильные приложения, используя JavaScript и React. Он использует компонентный подход к разработке, где различные элементы интерфейса приложения (например, кнопки, списки, изображения) являются независимыми компонентами, которые можно повторно использовать. React Native внутренне переводит ваши компоненты в компоненты, специфичные для платформы (нативные компоненты), так что приложение выглядит и работает как обычное Android-приложение. Вы также можете использовать нативные модули, написанные на Java или Kotlin, в своем проекте React Native.

3. NativeScript: NativeScript - это фреймворк, который позволяет вам создавать нативные мобильные приложения с использованием JavaScript, TypeScript или Angular. Приложения NativeScript компилируются в нативный код, который работает непосредственно на устройстве и имеет доступ к нативным возможностям. NativeScript также предоставляет интерфейсирование с классами и методами нативных API, что позволяет вам создавать полностью настраиваемые интерфейсы и функциональность.

Приложения, разработанные с использованием Cordova, React Native или NativeScript, имеют доступ к большинству функциональности платформы Android и могут быть опубликованы в Google Play Store. Однако, при работе с JS на Android есть некоторые ограничения, такие как производительность (JS выполняется на интерпретируемом уровне), доступ к нативным API (некоторые функции могут быть недоступны или требовать написания специальных плагинов) и сложность отладки.

В общем, создание полноценного приложения на JS для Android возможно с использованием указанных фреймворков. Выбор подхода зависит от ваших предпочтений в разработке, потребностей приложения и опыта команды разработчиков.