Programación para dispositivos móviles: una reseña histórica

Autor: | Posteado en Noticias Sin comentarios

Los dispositivos móviles en la actualidad están presentes practicamente en cualquier rincón a donde vayamos y a pesar de que no hace mucho resultaba complejo edificar programas para ellos, hoy en dia es relativamente sencillo inventar programas, basta tomar algo de la abundante literatura existente, escoger un idioma de programación y  descargar el software imprescindible que permita la instalación de un entorno de desarrollo adecuado para dicha actividad.  A continuidad relato de forma breve la historia de la programación de estos dispositivos, culminando con el panorama vigente de esta atrayente actividad.

La computadora ENIAC y su programación por cables (interruptores)

La computadora ENIAC y su programación por cables (interruptores)

Aunque los princicios de la programación para maquinas se remonta varias décadas atrás, iniciando con la programación física (cambio directo de cables para alcanzar la programación, es mencionar una especie de cambio de variables),  pasando por el idioma máquina, ensamblador hasta llegar a idiomas de alto nivel, la programación para moviles no ha tenido que suceder por tantos caminos escabrosos, sin embargo todavía así, por multiples fases que han permitido su evolución. Si bien, antes de los dispositivos intelligent o smartphones existieron los dispositivos de funciones  o feature phones, el enfoque se realizará sobre los primeros, ya que estos son lo que realmente aceptan la instalación y configuración personalizada de aplicaciones.

Los precursores: Las calculadoras programables

CalculadoraHP65

Calculadora programgable HP 65

Por la década de los 70 y 80 compañías como Casio, Texas Instruments y  Hewlett-Packard crearon calculadoras programables. Tal es el caso de la HP-65, la cual empaquetaba nueve registros de archivamiento y tenía espacio para 100 directrices por teclado. También incluyó una lectora/escritora de tarjeta magnética, los programas usaron RPN (Notación Polaca Inversa) para reservar la memoria.  La documentación para los programas en la calculadora era muy completa, incorporando algoritmos para centenares de aplicaciones, respuestas de ecuaciones diferenciales, estimación de precios, estadística, etc. Pueden considerarse como precursores de los dispositivos móviles, ya que incluían conexión a impresora, capacidades gráficas, módulos de memoria expandibles de 1 kb e integración de Lenguaje Máquina, Basic y ultimamente Pascal y C.

 

Newton: El abuelo de los PDA

NewtonMessagePad

Newton MessagePad de Apple

Por el año de 1993, Apple comercializo un dispositivo llamado Newton, que para varios simboliza el 1° PDA. Este artefacto contaba con atrayentes características entre ellas el reconocimiento de escritura y la sincronización con una computadora de escritorio,  aplicaciones para notas, contactos y fechas, calculadora, conversión de unidades, zona horaria, mapas, un modem, envió de faxes, pantalla táctil, llamadas telefónicas, navegador y gestión de correo electrónico.  Usaba un metodo operativo llamado Newton OS y funcionaba con pilas AAA.  Es factible de hablar de desarrollo de programas para este dispositivo, no como las tiendas que sabemos ahora, sin embargo si creadas por terceros para características muy específicas y de distribucion limitada. Sin embargo, dada las mejoradas características para la época, el público no estaba organizado para ello, si sumamos el poco desarrollo y el impreciso reconocimiento de escritura fueron factores claves para que fuera retirado del comercio con mas pena que gloria. Actividad que le toco exactamente al hijo prodigo: Steve Jobs.

 

Palm y las PocketPC: El paso de la estafeta

pocket pc

Dispositivos Windows Mobile y Palm

Palm comenzó como una compañia dedicada al desarrollo de software en los 90, generando programas de sincronización para Casio y HP, software de reconocimiento de escritura para la Newton entre otras; sin embargo poco después desarrolla el metodo operativo Palm Os, generando sus propios dispositivos y licenciando el metodo a terceros.   Por espacio de mas de una década constituyeron equipos de enorme prestigio llegando a poseer en el 2001 el 60% del comercio americano. Para el caso de las Pocket Pc, Microsoft® entró en escena un par de años después que Palm e introdujo el acabo  Computadora de Bolsillo, en cual tenía implementado como metodo operativo Windows CE, un conjunto de programas en ROM,  pantalla táctil y un dispositivo apuntador o stylus. Para ese entonces la disposición de programas ya era mas extendida, existiendo un inventario con miles de ellas, además,  los dispositivos se diversifican en 2 ramas: los PDA y los Smartphone, diferenciándose estos últimos por las características de telefonia como mensajes y llamadas. Precisamente fue con un iPaq de HP parecido al mostrado en la foto con el cual abordé el barco e inicie la aventura y pasión por la tecnología móvil, ese cacharro tecnologico todavía esta conmigo y me recuerda lo mucho que ha avanzado esta tecnología en tan pocos años.

 

