Programación para móviles

SISTEMAS OPERATIVOS

Los sitemas operativos mas reprentativos para moviles hoy en dia son: Window phone 7, Iphone, Blackberry, Android, Ipad.

domingo, 30 de noviembre de 2014

Historia y Desarrollo Del Ámbito Movil

HISTORIA Y DESARROLLO


A diferencia de la programación para computadores, la programación de móviles no ha escalado por terrenos tan rocosos en lo referente a complejidad y recepción, también han alcanzado un avance notable en comparación a sus "versiones" antiguas. Pero, en este articulo, resaltaremos a las primeras etapas de este árbol evolutivo.

Precursores: Calculadoras Inteligentes

Una de las primeras muestras de la programación móvil fueron las primeras calculadoras inteligentes que poblaron el mercado a mediados de la década de los 70 y 80. Casio, Hewlett-Packard fueron los creadores de este artefacto en un principio. Estas maquinas de bolsillo permitían realizar cálculos comunes como los de cualquier calculadora, pero también contaban con una memoria interna que almacenaba registros e instrucciones por teclado, así como lector de tarjeta magnética y memoria expandible de 1 kb. Aunque mas allá de realizar este tipo de funciones que eran comunes para una calculadora, también permitía conexión a impresora y capacidades gráficas, así como la inclusión de Lenguaje Maquina, Basic y, mas tarde, Pascal y C.

PDA y Pocket PC: Primeros Computadores de Bolsillo

La compañía que todos conocemos y amamos, Apple, fue la desarrolladora de lo que se podría llamar la primera computadora de bolsillo. Llamada Newton, fue el primer PDA que se comercializo y, aunque no tuvo un éxito remarcable en su tiempo, fue el primer misionero en el ámbito de Agendas Electrónicas. Poseía muchas funciones propias de un Smarthphone moderno: Conexión con PCs de escritorio, envió de fax, contactos y fechas, llamadas telefónicas, calculadora, mapas, navegador y manejo de correo electrónico, entre otras. Si bien Palm, el desarrollador del Palm OS, sistema operativo utilizado en el Newton, empezó solo como desarrolladora de software , pronto se apoderaría del mercado de hardware móvil, diseñando sus propios sistemas móviles, dando impulso a otras empresas a desempeñarse en la misma área, como por ejemplo, Microsoft, que introdujo al mercado (dos años después de Palm) el Computador de Bolsillo, que utilizaba Windows CE, sistema operativo propio de la empresa para móviles. Este mercado se dividió en dos partes: el mercado de los Pocket PC y el de los Smarthphones, siendo estos últimos orientados mas al uso de funciones móviles telefónicas.

Blackberry: El Empresario Del Futuro

Otro gran dispositivo que dio inicio después de Palm. Sus primeros modelos no contaban con funciones especializadas o variadas en este sentido, pero gracias a su desarrollo y crecimiento en popularidad alrededor de los empresarios de la época, ayuda a la empresa a diseñar y agregar muchas mas funciones a su linea de teléfonos inteligentes, convirtiéndolos en una herramienta casi primordial para el empresario moderno. Tampoco faltó mucho para que esta linea de móviles empezara a implementar el soporte de instalación de aplicaciones y entornos de desarrollo en C y Java.

JAVA: El Nacimiento del Lenguaje para Moviles

En 1995 Sun Microsystemas presento el lenguaje 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 llegada de Java ME (Micro Edition), se establecieron las bases para la creación de aplicaciones enfocadas a dispositivos con memoria, pantalla y en general recursos limitados. Pronto la mayoría de los fabricantes sin importar el sistema operativo ofrecieron soporte java, que básicamente consistía en implementar una máquina virtual sobre la cual se pudiese ejecutar programas creados en este lenguaje, ya fuese SymbianWeb OsMaemo,  Windows MobilePalm OS,BlackBerry o cualquier otro sistema operativo. Al día de hoy Java es uno de los lenguajes más utilizados a nivel mundial por lo que invertir en su aprendizaje es altamente recomendado.

Apple, Microsoft y Google: A La Acción!

Mientras que las compañías encargadas de los modelos de la época: Blackberry, Microsoft y Palm, gozaban de buena salud económica, Apple tenia entre manos un revolucionario proyecto, ni mas ni menos... que el mismísimo iPhone. Era un aparato que, si bien no contaba con algunas características que la competencia ya implementaba en sus productos, logro un apartar una parte importante del mercado gracias a su diseño y creatividad, aunque claro esta, esos problemas que presento en al comienzo fueron corregidos en versiones posteriores, brindando así, un producto de calidad. También contaba/cuenta con una tienda de aplicaciones muy variada y de fácil manejabilidad, cuyo diseño fue adoptado por las demás compañías.
Este cambio represento un enorme impacto en los números de las demás compañías, llevando a muchas a una inevitable caída económica debido a que no podían igualar tal innovación, ya que solo eran capaces de lanzar parches que no iban mas allá de unas cuantas mejoras técnicas.

Pero no todo fue blanco y negro para algunas empresas. Google había adquirido una mano de obra extra llamada Android Inc. por medio de la cual, comenzó el desarrollo del ya hoy tan conocido Android OS, que vio la luz en su primer teléfono móvil, el HTC Dream. Su sistema utilizaba lenguaje Java, Javascript, basic y C, permitiendo a los desarrolladores mas libertad en sus proyectos e ideas gracias a su amplia gama de herramientas y opciones de diseño, ganando así amplio terreno en el ámbito del desarrollo móvil.

Microsoft, por su parte, apesar de haber dado por terminado Windows Mobile, en 2010 presento su nuevo sistema operativo movil, Windows Phone. Este nuevo sistema cuenta con una amplia variedad de herramientas de desarrollo que aligeran moderadamente la carga de los desarrolladores, aunque no cuenta con un mercado de aplicaciones tan amplio como el de Andrioid o iOS. Sin embargo se ha mostrado influyente y ha sido eficazmente aceptado por los consumidores.

APPS: Un Mercado En Crecimiento


Las tiendas de aplicaciones modernas existen desde el año 2008. En la actualidad todo sistema estable y robusto cuenta con una tienda de aplicaciones que permiten al usuario funcionalidad adicional para suplir necesidades específicas, donde el desarrollador se queda con un o porcentaje de las ganancias obtenidas. Si bien al principio se tenía la idea de abundantes ganancias por la venta de aplicaciones hoy en día es difícil monetizar una aplicación basado solo en la venta y existen otras opciones como:
  • Aplicaciones gratuitas completas con fecha de caducidad con opción a pago al terminar el periodo
  • Aplicaciones con pago por suscripción
  • Aplicaciones gratuitas completas con publicidad
  • Aplicaciones gratuitas con funcionalidad reducida y venta de extras
Para hacer disponible una aplicación en alguna de las tiendas es preciso seguir los  lineamientos que marca la misma, la cual generalmente tiene una serie de pasos que garantiza la estabilidad, seguridad y funcionalidad de la aplicación. Cabe señalar que existen tiendas extraoficiales que ofrecen condiciones un tanto distintas a las establecidas en la oficial, además es posible la instalación de las mismas de manera directa hacia el dispositivo lo cual puede comprometer el sistema si la fuente de la aplicación es desconocida y en algunos casos es preciso realizar rooteo, con lo cual se pierde la garantía del equipo.

CONCLUSIONES: Presente y Futuro

Google Glass
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 lenguaje de programación, Firefox y Tizen jugando a Pinky y Cerebro queriendo conquistar el mundo, sistemas basados en Linuxen nichos específicos y con cuota de mercado mínimas, instalación de sensores para todo tipo de funciones, etc., en resumen  se libra una cruenta batalla en el ámbito móvil con escenarios que presentan variables en juego:
  • Tres plataformas a la cabeza : AndroidIOS y Windows Pone y las demás haciendo el último intento por sobrevivir o por salir del capullo en el que aún se encuentran
  • Diversos entornos  de desarrollo con múltiples herramientas  y lenguajes a elegir
  • HTML 5 como lenguaje sustituto de tecnologías 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 siguiente estándar
  • Potencia de cálculo, resolución y almacenamiento dando alcance en capacidades a laptops y equipos de sobremesa.
Una cosa es segura: la demanda de desarrolladores con especialidad en tecnologías móviles, va en aumento y hoy más que nunca existe una oportunidad para los estudiantes y profesionales de TI que deseen hacerse de un lugar en el exigente mundo laboral. La competencia beneficia al consumidor y somos parte esencial en esta vibrante realidad.

PROGRAMACIÓN PARA DISPOSITIVOS MÓVILES


PROGRAMACIÓN PARA DISPOSITIVOS MÓVILES

Hoy en día, trabajar en el campo de la programación para dispositivos móviles es necesario, debido a que las empresas se deben adaptar a las tendencias del mercado y a las necesidades de sus clientes. Por lo que se debe pensar en la posibilidad de tener acceso a la información en cualquier lugar y en cualquier instante, a través de distintos dispositivos móviles. 



QUÉ SON LOS DISPOSITIVOS MÓVILES
Un dispositivo móvil puede clasificarse como todo aquel hardware que tendrá características similares a las computadoras de escritorio, con la principal diferencia que todo es reducido y normalmente integrado en una sola pieza.



ALGUNOS DISPOSITIVOS MÓVILES
Celulares: han incursionado en campos diversos, más allá de la comunicación, y actualmente se incrementan sus funcionalidades multimedia con el surgimiento de nuevas redes inalámbricas con el concepto de 3G.



Asistente Digital Personal o PDA : Es una pequeña computadora de bolsillo que ofrece características de un organizador personal y las de una computadora, también llamadas handhelds.



Tablet pc: Es una modalidad de computadora portátil que ha supuesto un avance significativo en la aplicación de los estudios en lingüística computacional. Utilidades Lectura de libros electrónicos Lectura de comics en pantalla Navegación web Juegos Consulta de documentos ofimáticos Visualización de vídeos / películas Reproducción de música Videoconferencia

ENTORNOS DE PROGRAMACIÓN 
Sistemas operativos para móvil ( SO móvil ) y para qué sirven, Los SO móvil nos ayudan a controlar un dispositivo móvil al igual que los ordenadores utilizan Windows o Linux entre otros. Sin embargo, los sistemas operativos móviles son bastantes más simples y están más orientados a la conectividad inalámbrica, los formatos multimedia para móviles y las diferentes maneras de introducir información en ellos.

SISTEMAS OPERATIVOS MÓVILES



Los tipos de sistemas operativos más representivos son: Window phone 7, Iphone, Blackberry, Ipad, Symbian, Windows Mobile, Linux, Symbian es el sistema operativo para móviles más extendido. La empresa es propiedad de Ericsson, Panasonic, Siemens AG, Nokia y Sony-Ericsson. Este sistema desciende de EPOC, empleado en los antiguos ordenadores de bolsillo Psion. Windows Mobile, antes conocido como Windows CE o Pocket PC, tiene una larga historia como segundón en el campo de los PDA u ordenadores de bolsillo, sin embargo hace pocos meses superó por primera vez al hasta entonces líder, Palm OS. En los círculos del software libre se acaricia la idea de implantar Linux en el teléfono móvil desde hace años, pero ha tardado en llegar. Aún así, en los últimos tiempos se ha avanzado mucho y ya hay varios modelos de móvil en el mercado que utilizan una versión de Linux como su sistema operativo Android en un Sistema Operativo además de una plataforma de Software basada en el núcleo de Linux. Diseñada en un principio para dispositivos móviles, Android permite controlar dispositivos por medio de bibliotecas desarrolladas o adaptados por Google mediante el lenguaje de programación Java. Android



MÉTODOS DE DESARROLLO 
Existen dos posibilidades a la hora de desarrollar una aplicación para un dispositivo móvil. El desarrollar desde una computadora para luego pasar la aplicación al dispositivo, o bien se puede desarrollar en el mismo dispositivo en que correrá la aplicación.

LENGUAJES DE PROGRAMACIÓN PARA DISPOSITIVOS MÓVILES 
Los lenguajes de programación para los dispositivos móviles dependen en gran parte del dispositivo en el que se quiera trabajar, sin embargo tienen en común que se puede crear sistemas visuales robustos con mayor facilidad independientemente del lenguaje de programación que se esté aplicando, por supuesto dicho lenguaje debe soportar la metodología de programación con la que trabaja el dispositivo en particular.

Java : Para dispositivos móviles la versión de Java en la que se programa es J2ME (JavaMicro Edition) 

Lenguaje de C++ : Una de las herramientas que se utilizan para la programación de móviles basadas en el lenguaje de C++ es Carbide.c++ la cual trabaja en la plataforma de Symbian,

Lenguaje de C# : Para desarrollar aplicaciones en dispositivos móviles a través de este lenguaje de programación se puede utilizar la herramienta de Visual C# que trabaja con un IDE para diseñar las ventanas de la aplicación. 
Objective – C : Este lenguaje de programación está basado en C y a diferencia de C++ es un súper conjunto del lenguaje C, ya que agrega a la sintaxis de C la manera de enviar mensajes enSmall-Talk y de definir e implementar objetos.

NET : Es un Framework (estructura de soporte para organizar y desarrollar software) de Microsoft que permite un rápido desarrollo de aplicaciones.  Python : Este lenguaje de programación orientado a objetos es utilizado para dispositivos móviles tales como Symbian, Palm, teléfonos inteligentes de Nokia, etc., también se puede emplear en otras plataformas tales como Windows, Linux/Unix, Mac OS X, OS/2 y también ha sido portado para maquinas .Net, distribuido bajo la licencia de código abierto OSI lo hace libre en su uso.virtuales de Java y .Net, distribuido bajo la licencia de código abierto OSI lo hace libre en su uso.

A continuación se mostrara un vídeo en el cual nos enseñaran a programar una calculadora muy simple para nuestro móvil.