What are the differences between creating a new class that extends Ext.app.Application and using Ext.application ?

Can we have multiple instance of the same application with Ext.application({name: 'App});

I want to use application to develop advanced widget. I meat widget that will perform their task alone, and that I can anywhere in any page.

For example want a file explorer:
We can two explorers in the same page (with 2 different root folder).
The two explorers will use the same controller, model and view to display, interact with the user and communicate with the server.