Mostrando las entradas con la etiqueta windows phone. Mostrar todas las entradas
Mostrando las entradas con la etiqueta windows phone. 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.

Lumia 710 El Hermano “Pobre” del Lumia 800

image

Junto con su móvil bandera con Windows Phone, el Lumia 800, Nokia también ha lanzado a un Windwso Phone más económico, el Lumia 710.

Con una pantalla de 3.7 pulgadas y el mismo procesador de 1.4 Ghz como el Lumia 800, y la misma cantidad de RAM (512 Mb), pero a diferencia de su hermano “mayor”, la cámara solo tiene 5 megapixeles.

El precio estimado del Nokia Lumia 710 será aproximadamente de 270 euros.

El Nokia Lumia 710 estará disponible en Hong Kong, India, Rusia, Singapur y Taiwan a finales de 2011, y en otros mercados a inicios del 2012.

image

Herramienta Para Portar de Android a Windows Phone

imageComo lo prometió meses atrás, Microsoft ha liberado una herramienta de mapeo para portar de Android a la API de Windows Phone, la cual servirá a los desarrolladores a portar sus aplicaciones existentes en Android a la plataforma de Windows Phone.

Al igual que su contraparte del iPhone, la herramienta no transforma el código automáticamente, en vez de eso provee una lista de mapeos de API lo que actúa como un diccionario de traducción de una plataforma a otra.

La nueva herramienta, disponible gratis aquí, es parte de un nuevo paquete que intenta animar a los desarrolladores de Android a extender sus aplicaciones a otras plataformas. También incluye un documento llamado "Windows Phone 7 Guide for Android Application Developers", él cual contiene más de 90 páginas de información para aprender sobre Windows Phone.

Como anteriormente lo ha hecho, Microsoft hace la mención a los desarrolladores que no todas las API pueden ser mapeadas, ya que las plataformas tienen diferentes arquitecturas e interfaces de usuario.

El próximo paso que Microsoft ha planeado para ayudar con la portabilidad es actualizar las herramientas de mapeo de las API del iPhone y Android para incluir las características de Mango. Según la empresa, eso se daría en los próximos meses.

¿Como Actualizar Tu Windows Phone 7?

De forma similar a como Apple hace con iTunes para actualizar el software que se ejecuta en los dispositivos hardware que fabrica, Microsoft utilizará Zune para actualizar al Windows Phone 7.

Una vez que Zune está instalado en tu computadora, serás notificado cuando conectes tu telefóno móvil con WP7 con tu computadora y ejecutará el Zune App y avisará si hay nuevas actualizaciones.

El proceso de actualización es simple, y puedes buscarlo manualmente desde tu teléfono en Configuración > Actualización del Teléfono para ver si es que hay alguna actualización.

El equipo desarrollador del Windows Phone 7 tiene una lista de preguntas y respuestas en la página oficial del Windows Phone 7.

  • ¿Cómo se actualiza el software del teléfono?
  • Generación de espacio en el equipo para actualizaciones del teléfono
  • Generación de espacio en el teléfono para actualizarlo
  • El equipo no se conecta a Windows Phone Update
  • Batería demasiado baja para actualizar el teléfono
  • Corrección de fecha y hora para actualizar el teléfono

La respuesta de la tercera pregunta es importante, ya que de acuerdo a la respuestas, Zune reserva algo de espacio para sincronizar la data entre el windows Phone 7 y tu computadora. En caso de no tener mucho espacio en el teléfono, puedes cambiar el porcentaje de espacio que se reserva para lograr tener más espacio libre.

También se sugiere cargar el teléfono con el cargador que viene incluido, en vez de cargarlo via cable USB para una carga más rápida. Puedes leer todas las respuestas aquí.