I do not think the profile in Sencha is a good feature. When the application needs to be adapted for more and more handsets or tablets, it will make the client package so heavay and hard to maintain. And also it seems client needs to download all the code for all the terminal.
That means it makes application in the client enviroment so complex. Also I guess maybe it will effect the client performance.
So I think the adaptation should be done in the server or before the package.
The client should add more information about itself in the request. Normally the information will be added in the HTTP UserAgent field. Such as screen size, model and os.
For example, when we make a package or publish a online service for a special handset. The system can automaticaly recognize which adaptation it belongs to and
precompiling or packaging procedure then collect all the code it needs.
That means maybe we should give a mix architecture (both in the server side and client side) to resolve the adaptation problem. Maybe even using server code to