7 votos

¿Cómo es que las aplicaciones web no funcionan tan eficientemente como aplicaciones nativas para iPhone?

Yo estaba comparando el Twitter de la web de la aplicación a la app nativa, y notó que un par de diferencias en la forma en que se realizan. He observado que el desplazamiento no fue tan tranquila en el navegador como la aplicación nativa, entre algunos otros de menor importancia peculiaridades. Creo que la aplicación web se puede realizar igual de rápido si no más rápido en la web la versión de la aplicación, así que es difícil para mí entender la diferencia. Creo que WebKit es horneado a la derecha en el núcleo de iOS.

Apple inicialmente deseaba guardar como web apps solo, pero ahora me pregunto si su atención se desplazó más hacia los nativos.

9voto

mtnygard Puntos 141

El enfoque cambió de WebApps a los Nativos cuando el App Store se dio a conocer con el lanzamiento del iPhone 3G con iOS 2.0.1, que fue presentado el 9 de junio de 2008 en la WWDC.

Inicialmente las Aplicaciones Web se han diseñado para utilizarse con el primer iphone, pero el gran cambio se produjo con el lanzamiento del iOS (o iPhone OS, como se llamaba entonces) Kit de Desarrollo de Software, anunció en el iPhone Software de hoja de ruta evento el 6 de Marzo de 2008. El SDK permite a los desarrolladores crear aplicaciones usando Xcode que va a ejecutar de forma nativa en el iPhone, iPod Touch y iPad. Incluso antes de eso, las aplicaciones que fueron escritos de forma nativa a pesar del hecho de que Steve Jobs dijo una vez:

El Safari lleno motor está dentro del iPhone. Y así, se puede escribir increíble Web 2.0 y Ajax aplicaciones que se ven exactamente y se comportan exactamente como las aplicaciones en el iPhone. Y estas aplicaciones pueden integrar perfectamente con el iPhone de servicios. Se puede hacer una llamada, puede enviar un correo electrónico, que puede buscar una ubicación en Google Maps.

Y ¿adivinen qué? No hay SDK que usted necesita! Tienes todo lo que necesitas si usted sabe cómo escribir aplicaciones que utilizan la mayoría de los los estándares web modernos para escribir aplicaciones increíbles para el iPhone hoy en día. Así los desarrolladores, pensamos que tenemos un muy dulce historia para usted. Usted puede empiece a crear sus aplicaciones para el iPhone hoy en día.

La diferencia es tan simple como eso de la edad antigua diferencia entre "interpretar" y "compilado" de aplicaciones.

Aplicaciones nativas se escriben con menor nivel de idiomas (Objective C, C, C++ utilizando el entorno de desarrollo Xcode) y se compilan en contra de la Api que están diseñados para extraer la máxima velocidad y la eficiencia en el uso de algoritmos y funciones que están escritas específicamente en contra del hardware en que se pretende ejecutar. La compilación de código directamente en código máquina ejecutable casi siempre el método más rápido de la ejecución de un determinado software tarea.

WebApps son genéricos sin compilar piezas de código que no son capaces de hacer uso de estas APIs y tienen que volver a hacer o no uso de ellos. Están escritos en el bajo nivel lenguajes como Javascript, Python o Perl y que son interpretados a través de un entorno de tiempo de ejecución en el momento de la ejecución, lo que permite una cierta flexibilidad, a expensas de la velocidad pura. La función de desplazamiento es un ejemplo de que la app nativa tiene acceso a altamente optimizado rutinas para permitir super slick de desplazamiento, pero una webapp no porque no tiene el conocimiento o el acceso a la correspondiente Api. Muchas aplicaciones web se recopilan sobre la marcha usando 'justo a tiempo' compilación de técnicas, pero mientras que esto puede obtener algunas mejoras en la velocidad, no puede atender por la falta de una adecuada optimizado de la API de la plataforma en un lenguaje de alto nivel, luego de Javascript (que es el único lado del cliente de tiempo de ejecución que iOS apoya, aunque en otros sistemas operativos, móviles y de escritorio puede tener acceso a otros) que iOS, webapps se escriben en. Otros tiempos de ejecución están disponibles para el uso, siempre y cuando realicen el lado del servidor, que proporciona un mayor rendimiento.

En el caso específico de Twitter, la cuenta de twitter de la aplicación es simplemente no usar webkit, se trata de utilizar otras rutinas escritas en objective C, que son de nuevo (la palabra clave supongo) optimizado para obtener los mejores resultados de una manera nada en un navegador puede lograr. Curiosamente, creo que el Facebook app nativa es en realidad un poco disimulada envoltura alrededor de una webkit interfaz de usuario.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X