Logo es.androidermagazine.com
Logo es.androidermagazine.com

¿Qué es una aplicación html5 y quiero una?

Tabla de contenido:

Anonim

¿Has oído? Las aplicaciones HTML5 van a cambiar todo, probablemente el próximo año. Al menos eso es lo que un lado del debate sobre HTML5 versus aplicaciones nativas ha estado diciendo durante un tiempo. Es un mensaje que llega a los focos de vez en cuando, y así será para siempre. O al menos hasta que realmente suceda y todas las mejores aplicaciones sean aplicaciones HTML5. No es inusual ver a los desarrolladores tener este tipo de debates y defensores de cada lado que explican cómo su versión es la mejor versión, pero cuando las cosas van más allá de una discusión de desarrolladores y en la corriente principal donde usted y yo los escuchamos, pueden hacernos sentir insensibles. ¿Deberíamos realmente preocuparnos por lo que estamos escuchando?

En este caso, si. Si bien la utopía en la que cada aplicación está escrita en HTML5 y cada usuario tiene la misma experiencia, todavía está muy lejos si alguna vez sucede, HTML5 en una forma híbrida ya es un gran problema. Deberíamos saber y entender cualquier cosa que sea un gran problema.

¿Qué es una aplicación HTML5?

La primera vez que la mayoría de la gente escuchó que se mencionaba HTML5 fue cuando Steve Jobs nos dijo que todo sería el futuro de la web y Flash no. Su declaración se hizo realidad en parte porque Apple bloqueó el acceso a cualquier tipo de reproductor Flash en iOS, pero no hizo falta un visionario de ningún tipo para saber que esto vendría porque HTML5 tiene mucho más en juego que Flash. Y resulta que el futuro de la web también es una forma bastante buena de codificar aplicaciones.

HTML significa HyperText Markup Language, y estamos en la quinta revisión del estándar. Pero cuando escuchas el término aplicación HTML5, ya sea que eso signifique una aplicación web o una aplicación que puedes instalar en tu teléfono, realmente estás lidiando con tres tipos de código.

  • HTML proporciona un marco donde los desarrolladores pueden poner su código y una aplicación puede convertirlo en algo con lo que podamos ver e interactuar.
  • CSS proporciona una forma de diseñar cómo se verán los bits de código individuales una vez que se procesen y se muestren en nuestra pantalla.
  • JavaScript es lo que lo hace todo interactivo y poder "hacer" cualquier cosa.

Lo que hace que HTML5 sea excelente es que una aplicación comprende todo lo que un desarrollador de aplicaciones no necesita mantener y todo funciona en cualquier dispositivo con una pantalla que tenga su propia versión de esa aplicación. Estamos hablando de un navegador web, pero no de la aplicación del navegador web en sí. El componente de un navegador web que puede tomar todo este código y convertirlo en algo que podemos usar sobre la marcha es bastante portátil y forma parte de muchas aplicaciones que ya usa como vista web.

Un ingeniero de Mozilla dijo una vez: "El código que se ejecuta en cualquier lugar no significa que se escape. La optimización es la clave". Chicos inteligentes, esos ingenieros de Mozilla.

Lo que esto significa es que un desarrollador puede escribir su código y ajustarlo, luego implementarlo en todas partes. Eso es muy diferente de escribir código separado para Android, iOS, macOS, Windows y HTML para webOS y BlackBerry 10. Un desarrollador puede escribir código usando el entorno de desarrollo que elija, ya sea Notepad o algo complejo como Visual Studio o Adobe Dreamweaver, depurar y ajustar en cualquier navegador que elijan, y todavía funciona en todas partes.

Eso también incluye tu teléfono. Todos hemos visto aplicaciones HTML5 que se utilizan como página web. Lugares como Twitter o la versión móvil de Gmail son excelentes ejemplos de HTML5 en el trabajo. Pero dado que HTML5 puede ser procesado por un componente de vista web, colocar una ventana dentro de un marco de aplicación básico para crear una aplicación que realmente instale en su teléfono es simple y rápido. Incluso hay herramientas de terceros que hacen todo el trabajo por usted, como Apache Cordova. Esto ayuda a los nuevos desarrolladores a presentar sus ideas a todos, así como a los desarrolladores experimentados que ahora tienen tiempo para soñar cosas que no hemos visto antes. HTML5 integrado en una aplicación nativa puede ejecutar el código y usar los activos que obtiene de Internet, pero un desarrollador también puede instalarlos localmente y señalar el código allí para aplicaciones nativas fuera de línea honestas.

Pero no todo es genial sobre HTML5.

La realidad de las aplicaciones HTML5

Aquí es donde las cosas pueden ser confusas. Cuando pensamos en una página web, a menudo olvidamos que una página web solo envía su código a un motor de navegador y es nuestro dispositivo el que hace el trabajo. Eso significa que cosas como la geolocalización, el chat de audio y video en tiempo real, gráficos acelerados en 3D y mucho más no solo son posibles sino simples para que un desarrollador implemente usando HTML5. Esto se debe a que un organismo de estándares ha dicho: "Hola chicos, todos necesitamos hacer esto de esta manera en particular, y un desarrollador puede pedirnos que lo hagamos así".

