Mostrando las entradas con la etiqueta ios. Mostrar todas las entradas
Mostrando las entradas con la etiqueta ios. Mostrar todas las entradas

Pensando sobre la Estrategia de Desarrollo Móvil Multiplataforma


Como programador de aplicaciones móviles debes preguntarte cual es tu estrategia para desarrollar aplicaciones para las diversas plataformas que existen. Esa pregunta es algo difícil de contestar, y se debe a que tenemos muchas opciones disponibles. A continuación veremos las opciones que tenemos para desarrollar para iOs, Android, Windows Phone o Windows 8, cual sería tal vez la más recomendable y espero también tu opinión.

El desarrollo multiplataforma quiere decir, básicamente, que construyamos una aplicación móvil que funcione en distintos dispositivos móviles sin importar el sistema operativo con el que cuenten. No necesariamente en todos, pero si en varios. Es decir, puedes tener una idea para una aplicación, luego piensas ¿va a funcionar en Android? ¿Y qué pasa con iOs? ¿Desarrollo también para Windows Phone sin importar que su nicho de mercado es pequeño? ¿Aún debo recordar a BlackBerry? Espero que no.

El escenario más común, y que la mayoría de desarrolladores y empresas consideran es elegir entre Android y iOs, o si debería desarrollar una aplicación nativa o una versión web de la aplicación. Tal vez se considere una versión nativa para Windows Phone u 8. La cosa es que, todo llega a un punto en que tienes que decidir. Y tienes que decidir porque si no tu extraordinaria aplicación nunca llegará a las masas.



Veamos las diferentes opciones:

1. Aplicaciones Nativas 

Está bien. Seguro parece la mejor opción. Pero, espera, piensa que tienes que desarrollar en Objective C si quieres hacer una aplicación para iOs. Vas a utilizar el framework Cocoa y tendrás que tener una Mac. Para Android, tienes que saber Java y puedes desarrollar en Mac o Windows, pero es probable que tengas que utilizar un emulador. Ahora cuando vayas por la opción de desarrollar aplicaciones nativas, por supuesto que tienes acceso a todos los elementos de la interfaz gráfica nativa. Construyes la aplicación y los usuarios van a percibir dicha aplicación especial para esa plataforma. Es la idea por la que la mayoría se decide por construir aplicaciones nativas. Apuntas a dos grandes mercados si solo desarrollas en Android y iOs. Si eliges desarrollar una aplicación de pago, la mejor opción es desarrollar para iOs, olvídate de Android, que es el reino de las aplicaciones gratuitas.

2. Aplicaciones HTML5 o Híbridas

La opción 1 es esa. La opción 2 es hacer algo entre desarrollo nativo y lo que es puro HTML o un desarrollo multiplataforma. Una opción recomendable es utilizar las herramientas de desarrollo Xamarin. Xamarin te permite escribir una aplicación para Android y iOS en C#. Puedes utilizar las librerías portátiles en C# para escribir gran parte de código portable que puedes reutilizar. La diferencia entre desarrollar aplicaciones nativas y desarrollar aplicaciones con Xamarin es muy pequeña porque Xamarin se coloca encima de las API nativas y lo que hace es dejarte escribir el código Java o de Objective C mediante C#. Hay mucho tras bastidores, pero seguirás utilizando los controles nativos. Es solo otra capa de desarrollo encima. Después de Xamarin hay otras herramientras como Titanium. O como PhoneGap donde realmente construyes una aplicación híbrida. Ya estamos entrando al terreno de HTML5.

Puedes construir una aplicación HTML5 y básicamente alojarla en tu hosting, y puedes hacer que funcione en plataformas móviles. Puede ser que utilices algo como Kendo UI de Telerik o Sencha Touch. Luego lo que tienes es básicamente una aplicación HTML5 que es responsiva o adaptable (el término que prefieras) y que funciona en diferentes plataformas móviles. Si quieres hacer un instalador, puedes encapsular esto en algo como PhoneGap y en sí crear una aplicación nativa.

Ahora veamos las ventajas y las desventajas. 

Si vas a desarrollar una aplicación nativa, lograrás la experiencia Android o iOS o Windows más pura, pero necesitas experiencia, herramientas y desarrolladores que pueden escribir en esas plataformas. Escribir código en Objective C, si nunca lo has hecho antes, no es tan fácil. Hay una gran curva de aprendizaje. Incluso por el lado de Java y desarrollando en Android, también hay una gran curva de aprendizaje. Si quieres crear aplicaciones Windows Phone es una plataforma completamente distinta y Windows 8 también es otro mundo.



