1. A computer-implemented method performed by data processing apparatus comprising one or more computers in data communication, the method comprising: instantiating a virtual machine emulating an operating system of a user device; instantiating, within the virtual machine, a native application that generates application pages for display on a user device within the native application, the native application operating independent of a browser application that can operate on the user device; accessing, within the virtual machine, application pages of the native application, and for each of the application pages: extracting content from the application page, the content including content of a plurality of different content types, the content for each content type being extracted by a corresponding extractor specific to that content type; generating application page data describing content of the application page, the content described by the application page data including text that a user device displays on the application page when the user device displays the application page; and indexing the application page data for the native application in an index that is searchable by a search engine.
1. A computer-implemented method performed by data processing apparatus comprising one or more computers in data communication, the method comprising: instantiating a virtual machine emulating an operating system of a user device; instantiating, within the virtual machine, a native application that generates application pages for display on a user device within the native application, the native application operating independent of a browser application that can operate on the user device; accessing, within the virtual machine, application pages of the native application, and for each of the application pages: extracting content from the application page, the content including content of a plurality of different content types, the content for each content type being extracted by a corresponding extractor specific to that content type; generating application page data describing content of the application page, the content described by the application page data including text that a user device displays on the application page when the user device displays the application page; and indexing the application page data for the native application in an index that is searchable by a search engine. 3. The computer-implemented method of claim 1 , further comprising: receiving, from a publisher of the native application, data specifying application pages to be indexed for the native application; and accessing application pages of the native application comprises accessing only the application pages that are specified to be indexed for the native application.