PROGRAMACIÓN DE
APLICACIONES MÓVILES
INGENIERÍA DE SISTEMAS Y TELEMÁTICA
INTRODUCCIÓN
El conocimiento de programación de aplicaciones para móviles ha pasado de
manera muy rápida de ser un conocimiento más, a ser una necesitad debido a
la rápida implantación y evolución de las plataformas móviles.
Esta rápida evolución crea incertidumbre sobre que tecnologías son las más
adecuadas para la programación de móviles. Una de las arquitecturas más
implantada es la proporcionada por el sistema Android. Si estás empezando en
esto del desarrollo de aplicaciones para móviles, puede que esta entrada te
resulte útil, porque vamos a intentar tratar en ella los aspectos fundamentales
para comenzar a crear tus propias aplicaciones.
DESARROLLO
Desarrollo Nativo
Está claro que, siempre que puedas, el desarrollo nativo es la mejor gran
opción.
El problema es que cada plataforma (iOS, Android, WP...) es un mundo. Cada
una de ellas utiliza un lenguaje de programación diferente, herramientas
propias y paradigmas de programación particulares. A cambio obtienes la
máxima flexibilidad, adaptación total al entorno en el que se ejecuta la
aplicación y el máximo rendimiento.
Desarrollo multiplataforma compilado a nativo
Una opción de compromiso es utilizar alguna plataforma de desarrollo mixta
que independiza el desarrollo del lenguaje nativo de cada plataforma móvil.
Con este tipo de herramientas se utiliza un único lenguaje y se crean
aplicaciones para todas las plataformas, eso sí, adaptando algunas cuestiones
para poder funcionar en cada caso. Lo bueno es que te permite conocer un solo
lenguaje, reutilizar gran parte del código entre todas, y generar aplicaciones
nativas para todos los entornos móviles.
Desarrollo multiplataforma basado en HTML5
Una opción muy popular, sobre todo si eres un programador Web, es utilizar alguna
herramienta basada en HTML que genere aplicaciones para todas las plataformas.
Existen muchas, pero la más conocida es PhoneGap/Apache Cordova.
Las apps escritas en HTML5 y compiladas con PhoneGap, permiten crear la interfaz
usando HTML, CSS y JavaScript, lenguajes muy conocidos y utilizados, y desplegar a las
diferentes plataformas. En cada una además podemos utilizar un “skin” concreto para
que el aspecto sea lo más similar posible al de las aplicaciones nativas. PhoneGap y
similares crean un contenedor para la aplicación que la ejecuta como si estuviesen en
un servidor web local. Además exponen gran parte de la funcionalidad nativa del
dispositivo móvil a través de librerías JavaScript, de modo que es muy sencillo
“engancharse” desde la aplicación HTML5 que estamos creando.
Desarrollo híbrido
Las aplicaciones híbridas combinan tecnología de las apps nativas y las
aplicaciones web.
Son aplicaciones escritas en HTML, Javascript y CSS pero que utilizan un
contenedor nativo creado con herramientas de desarrollo multiplataforma,
como PhoneGap.
Este tipo de desarrollo genera una aplicación como tal, descargable desde las
tiendas de aplicaciones.
LENGUAJES DE
PROGRAMACIÓN PARA
APLICACIONES MOVILES
Java
• Es el lenguaje nativo que usa Android. Cualquier aplicación que use
directamente el hardware y se comunique con el sistema operativo, usará este
código. Es un lenguaje muy extendido, presente en muchos dispositivos, tanto
por la red como a nivel local y aprender a programar en él, no sólo os
permitirá hacer aplicaciones para el sistema de Google, si no también para
otros usos, como programas de escritorio, o incluso videojuegos. Un claro
ejemplo de ello es Minecraft, el famoso juego de Mojang, comprado por
Microsoft haceya algún tiempo, fue creado en Java. Google no se equivocó al
escogerlo, ya que existe una gran comunidad detrás de él y nunca estaréis
sólos.
Swift
• Introducido en 2014 y declarado abierto en el año 2015, Swift está
rápidamente alcanzando con desarrolladores móviles. Es muy popular,
especialmente entre las nuevas empresas de desarrollo de iOS. Apple ha
añadido algunas características geniales a este lenguaje, tales como la sintaxis
simplificada, la capacidad de localizar con precisión los errores de
programador, etc. Enormes esfuerzos de Apple para promover Swift indican
claramente que quiere que este nuevo lenguaje para convertirse en el
lenguaje de programación convencional para su ecosistema de aplicaciones.
Ruby
• Ruby es un lenguaje de scripting orientado a objetos, influenciado por Ada,
C++, Perl, Python y Lisp. RubyMotion es un gran marco para el desarrollo de
aplicaciones móviles nativas y multiplataforma en Ruby. Es bastante fácil de
aprender Ruby, gracias a su elegante sintaxis se centra en la simplicidad y
productividad.
Visual Basic.NET
Hay una gran legión de programadores que literalmente aman Visual Basic y por lo
tanto optan por Visual Basic .NET ya que en teoría (que no en la realidad) se supone
que la adaptación es más fácil porque la sintaxis es más similar. El salto de Visual Basic
6 a Visual Basic .NET no es tan sencillo ya que hay bastantes diferencias entre ambos y
tendrás que desaprender cosas de VB6 para no cometer errores de sintaxis en VB.NET.
Lo que en principio parece una ventaja se termina convirtiendo en un problema.
Además, otro gran inconveniente para los veteranos en Visual Basic 6 es que VB.NET no
es retro-compatible con Visual Basic.
De todos los lenguajes de programación más populares que puedes usar para
programar en .NET, Visual Basic .NET es el más fácil de usar y es el menos estricto a la
hora de escribir código que otros y aporta la misma funcionalidad que C# por ejemplo,
ya que ambos se compilan a CIL.

