Esta es probablemente una de las discusiones más populares de este tiempo en el mundo de los desarrolladores de software, aún más para aquellos que han entrado a trabajar en el desarrollo para aplicaciones móviles.

Si tenemos en cuenta que las tecnologías móviles son lo que en este momento tenemos a la vanguardia del desarrollo tecnológico, y que la web ya hace bastante tiempo evolucionó de ser un simple gestor de contenidos a una herramienta de intercambio en los flujos de información convirtiéndola de una fuente de consulta a una de consulta, alimentación y retro alimentación, es evidente que surja la clara pregunta, ¿bueno que hacemos, hacemos aplicaciones móviles nativas para nuestros clientes o volvemos nuestras páginas *responsive?

«*Para los que no están familiarizados con el término,
una página Responsive Design es aquella que permite
adaptar el contenido a las pantallas de los dispositivos
móviles volviéndola navegable de forma cómoda para
cualquier usuario incluyendo en especial a aquellos que
usan teléfonos inteligentes.»

La respuesta a esta pregunta surge de las necesidades del cliente y de nuestras posibilidades como desarrolladores, básicamente como surge casi todo en esto del desarrollo de software. Pensar en las necesidades de los usuarios siempre debe ser una prioridad, y mantener como un estándar el uso intuitivo de nuestras aplicaciones para los clientes es siempre una buena práctica.

hybrid2Pero, ¿Cómo podemos tomar la decisión? ¿Cuáles son esos factores determinantes que nos llevan a saber exactamente que necesitamos hacer? Bueno, existen unas cuantas pistas que nos pueden llevar a tomar una decisión al respecto, y es que en este criterio quiero ser lo mas objetivo posible ya que en la mayoría de las páginas donde se evalúa esta situación se polariza la respuesta en función del criterio del escritor, en este caso quiero orientarme a las particularidades de cada lector que sean ustedes los que tomen la decisión en función de los parámetros que mencionaré a continuación.

 

Algunas de las ventajas del desarrollo Responsive con HTML 5 (Aplicaciones Móviles Web)

  1. Pueden ser consultadas desde cualquier dispositivo, PC, MAC, Android, Windows Phone, iOS, FirefoxOS para mencionar algunos.
  2. Dependen poco de las características del dispositivo para cargar eficientemente el contenido de la página. Esta ventaja podría ser una desventaja cuando se cuenta con un bajo ancho de banda.
  3. El procesamiento de la aplicación se puede orientar en su mayor parte del lado del servidor, esto permite mayor agilidad del lado del cliente.
  4. El desarrollo se lleva a cabo con tecnologías ya conocidas para muchos como HTML, javaScript, CSS, reduciendo sustancialmente el tiempo de curva de aprendizaje para los desarrolladores avezados en estas áreas del conocimiento.

Algunas de las ventajas del desarrollo Nativo (iOS, Android, Windows Phone)

  1. Disponibilidad a la mano de los recursos directos del hardware del dispositivo.
  2. Disponibilidad a la mano de las capacidades propias del sistema operativo.
  3. Interoperabilidad con otras aplicaciones instaladas en el dispositivo
  4. Capacidad de funcionar sin conexión.

Algunos podrían considerar que estoy olvidando la tercera posibilidad, el desarrollo de aplicaciones hibridas, sin embargo considero que este es un
tema que hay que tratar en si mismo como un tema aparte ya que sus posibilidades implican el análisis de los diferentes frameworks que actualmente se encuentran disponibles para dicha tarea y de las posibilidades que representan cada uno, por esta razón el desarrollo híbrido será un tema para un análisis posterior.

He mencionado las cuatro ventajas más determinantes para mi criterio sobre las posibilidades de desarrollo en cada una de los distintos métodos de desarrollo mencionados anteriormente, sin embargo existen otras posibilidades que implica el desarrollo de una u otra forma.

hybrid

Si evaluamos las necesidades del cliente podemos tomar en cuenta algunos factores que nos ayuden en nuestra decisión como por ejemplo:

  1. El tiempo del que dispone el cliente para lanzar el producto
  2. El tipo de producto que necesita liberar el cliente, siempre conectado o con posibilidad de funcionar desconectado o con una modalidad intermedia donde sea necesario consultar ciertos datos y manejar alguna especie de buffer.
  3. El tipo de público meta de nuestro cliente, para determinar la tecnología que nos interesa más atacar.
  4. El tipo de contenido que vamos a alimentar o visualizar
  5. La interoperabilidad con otras aplicaciones o sitios
  6. El acceso del cliente a servidores con salida a internet
  7. El nivel de confidencialidad que se necesita implementar
  8. Que tan crítica es la solución para las necesidades del negocio.

Lo mejor en todo caso es siempre tener en cuenta las necesidades de nuestros clientes ante todo, y nunca dejar nada en el aire, todo debe estar hablado y nunca nada debe pre suponerse, pero creo que este es un criterio ya bastante conocido que se debe volver mas y mas en un hábito.

Pero en caso de que queramos desarrollar de forma independiente, sin un cliente, solamente por diversión? Bueno en este caso caerá en lo que cada programador quiera lograr, si lo que se busca es aprender algo nuevo lo más evidente es apuntar hacia la tecnología que nos represente un mayor reto, si somos buenos con programación web entonces incursiona en el desarrollo nativo, si sos un gran programador en java manejas con soltura XML y conoces ampliamente la arquitectura del sistema operativo Android pues entra a desarrollar aplicaciones web responsive design y si eres habilidoso en ambos mundos pues instálate un Mac OS en tu equipo con micro Intel o cómprate una Mac y comienza a aprender Objetive-C o Swift.

Aunque siempre hay que tener en cuenta que aprender de todo siempre es algo positivo, pero un generalista es un especialista en nada, así que en la medida en la que puedes especializarte en algo que te genera ingresos bienvenido sea.

Reinvéntate, descubre, aprende y sobre todo mantente apasionado que siempre habrá torrentes de conocimiento allá afuera ya sea en tu especialidad como en aguas desconocidas para vos.

Suerte y buena programada a todos!

 

Conozca al autor
Jherom Chacón Vega Ing Ingeniero en sistemas y Docente. Analista de sistemas y desarrollador de software. Geek, maker y tecnólogo apasionado.

Sobre El Autor

Ingeniero en sistemas y Docente. Analista de sistemas y desarrollador de software. Geek, maker y tecnólogo apasionado.

Artículos Relacionados