Hi Mohamed, as far as I know you cannot load specific widgets for mobile. You can however minimize the widgets used in your project. Where is that 4 MB coming from or which widgets are u using?
Unfortunately Mendix does not make the distinction in which widgets are used in which application. If you load it in a Hybrid Mobile app, the app will download it once (and updates only when there is a new deployment). This means that the initial load will be somewhat long, but subsequent starts should be a lot faster.
That being said, it should be a good idea to analyse which widgets you are using. For example, CKEditor is massive in size, due to some libraries that are being included. But, such a widget could be replaced by Rich Text, for example. So it pays of to see what widgets you are using and if there is a way to either replace it with another, or try to do it with Mendix itself.
Another problem we face with building widgets is that a lot of them include jQuery. This was a choice in the past to do so, but jQuery is loaded multiple times in widgets.js and I think it is the biggest culprit in size.
Is the widgets.js loading 4MB on production? That is massive. In the cloud we do gzip all files, which usually means a decrease of at least 50% (I usually see a difference of 60%). If it is in the cloud, I am thinking you have included a huge amount of widgets in the application.