Programación de aplicaciones móviles

  • 1.
  • 2.
    INTRODUCCIÓN El conocimiento deprogramación de aplicaciones para móviles ha pasado de manera muy rápida de ser un conocimiento más, a ser una necesitad debido a la rápida implantación y evolución de las plataformas móviles. Esta rápida evolución crea incertidumbre sobre que tecnologías son las más adecuadas para la programación de móviles. Una de las arquitecturas más implantada es la proporcionada por el sistema Android. Si estás empezando en esto del desarrollo de aplicaciones para móviles, puede que esta entrada te resulte útil, porque vamos a intentar tratar en ella los aspectos fundamentales para comenzar a crear tus propias aplicaciones.
  • 3.
  • 4.
    Desarrollo Nativo Está claroque, siempre que puedas, el desarrollo nativo es la mejor gran opción. El problema es que cada plataforma (iOS, Android, WP...) es un mundo. Cada una de ellas utiliza un lenguaje de programación diferente, herramientas propias y paradigmas de programación particulares. A cambio obtienes la máxima flexibilidad, adaptación total al entorno en el que se ejecuta la aplicación y el máximo rendimiento.
  • 5.
    Desarrollo multiplataforma compiladoa nativo Una opción de compromiso es utilizar alguna plataforma de desarrollo mixta que independiza el desarrollo del lenguaje nativo de cada plataforma móvil. Con este tipo de herramientas se utiliza un único lenguaje y se crean aplicaciones para todas las plataformas, eso sí, adaptando algunas cuestiones para poder funcionar en cada caso. Lo bueno es que te permite conocer un solo lenguaje, reutilizar gran parte del código entre todas, y generar aplicaciones nativas para todos los entornos móviles.
  • 6.
    Desarrollo multiplataforma basadoen HTML5 Una opción muy popular, sobre todo si eres un programador Web, es utilizar alguna herramienta basada en HTML que genere aplicaciones para todas las plataformas. Existen muchas, pero la más conocida es PhoneGap/Apache Cordova. Las apps escritas en HTML5 y compiladas con PhoneGap, permiten crear la interfaz usando HTML, CSS y JavaScript, lenguajes muy conocidos y utilizados, y desplegar a las diferentes plataformas. En cada una además podemos utilizar un “skin” concreto para que el aspecto sea lo más similar posible al de las aplicaciones nativas. PhoneGap y similares crean un contenedor para la aplicación que la ejecuta como si estuviesen en un servidor web local. Además exponen gran parte de la funcionalidad nativa del dispositivo móvil a través de librerías JavaScript, de modo que es muy sencillo “engancharse” desde la aplicación HTML5 que estamos creando.
  • 7.
    Desarrollo híbrido Las aplicacioneshíbridas combinan tecnología de las apps nativas y las aplicaciones web. Son aplicaciones escritas en HTML, Javascript y CSS pero que utilizan un contenedor nativo creado con herramientas de desarrollo multiplataforma, como PhoneGap. Este tipo de desarrollo genera una aplicación como tal, descargable desde las tiendas de aplicaciones.
  • 8.
  • 9.
    Java • Es ellenguaje nativo que usa Android. Cualquier aplicación que use directamente el hardware y se comunique con el sistema operativo, usará este código. Es un lenguaje muy extendido, presente en muchos dispositivos, tanto por la red como a nivel local y aprender a programar en él, no sólo os permitirá hacer aplicaciones para el sistema de Google, si no también para otros usos, como programas de escritorio, o incluso videojuegos. Un claro ejemplo de ello es Minecraft, el famoso juego de Mojang, comprado por Microsoft haceya algún tiempo, fue creado en Java. Google no se equivocó al escogerlo, ya que existe una gran comunidad detrás de él y nunca estaréis sólos.
  • 10.
    Swift • Introducido en2014 y declarado abierto en el año 2015, Swift está rápidamente alcanzando con desarrolladores móviles. Es muy popular, especialmente entre las nuevas empresas de desarrollo de iOS. Apple ha añadido algunas características geniales a este lenguaje, tales como la sintaxis simplificada, la capacidad de localizar con precisión los errores de programador, etc. Enormes esfuerzos de Apple para promover Swift indican claramente que quiere que este nuevo lenguaje para convertirse en el lenguaje de programación convencional para su ecosistema de aplicaciones.
  • 11.
    Ruby • Ruby esun lenguaje de scripting orientado a objetos, influenciado por Ada, C++, Perl, Python y Lisp. RubyMotion es un gran marco para el desarrollo de aplicaciones móviles nativas y multiplataforma en Ruby. Es bastante fácil de aprender Ruby, gracias a su elegante sintaxis se centra en la simplicidad y productividad.
  • 12.
    Visual Basic.NET Hay unagran legión de programadores que literalmente aman Visual Basic y por lo tanto optan por Visual Basic .NET ya que en teoría (que no en la realidad) se supone que la adaptación es más fácil porque la sintaxis es más similar. El salto de Visual Basic 6 a Visual Basic .NET no es tan sencillo ya que hay bastantes diferencias entre ambos y tendrás que desaprender cosas de VB6 para no cometer errores de sintaxis en VB.NET. Lo que en principio parece una ventaja se termina convirtiendo en un problema. Además, otro gran inconveniente para los veteranos en Visual Basic 6 es que VB.NET no es retro-compatible con Visual Basic. De todos los lenguajes de programación más populares que puedes usar para programar en .NET, Visual Basic .NET es el más fácil de usar y es el menos estricto a la hora de escribir código que otros y aporta la misma funcionalidad que C# por ejemplo, ya que ambos se compilan a CIL.