¿Cuál es la definición moderna de una “aplicación”?

Diseñé y construí aplicaciones web, así que pensé que podría atacar la cuestión de qué hace que una aplicación web sea una aplicación (y una tienda de aplicaciones digna) desde una perspectiva técnica / de diseño de interacción.

Considere Twitter: la aplicación de cliente de escritorio proporciona aproximadamente la misma funcionalidad que el cliente web.

Las características de la aplicación de Twitter (y muchas similares) son que descarga todo el código y los datos necesarios para trabajar en su navegador web, opera los datos localmente y envía datos modificados o nuevos a un servidor central. Eso es casi lo mismo que la aplicación de escritorio, excepto que se accede al código de la aplicación y a los datos desde un navegador web.

No creo que realmente puedas definir una aplicación web sin hablar de HTML5. En mi opinión, uno de los mejores regalos de HTML5 es el almacenamiento en caché sin conexión. Muchas aplicaciones aprovechan el almacenamiento local de datos persistentes en el navegador, pero no muchas almacenan el código real que opera en los datos. Si Google Docs fuera capaz sin conexión en este momento, sería muy parecido a MSFT Office, pero en su navegador.

Por lo tanto, diría que la definición purista de una aplicación web es una base de código que se almacena en el navegador, es capaz de ver / crear / editar datos y sincroniza sus datos con un servidor / nube para que se pueda acceder desde otro navegador En otro lugar. Como lo que dice Ben Newhouse o lo que ChromeOS está tratando de hacer.

Sitio web versus aplicación web
Creo que una manera fácil de notar la diferencia entre una aplicación web y un sitio web es si se requiere o no una recarga de página para cambiar los estados con la interfaz de usuario. Craigslist es un buen ejemplo de esto porque todo lo que haces es a través de un formulario – POST – recarga de página.

Una vez más haciendo referencia a la aplicación de Twitter, no podría tener la misma experiencia en la web que la aplicación de escritorio si cada actualización requiere una actualización de la página. Quora, según esta definición, parece estar en un punto intermedio porque guarda este texto mientras escribo, pero cada pregunta tiene su propia página (Search Engine Optimization (SEO)).

Supongo que los proveedores de la tienda de aplicaciones antes mencionados no esperan que las personas envíen sus sitios web gratuitos a sus tiendas de aplicaciones porque entonces el único valor que agrega la tienda de aplicaciones es la descripción, las calificaciones y los comentarios.

¿Qué hay de Flash? Personalmente, no considero que una página web que carga una película Flash interactiva sea una aplicación web. Flash Player es su propio entorno y no necesariamente necesita un navegador web. Un ejemplo de esto es http://www.picnik.com/, que realmente parece una aplicación web, pero en realidad es una aplicación Flash gigante.

Formalmente, una “aplicación” es cualquier pieza de software de aplicación, incluidos los gigantes como Microsoft Word. Sin embargo, lo que distingue a la “aplicación” moderna del “software de aplicación” tradicional es la portabilidad, donde incluso la palabra “portabilidad” viene con una inclinación moderna.

La estructura de una aplicación es tal que se puede instalar, quitar y posiblemente volver a instalar fácilmente sin mucha interferencia con el sistema circundante y otras aplicaciones. Las aplicaciones se almacenan y transmiten como paquetes donde la “instalación” es más o menos equivalente a la copia. En lugar de almacenar sus datos y preferencias dentro de una base de datos del sistema central, esa información se coloca en otro paquete que puede transferirse o eliminarse fácilmente. Finalmente, las aplicaciones generalmente se compran usando un modelo que permite la instalación de múltiples dispositivos (al menos hasta cierto punto) y la operación simultánea. Por lo tanto, las aplicaciones hacen que el movimiento desde el repositorio de aplicaciones (una “tienda” que puede archivar aplicaciones compradas previamente) a un dispositivo de usuario final sea simple. Creo que es seguro ir tan lejos para desacoplar la aplicación de su implementación subyacente. En esta definición abstracta de una aplicación, el “Angry Birds” que está disponible para iPhone es el mismo “Angry Birds” disponible para dispositivos Android. Es decir, los elementos clave del programa y el portátil son los mismos, a pesar de que el software real del iPhone no es portátil para un dispositivo Android.

No iría tan lejos como para llamar a las aplicaciones Software-as-a-Service (SaaS) porque su instalación, uso y eliminación es notablemente más manual que la mayoría de las tecnologías SaaS (y las tecnologías SaaS no son necesariamente tan compactas). Dicho esto, podría ser razonable llamar a SaaS una especie de “aplicación empresarial” (es decir, “aplicación” es la categoría más amplia).

A juzgar por los casos en los que se utiliza (Apple App Store, Chrome App Store), una “Aplicación” es un software completamente autónomo que se puede descargar o instalar de una pieza. Todavía pueden buscar datos en Internet, pero el acto de distribución es una acción definida y estandarizada para el usuario, independientemente de la aplicación.

More Interesting

¿Aliexpress tiene una API de desarrollador y un mercado de aplicaciones para que un desarrollador pueda escribir una aplicación para que la use una tienda de Aliexpress?

¿Qué tecnologías se utilizan para configurar el backend de una aplicación móvil?

¿Cuál es la aplicación que más te beneficia?

¿Hay algún sitio web / aplicación de asesoramiento en línea disponible?

¿Por qué haces aplicaciones?

¿Es mejor mantener nuestra filosofía y hacer que nuestra aplicación de Android se parezca a su aplicación web, y familiarizar al usuario con la aplicación al instante, o es mejor estar de acuerdo con Google e ir material, incluso si se ve muy diferente de la web?

Si pudieras crear una aplicación para ti que actualmente no está en el mercado, ¿cuál sería?

¿Cuál es el mejor sitio web o aplicación para obtener conocimiento?

¿Cómo se construye una tienda de aplicaciones? ¿Cuál es la tecnología requerida y qué startups están haciendo cosas emocionantes en este espacio?

Cómo encontrar ideas interesantes para una aplicación web

¿Qué tecnología puedo usar para crear una aplicación web e híbrida en tiempo real?

Cómo administrar credenciales para aplicaciones oAuth en una empresa

¿Cómo haría una empresa de desarrollo de aplicaciones móviles y web con sede en Londres para adquirir su primer cliente?

¿Debo diseñar la aplicación móvil primero y luego la aplicación web?

¿Cuáles son algunas herramientas disponibles para automatizar aplicaciones web móviles en navegadores web iOS y Android?