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.