Of course, it is always possible to improve any program code as you say. I have tried to respect the Jackson rules of structured programming, I have applied to the maximum the theme of putting Routines to reduce the coding blocks to the maximum and I have NEVER repeated blocks of code and I have structurally documented all the flows of the block sentences so that Maintenance by anyone is quite easy.
By default I have removed any extension to have compatibility of the same aia with iOS.
The app covers all the functions of a certain process (in this case, time control of workers).
Although the app is large on Android, its use is instantaneous (it can only take 1 or 2 seconds to access the web without wifi to the BBDD processes of the server in the back office - but this is not the fault of the app).
In every screen I have not passed them. 9,000 blocks because it doesn't let the aia compile.
In my case I can certify that you can develop a complete app with a lot of functionality using AI2 for Android (and from what I've tested I think I can also certify it for iOS when I manage to generate its 'packages'). For iOS I had to apply "shortcuts" in the theme of responsive screens and in the use of "height automatic layouts", in the rest of the blocks the same aia for Android and for iOS is completely compatible.