Ese es el objetivo, de todos modos. La realidad puede ser un poco diferente, y solo necesitamos ver la reproducción de video para ver un gran ejemplo de por qué. Todos los navegadores que desee utilizar son compatibles con HTML5: Chrome, Opera, Internet Explorer, Edge, Firefox y Safari son navegadores HTML5 y admiten la reproducción de video una vez que un desarrollador escribe en pocas palabras que apuntan a un video. Cualquier tipo de componente de vista web portátil que tengan estas aplicaciones hará lo mismo porque usan el mismo motor de renderizado.

Cuando no haces cumplir las reglas se convierten en sugerencias; unos que nadie quiere seguir.

Pero no todos admiten el mismo tipo de video porque HTML5 es multiplataforma, abierto y no propietario, por lo que nadie los obliga a admitir todos los formatos. Ogg Theora es un formato de video popular que admite todos los navegadores, excepto Internet Explorer, que resulta ser el navegador predeterminado en muchas computadoras. H.264 es aún más popular, pero no está abierto ni es de uso gratuito, por lo que Firefox no lo admite. VP8 y WebM son de uso gratuito y abiertos, y todos los motores de navegador los admiten, pero Internet Explorer y Safari requieren que el usuario obtenga e instale soporte. Técnicamente, HTML5 admite reproducción de video HD y es muy fácil para un desarrollador implementarlo. En el mundo real, solo se admite el tipo de video correcto.

YouTube reproduce todos los videos con HTML5 porque Google tiene el dinero para convertir los videos que sube.

HTML5 también depende del hardware en uso y de lo competente que sea el desarrollador cuando se trata de escribir el código. Elegir la biblioteca de JavaScript incorrecta aún puede producir el mismo resultado, pero también puede provocar pérdidas de memoria y manejar la manipulación DOM (Modelo de objeto de documento, creado cuando se carga una página o aplicación, e incluye todos los elementos en la página o en la aplicación como un "documento" separado) puede hacer que una aplicación HTML5 se ralentice frustrantemente incluso en el mejor hardware. En teléfonos que no son tan capaces, rápidamente lleva a los usuarios a desinstalar su aplicación.

Ese no es el único problema. Cuando crea una aplicación HTML5 que extrae todo de Internet, debe lidiar con los tiempos de carga. Eso agrega la velocidad de conexión de un usuario a la lista de cosas que pueden hacer que su aplicación funcione lentamente, junto con las capacidades físicas del hardware (muchos teléfonos usan procesadores que no son exactamente rápidos) y la optimización del código. Si tarda un segundo en mostrar su código en el dispositivo de un usuario y 10 segundos en obtenerlo de Internet, tendrá muchos usuarios descontentos.

La aplicación de Facebook es un ejemplo de lo que está mal con HTML5 al igual que Instagram es un ejemplo de lo que está bien.

Hay un excelente ejemplo de esto disponible, y es uno en el que casi todos hemos estado descontentos sin importar qué tipo de teléfono usamos: la aplicación de Facebook. La aplicación de Facebook es básicamente una vista web incrustada en un marco que contiene los botones y ayuda a administrar las credenciales de su cuenta o enviar mensajes de una manera que el sistema operativo aprueba. Todo lo que sucede dentro de la aplicación se hace con HTML5, y es demasiado para que lo maneje una vez que tiene en cuenta la obtención de todos sus datos de Internet. Los desarrolladores siguen agregando más y más a Facebook, los usuarios publican archivos grandes alojados en lugares fuera de Facebook, y hay millones y millones de personas golpeando los servidores de Facebook a la vez, 24/7. Eso hace que las aplicaciones se actualicen lentamente, consuman mucha energía y sean objeto de muchas quejas.

El sitio web móvil de Facebook también está escrito en HTML5, pero está diseñado para tener pocos recursos porque es para uso móvil. Eso hace que sea más rápido cargar el contenido que desea ver, incluso si todo ese contenido no se muestra tan bien como en la vista completa. También es la razón por la cual el sitio móvil y las aplicaciones "lite" de Facebook que hacen referencia a él funcionan mucho mejor que la aplicación oficial de Facebook. Y esto no es solo un problema de Facebook: hay muchas aplicaciones que tendrían todas sus funciones compatibles con HTML5, pero son tan complejas (una buena palabra para hinchar porque han existido por un tiempo y están cambiando constantemente) como Facebook y Actuaría de la misma manera.

Entonces, ¿quiero ver más aplicaciones HTML5 o no?

¡Sí! Pero no todas las aplicaciones.

HTML5 es realmente bueno en muchas cosas y es una excelente manera para que un desarrollador use su tiempo para pensar en ideas creativas en lugar de enraizar a través de un manual de referencia de Objective-C o C ++. Pero a veces, la estructura rígida de los lenguajes de desarrollo que obliga a un desarrollador a hacer las cosas de cierta manera es lo que hace que el resultado final funcione mejor en nuestros teléfonos.

Las aplicaciones HTML5 pueden ser una pesadilla como la que vemos en la aplicación de Facebook o pueden ser bastante impresionantes como las que vemos en el sitio móvil de Gmail. O a Uber. O Instagram. O cualquiera de los cientos de aplicaciones HTML5 que usamos todos los días. Eso no es algo de lo que debamos preocuparnos, pero es totalmente algo para que los desarrolladores debatan sin parar. Y ahora, mientras están debatiendo y tratando de convencerte de que es mejor, sabes un poco sobre por qué dicen las cosas que dicen.

Podemos ganar una comisión por compras usando nuestros enlaces. Aprende más.