I guess there are a couple of ways to tackle this(you already described some), depending on what your functionality should be. My suggestion would be the following:
Hope this helps!
Thanks! We have chosen to follow this process:
1. We make the inital API calls in the responsive profile
2. We mark a particular set of objects as 'required ofline'
3. This copies the information to the 'offline objects'
4. The user logs in on the tablet and synchronizes to have access to these objects
5. When done, the user synchronizes again to make the updates available on the server
6. At this time, the set of objects is no longer available offline, to prevent conflicts
7. In the responsive profile, the user reviews the work and adds information
8. He then 'approves' the work, which triggers the API calls to update Azure
We know this can be done with the offline profile indeed. An open question still is whether we should choose the native profile instead. We have little experience with it.
After having had to deal with a lot of issues building a hybrid-offline app in 2018 and working around many limitations of the early versions of nanoflows, I would advise using the native profile. Simply because it has the most mature version of nanoflows and the state-of-the-art for handling offline issues.
Version 8 is now no longer beta and it has many improvements that you will probably take advantage of without even knowing it. For instance, Native profile gives you the advantage of better swiping, user notifications, offline first (as does hybrid offline). Also version 8 as Java 11 instead of Java 8.
I just looked at Mendix’ version release video and am looking forward to my next mobile project.