This sounds great Ilia! It’s good to see that there are others that have a similar requirement.
I have actually toyed with idea but stopped as I feel there is one critical piece missing from the CUBA REST interface and that us the ability to generate Swagger for the Domain Model. I understand this has been scheduled in the next release based on YouTrack PL-9387. You may want to hold off with your initiative until PL-9387 has been finished to see if it meets some of your requirements.
This was my discussion about a similar requirement but coming from a different angle.
What I would want, at least for a C#/Xamarin project is the ability to generate strongly typed proxies so that we get Intellisense from DTO’s that reflect the model and services defined in CUBA. I use both Visual Studio for
Xamarin dev and Android Studio + other tools and as such and was looking at CodeGen as my initial go to. I have not used CodeGen and as with most proxy generators, they usually have limitations but at least of body of work has been done. CodeGen does have a pluggable generators and there are 2 implementations for C# as shown in the Swagger Editor below:
I spent years doing offline interfacing to SAP using IDocs and while this was on a much larger scale, the same techniques/issues apply at least for what I will call Unattended Offline.
Unattended Offline is hard to do generically as there are a usually many of domain specific issues with the consistency or techniques for eventual consistency of transactions. Offline requires guaranteed delivery (Queuing), once and only once processing (Correlation) + a mechanism to notify of and process exceptions after the fact.
There is a whole other discussion for what I call Attended Offline or simply, user initiated data sync which is much easier to implement.
What type of Offline are you are thinking of? I suspect that you are just thinking of just of mobile devices?
My 2 cents,