IDE Mobile: El entorno de desarrollo integrado para dispositivos móviles 

VisuaStudioWindowsMobile

Visual Studio 2005 con un proyecto para Windows Mobile

Cuando el uso de dispositivos moviles se hizo algo común, además la programación de programas para estos se tomó mas en serio, así multiples compañías inventar entornos de programación o complementos a IDES  existentes y emuladores para permitir la creación de aplicaciones, entre ellos:

  • Pda Toolbox,
  • Satellite Forms,
  • Scotbuilder,
  • Palm Os Developer Studio,
  • HS Pascal,
  • Mobile Visual Basic
  • Embedded Visual Tools

Al mencionar las características de estos entornos destacan el entorno visual, el uso de controles como botones y etiquetas, los compiladores, emuladores y la generación de programas con codigo nativo para el dispositivo especifico. En el uso de los idiomas de programación se incorporan c, c++, Basic, Pascal y Java. Para la instalación de las programas además existían varias alternativas tales como instalación mediante sincronización con una computadora, copiado hacia la memoria del dispositivo y actualmente mediante descargas de internet.  Aunque el Internet ya existía en ese entonces todavía no era de sencillo camino por lo que capacitarse en tales tareas necesitaba adquirir libros, investigar desesperadamente tutoriales ocultos en los archivos de instalación o en caso adverso acudir a un maestro con la esperanza que este compartiera su preciado conocimiento en el “difícil y oscuro planeta de la programación”.

BlackBerry: El solitario empresarial

DispositivosBlackBerry

Dispositivos Blackberry

 

Los moviles BlackBerry se crearon unos años después del surgimiento de los dispositivos Palm,  para ser exacto el 1° de ellos, el BlackBerry 850 en 1999, el cual tan solo era un buscapersonas, es decir, no contaba con características de telefonía. Para los subsecuentes dispositivos se fueron añadiendo características de telefonia y beneficios que lo hicieron único y triunfador, enfocado a un planeta empresarial, con un teclado Qwerty,  las respuestas potentes y seguras BIS y BES  y, por supuesto el popular pin que le admitieron hacerse un hueco en el prometedor comercio de la tecnología móvil. En el apartado de la programación, pronto soporto la instalación de programas y  entornos de desarrollo  basados en los  idiomas c y java, optando continuamente por inventar plugins peculiares para IDES famosos como Visual Studio, Eclipse o Netbeans.

 

Java: El surgimiento de un Gigante

javaMamnager

Instalación de app para el soporte de Java ME

En 1995 Sun Microsystemas presento el idioma de programación Java de la mano de James Gosling.  Desde su nacimiento java ponía cierto énfasis en especificaciones esenciales para dispositivos de bajo consumo, por ello, con la venida de Java ME (Micro Edition), se establecieron las bases para la creación de programas enfocadas a dispositivos con memoria, pantalla y en general bienes limitados. Pronto la totalidad de los creadores sin importar el metodo operativo ofrecieron soporte java, que básicamente consistía en implementar una maquina virtual sobre la cual se pudiese ejecutar programas creados en este lenguaje, ya fuese Symbian, Web Os, Maemo,  Windows Mobile, Palm OS, BlackBerry o cualquier otro metodo operativo. Al dia de hoy Java es uno de los idiomas mas utilizados a nivel internacional por lo que invertir en su aprendizaje es altamente recomendado.

 

Objetive C: El declive de algunos  y el salto evolutivo

xcodeBuilderInterface

Entorno de Desarrollo Integrado Xcode de Apple

