Insertando contenidos HTML en nuestra aplicación IOS

0
7817

Insertando contenidos HTML en nuestra aplicación IOS

Cuando construimos una aplicación Web normalmente ya tenemos que considerar que será utilizada desde un dispositivo movil, por lo que tendremos que pensar muy bien en la estrategia antes de empezar. Tenemos varias opciones:

  • Hacer aplicaciones HTML5 con CSS3 que se vean en el navegador del dispositivo móvil: en este caso la experiencia de usuario suele ser mala porque no es igual navegar en un ordenador que en una pantalla pequeña.
  • Adaptar la capa de presentación a las características del dispositivo, normalmente utilizando librerías específicas. De este modo se duplica parte del trabajo de prestación pero la experiencia de usuario es mejor. Obviamente la navegación no es igual que una aplicación nativa.
  • Hacer una aplicación híbrida, es decir, una aplicación en el market del fabricante del dispositivo pero que en puntos determinados conecte con una aplicación HTML. Tienes las ventajas del almacenamiento local nativo y la capacidad de decidir que haces en nativo y que invocas.
  • Construir una aplicación completamente nativa. El coste es más elevado porque tienes que hacer un front-end distinto, incluso cambian las tecnologías, pero la experiencia de usuario es mucho mejor. También tienes que crear la capa de servicios en el servidor para atacarlas como servicios REST o Web-Services.. aunque si las cosas se hacen bien, esto no debería ser distinto en ninguna de las opciones nombradas.

Es que todo no se puede tener y, habitualmente, la mejor decisión depende de muchos factores: presupuesto disponible, dispersión de clientes en dispositivos, desarrollo existente en servidor, etc.

De todos modos, parece que la opción híbrida es bastante sensata, sobre todo cuando tienes perfiles en la empresa expertos en maquetar y desarrollar con html.

En este pequeño tutorial voy a explicar como puedes utilizar en control UIWebView para mostrar HTML generado al vuelto o almacenado como recurso local dentro de nuestro proyecto. La verdad es que ha resultado tan sumamente sencillo que da para poco pero he preferido no dejarlo pasar.

La gracia puede ser que dentro de nuestra aplicación la ventana de «Acerca de» sea HTML y, de este modo, favorecer el salto a los contenidos corporativos.

Empezamos creando un proyecto que llamaremos VistaWeb.



Insertamos un OutLet de tipo variable:

Le llamamos vistaHtml

Y ahora sólo tenemos que decir que se genere el html cuando se cargue la vista.

Siendo justos, me está pareciendo que http://stackoverflow.com/ es un recurso grandioso para estas labores. Simplemente haciendo una búsqueda simple en Google aparece siempre: Mi búsqueda «create dinamic html ios» que lleva a http://stackoverflow.com/questions/9669241/uiwebview-dynamic-html-to-template resuelve el problema casi a la primera.

Vamos, que es solamente una linea:

Concatenamos la cadena como más nos guste; yo lo hago siguiendo el patrón del artículo.

Y ya está terminado.

También podríamos cargar el html de un fichero ya existente en el área de recursos. La verdad es que la cosa cambia poco.

Creamos un fichero:

Copiamos la plantilla del HTML con los símbolos a sustituir (así los diseñadores pueden hacer lo que quieran y simplemente el contrato es el orden).

Y codificamos nuestro código para leer el contenido del fichero, convertirlo a nuestra cadena y lo demás es igual.


Os dejo el código copiable por si lo queréis recicl… Aunque seguro que hay mil formas de hacerlo.

Como decía, da gusto, a estas alturas de la vida, tener una rápida conexión a internet porque los problemas se resuelven básicamente haciendo una buena pregunta en un buscador (creedme que cuando empecé hace más de 15 años no era así :-).

Gracias a toda la gente que, como procuramos hacer nosotros, comparte tanto conocimiento.

DEJA UNA RESPUESTA

Por favor ingrese su comentario!

He leído y acepto la política de privacidad

Por favor ingrese su nombre aquí

Información básica acerca de la protección de datos

  • Responsable:
  • Finalidad:
  • Legitimación:
  • Destinatarios:
  • Derechos:
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad