このような質問自体の定式化には、ブラウザを使用してインターネット上のターゲットオーディエンスを既にカバーしているため、答えが含まれています。したがって、バックエンドも書かれています。これはすべて、これらのエコシステムにサービスを提供する多くの言語を概説し、モバイルデバイスのユーザーを残しています。つまり、この視聴者を可能な限りカバーするには、Androidプラットフォーム用に前述のJava、またはKotlin、およびiOSのSwiftが必要になります。

モジュールとライブラリに関しては、これらはコンテキストに非常に依存しているものですが、「電子ストアのアプリケーション」を書くには、それらなしではできないと思います。それ以外の場合、あなたが開発者である場合、そのような不可解なレッスンでは、誰かがすでに行われている時間を無駄にする運命にあります。
Такая постановка вопроса сама по себе содержит ответ, ведь у Вас уже покрыта целевая аудитория обращающаяся в интернет при помощи браузера. Значит, бэкенд тоже написан. Всё это отсеивает множество языков обслуживающих эти экосистемы, оставляя пользователей мобильных устройств. То есть, чтобы максимально покрыть эту публику, Вам потребуются упомянутые ранее Java, или Kotlin, для платформы Android, а так же Swift для IOS.

Касательно модулей и библиотек, то это те частности, которые сильно зависят от контекста, но очень я подозреваю, что для написания "приложения для электронного магазина", без них будет не обойтись. В противном случае, если разработчиком выступаете Вы, то в таком не простом занятии Вы обрекаете себя на трату времени на то, что кем-то уже было сделано.