Corría el año 2006 y todo parecía normal: Blackberry con buena salud, las Pocket PC en buen estado y Palm con salud suficiente, sin embargo en los laboratorios de Apple ya se estaba cocinando algo y era exactamente el IPhone. Este smarpthone surgió en enero de 2007 y pese a que fue mostrado como una enorme innovacion en realidad carecía de componentes esenciales de otras plataformas como el copiar y pegar y el bluetooth liberado entre otras cosas; sin embargo gracias a la mercadotecnia y a factores de layout y estética logro tomar posición de forma rápida y promover la exploración y desarrollo que  hacía falta en todo el ecosistema móvil. Para el desarrollo de programas esta plataforma ha aprovechado  el idioma Objetive C, que básicamente esta inspirado en C con varias implementaciones tomadas de SmalTalk, si bien este idioma fue inventado en los 80, hasta que Apple® lo tomó que comenzó a ser popular; como entorno de desarrollo se ha aprovechado Xcode, que incorpora compiladores  GCC que no se limita a Objetive c, ya que acepta C, C++, Java, Free Pascal, Ada y Lisp; además el componente Interface Builder se encarga de la creación de interfaces de usuario.  Aunque en  ese tiempo ya existían tiendas de aplicaciones para otras plataformas, la bazar para el iPhone marco la pauta ya que todo estaba habilitada desde una app embebida en el sistema, con lo cual las demás plataformas siguieron esta tendencia.  Desafortunadamente para los sistemas operativos existentes, no se vio venir el cambio y se durmieron en sus laureles, generando poca innovación y lanzando solo parches y actualizaciones menores, por ello, no pudieron continuar el paso y la totalidad de ellas sucumbió o esta en ese doloroso proceso.

 

Android y Windows Phone: Renovarse o morir

eclipseAndroidADT

Android Developer Tools: Eclipse ajustado para inventar programas Android

Google siempre ha sido ambicioso y con enorme visión, por ello desde el año 2005 compró la compañia Android® Inc. con el firme objetivo de contar con un metodo operativo y el consecuente desarrollo de dispositivos.  La venida del iPhone represento un cambio de planes y acelero el desarrollo, de forma que en el 2008 presento su 1° dispositivo inteligente, el HTC Dream.  Desde sus princicios la programación se ha realizado en el IDE Eclipse con un kit de desarrollo y plugins para cada version específica de la API, pese a que además es factible configura un entorno con NetBeans o  IntelliJ IDEA. Como idioma de programación se maneja básicamente Java, Javascript, Basic y C, adicionalmente existe un entorno web(www) llamado Android® Inventor, que sin obligación de codigo se pueden inventar programas de mediana complejidad.   Dado que el metodo es licenciado, en Android® existe un conjunto de industrias asociadas que desarrollan emuladores y tools específicas para el diseño, compilado y depuración, lo cual acepta contar con una variedad de alternativas al instante de escoger las tools mas adecuadas para programar. Estas características le han permitido crecer inmediatamente al grado que al dia de hoy, es la plataforma numero uno a nivel mundial.

Por su parte Microsoft no pudo eludir la caída y desaparición de Windows Mobile, sin embargo gracias a su musculo económico, diseñó Windows Phone y presentó una version incipiente en el 2010. Aprovechando sus tecnologias consolidadas, hoy es factible inventar programas con el IDE Visual Studio que en la actualidad incluye una enorme suma de herramientas, emuladores y  ayudas que crean del desarrollo una labor relativamente sencilla (necesario instalar el SDK de Windows Phone para habilitar las plantillas de creación).  Los idiomas de programación incluyen  C++, C# y Visual Basic y el uso de emuladores solicita que el dispositivo de cómputo admita la virtualización vía hardware.

 

Tienda de Aplicaciones: La Fuente de ingresos

La bazar de programas de Windows Phone

La bazar de programas de Windows Phone

Las tiendas de programas actuales existen desde el año 2008. En la actualidad todo metodo estable y robusto cuenta con una bazar de programas que aceptan al cliente funcionalidad complementario para suplir necesidades específicas, donde el programador se queda con un o porcentaje de las ganancias obtenidas. Si bien al origen se tenía la idea de abundantes ganancias por la venta de programas hoy en dia es complicado monetizar una app inspirado solo en la venta y existen otras alternativas como:

  • Aplicaciones gratuitas completas con fecha de caducidad con alternativa a pago al acabar el periodo
  • Aplicaciones con pago por suscripción
  • Aplicaciones gratuitas completas con publicidad
  • Aplicaciones gratuitas con funcionalidad reducida y venta de extras

Para inventar habilitada una app en alguna de las tiendas es exacto continuar los  lineamientos que marca la misma, la cual generalmente tiene una lista de pasos que garantiza la estabilidad, protección y funcionalidad de la aplicación. Cabe mostrar que existen tiendas extraoficiales que entregan condiciones un tanto diferentes a las establecidas en la oficial, además es factible la instalación de las mismas de forma directa hacia el dispositivo lo cual puede comprometer el metodo si la fuente de la app es desconocida y en algunos casos es exacto efectuar rooteo con lo cual se pierde la certificado del equipo.

 

Desarrollo Multiplataforma: Desarrolla una vez, impleméntalo en multiples plataformas

Instalacion de kits de desarrollo para Samarin

Instalacion de kits de desarrollo para Xamarin

El uso de un simulador siempre ha sido una forma barata de efectuar pruebas y depuración cuando no se tiene físicamente el dispositivo, pero siempre ha representado una limitante por no simular al 100% las características del equipo, generación de errores y lentitud; pero, para bien de los programadores hoy en dia es factible lograr un dispositivo de prestaciones medianas por un coste módico y así, agilizar las tareas inherentes. Por otra parte,  en los últimos años han surgido plataformas de desarrollo que aceptan la creación de aplicaciones  multiplataforma con mínima configuración para su implementación en ambientes específicas:

  • Xamarin
  • Appcelerator Titanium
  • Phonegap

Está claro que esta modalidad de desarrollo genera mejorías ya que solo se necesita inventar el codigo una sola vez y ultimamente compilar e implementar en mas de una plataforma con el consecuente ahorro de tiempo, desarrollo estándar, etc.; además es cierto que presenta algunos inconvenientes segun el IDE seleccionado, tales como Complejidad del codigo fuente, dificultad de mantenimiento, coherencia, destreza de cliente menos enriquecida y generalmente son entornos de paga. Al final la elección depende de las características particulares y enfoque de cada aplicación.

 

Conclusiones: Presente y futuro

FUTURO

Concepto de wereable Apple

Notables cambios y acciones se han visto en estos tiempos: Google apostando por Android Studio como nueva plataforma, Apple gestando y promoviendo Swift como nuevo idioma de programación,  Firefox y Tizen jugando a Pinky y Cerebro queriendo conquistar el mundo, sistemas basados en Linux en nichos específicos y con cuota de comercio mínimas, instalación de sensores para todo tipo de funciones, etc., en resumen  se libra una cruenta lucha en el ámbito movil con escenarios que presentan variables en juego:

  • Tres plataformas a la cabeza : Android, IOS y Windows Pone y las demás creando el último intento por perdurar o por salir del capullo en el que todavía se encuentran
  • Diversos entornos  de desarrollo con multiples tools  y idiomas a elegir
  • HTML 5 como idioma sustituto de tecnologias de programación
  • Wereables, realidad aumentada, consolas, tablets, phablets, asistentes personales, televisores  y artículos de consumo peleando por un sitio
  • Plataformas de 64 bits como el próximo estándar
  • Potencia de cálculo, dimensión y archivamiento dando alcance en capacidades a notebooks y equipos de sobremesa.

Una cosa es segura: la demanda de desarrolladores con especialidad en tecnologías móviles, va en crecimiento y hoy mas que jamás existe una posibilidad para los estudiantes y profesionales de TI que deseen hacerse de un lugar en el exigente planeta laboral. La competencia beneficia al usuario y somos parte esencial en esta vibrante realidad.

Y tú, ¿Tienes una destreza que comentar, una anécdota o dato atrayente respecto al tema? Espero tus comentarios.

PoderPDA » Blog



El mejor truco del día para Android


Todo material (imágenes, texto y vídeo) para crear este artículo, pertenece a la Fuente Original que aparece arriba.

(No hemos eliminado ningún enlace original)

También puedes revisar estas noticias relacionadas.

Agrega tu comentario