An app
in Salesforce.com is nothing but a container which contains in it - a name, a logo, and an ordered set of tabs.
http://www.salesforce.com/us/developer/docs/fundamentals/Content/adg_simple_app_introduction.htm
All the metadata such as Objects
, Visualforce Pages
, Classes
, etc are independent of an app
. An app
just helps to group things together visually. But internally the metadata has nothing to do with an app
i.e. you can have the same tab
, VF Page
in multiple apps.
Publishing an app on AppExchange is a long procedure. Please follow the AppExchange Publishing Guide https://sites.secure.force.com/appexchange/resource/1237050882000/help/index_Left.htm for full details on how to publish your app on AppExchange.