Si vas por el camino del HTML5, las cosas aún están en una edad temprana. Tal vez cuando los dispositivos puedan ser más poderosos, podremos desarrollar aplicaciones HTML5 para plataformas móviles. Pero aún no. Justo ahora, la experiencia es complicada. Es un poco difícil lograr que las cosas funcionen correctamente en cada dispositivo y que se vean igual de bien, y existe un tiempo de espera para la carga del contenido o la interfaz. No son tan rápidas. No tanto como cuando desarrollas aplicaciones nativas.

Ahora si tomamos una aproximación híbrida, esa es la más recomendada. Para la mayoría de desarrolladores, yo por ejemplo, se nos hará más fácil haciendo las cosas con Xamarin. Piensa que escribirás código una vez y funcionará de forma nativa en varias plataformas.

Si usas algo como MvvmCross, la cual es una librería que funciona con Xamarin, permite que utilices el 90% del código, y la única cosa diferente entre las plataformas son las vistas. Xamarin parece ser una opción muy buena, ya que aunque tengas que aprender algo sobre el desarrollo para iOs o para Android o para Windows, aun tendrás mucho código común que escribirás en C#. Básicamente utilizarás un único lenguaje de programación en vez de probar aprender al menos tres lenguajes diferentes y no poder compartir el código entre ellos. Y tampoco vas a tener los problemas que tendrías con HTML5. Por ahora, Xamarin parece ser la mejor opción, y luego el desarrollo híbrido y luego el nativo. En HTML5 todavía no. Tal vez en el futuro.

No es que esté haciendo promoción a Xamarin. No tengo comprada ninguna licencia con ellos, yo aún programo en Java para Android, sé C# y con esa habilidad podría construir aplicaciones móviles Windows pero pienso que las características de Xamarin la hacen una herramienta insuperable, he probado la versión gratuita y parece cumplir con lo que promete. Y al final la decisión depende de tí, amigo desarrollador.

Espero tu opinión y tal vez cuentes tu experiencia.

Actualiza tu iOS ¡Ahora!

El título no es para vender la nueva actualización del iOS, es para advertirte que si no lo actualizas, tus datos personales y/o privados podrían estar en riesgo.

La ultima actualización del iOS 7, la 7.06, trajo un aviso de Apple: "esta versión parcha un error por el cual un atacante podría capturar o modificar datos en una sesión protegida por SSL/TLS". En resumen, tus datos podría estar robándolos alguien y tu nunca lo sabrías hasta que tus cuentas bancarias estén más vacías que una bolsa de caramelos en un cuarto lleno de niños. Dicho técnicamente, el software de Apple que se conecta a internet no sabe si está hablando con tu bancoo con un “man in the middle” (atacante en el medio).

¿Qué es o para que sirve SSl o TLS?

El concepto está en la Wikipedia y puedes revisarlo ahí. Lo importante, es que las conexiones a cuentas de correo o de bancos están cifradas y eso se hace mediante SSL/TLS. Se supone que si están cifradas, nadie podría ver la información que está ahí o al menos extraer algo que valga la pena. Con el fallo del iOS, un atacante podría ponerse "en medio" de nosotros y la página del banco al que queremos acceder. El atacante recibiría nuestro usuario, clave, códigos, etc y las retransmitiría al sitio web del banco. La respuesta del banco llegaría de igual forma retransmitida por el atacante.

¿Cómo evitar ser afectado por este problema?


En el caso del iOS se debe actualizar a la última versión lo más pronto posible. El fallo también está presente en OS X, pero no hay un parche oficial para dicho sistema operativo. La solución es no utilizar el navegador nativo de iOS o OS X, en vez de eso utilizar Firefox o Chrome, software que no es afectado por este problema.

El iOS 5, Nueva Versión del Sistema Operativo Móvil de Apple

image

En su evento especial en San Francisco, Apple ha anunciado la publicación del iOS 5.1 y que traería el soporte para Siri del idioma japonés, el asistente de voz en el iPhone 4S.

El CEO de Apple, Tim Cook dijo que el iOS 5.1 estaría disponible desde hoy (07/03/2012).

Descarga Apple iOS 4.3.3 Para iPhone, iPad y iPod Touch

Apple ha decidido publicar una nueva versión del sistema operativo para iPhone, iPad y iPod Touch, la iOS 4.3.3. Esta versión soluciona un problema en el rastreo de localización del dispositivo. Junto con ese cambio, hay otros menores que reparan el problema de la caché de iTunes (copia de seguridad, eliminación al desconectarse del servicio y el tamaño).

image

iOS 4.3.3, que es compatible con el iPhone 4, iPhone 3Gs, iPod Touch 4G, iPod Touch 3G & iPad 1 & 2 puede ser descargado desde los siguientes enlaces: