Adobe recommends using the SPA Editor for projects that require single page application framework-based client-side rendering (e.g. React). Learn more.
App definitions are a way to identify what spaces and other configurations are appropriate for the app. App definitions allows the user to add space, without having to recompile the app. The app definition is updated and that will include the information for any new spaces.
App definitions are tied to an app, therefore they require the creation of an App in the AEM Mobile App console.
To learn about the roles and responsibilities of an Adminstrator and Developer, see the resources below: