A computer-implemented method comprising: receiving, at a computer system supporting an application marketplace, a request from a first computing device (110, 112, 116) for an application, wherein multiple versions of the application have been published on the application marketplace, each of the multiple versions of the application associated with one of a plurality device types; in response to receiving the request, identifying a device type of the first computing device among the plurality of device types as an identified device type of the plurality of device types, wherein the identified device type specifies whether the first computing device is a first device type of the plurality of device types or a second device type of the plurality of device types; identifying, by the computer system, a version of the application from the multiple versions of the application, the identifying including analyzing metadata of the multiple versions of the application and identifying the version of the application having metadata that specifies the identified device type, wherein analyzing the metadata of the multiple versions of the application comprises extracting a manifest file that is embedded in the multiple versions of application, and wherein device information in the manifest file is used to: if the first computing device is the first device type, identify a first version of the application that is targeted to the first device type; and if the first computing device is the second device type, identify a second version of the application that is targeted to the second device type; the method further comprising: in response to identifying the first or second version of the application, providing for display the identified first or second version of the application for download by the first computing device. receiving, at a computer system supporting an application marketplace, a request from a first computing device (110, 112, 116) for an application, wherein multiple versions of the application have been published on the application marketplace, each of the multiple versions of the application associated with one of a plurality device types; in response to receiving the request, identifying a device type of the first computing device among the plurality of device types as an identified device type of the plurality of device types, wherein the identified device type specifies whether the first computing device is a first device type of the plurality of device types or a second device type of the plurality of device types; identifying, by the computer system, a version of the application from the multiple versions of the application, the identifying including analyzing metadata of the multiple versions of the application and identifying the version of the application having metadata that specifies the identified device type, wherein analyzing the metadata of the multiple versions of the application comprises extracting a manifest file that is embedded in the multiple versions of application, and wherein device information in the manifest file is used to: if the first computing device is the first device type, identify a first version of the application that is targeted to the first device type; and if the first computing device is the second device type, identify a second version of the application that is targeted to the second device type; if the first computing device is the first device type, identify a first version of the application that is targeted to the first device type; and if the first computing device is the second device type, identify a second version of the application that is targeted to the second device type;