I come from a few months' old background of full-stack web development. I'm new to mobile development and I had questions about using react-native for iOS and Android.
From the tutorials I looked at like this and this, it seems to me like all the functionality/logic is all coded in the front-end (react-native) and there is next to no code on the back-end (android).From my understanding, in a web app development, front-end (eg. react) provides the view, registers events from user, and calls apis for further manipulation in the back-end (which is our server) (eg. java) which performs operations on the data and renders it to the ui.The back-end may talk to other third-party services. This project is hosted on a server (like aws) and may communicate with a database hosted on a database server (like sql).
Is the terminology different when it comes to mobile app development - what do the terms front-end, back-end, server, database mean? If I were to build a mobile app that lets users share documents with each other using react-native, would the entire code be written on the ui? Wouldn't that cause performance issues - performing crud operations on the database so frequently to save and retrieve documents? If not, should the services be written separately for native android and ios? Or should there be a third technology used primarily for this purpose?
On the whole, I think my understanding is very flawed about all these terms and how they relate to each other, especially servers, databases, hosting on servers like aws etc. I have an understanding of local app development but I don't know these terms.
I have spent the whole week trying to understand this, and now I come to you for help. Thank you in advance.