Entornos de programación móviles

Índice
- Introducción
- Objetivos
- 1.Historia y evolución de los entornos de programación móviles
- 2.Aplicaciones web y aplicaciones nativas
- 3.Enumeración de los diferentes entornos
- 3.1.Entornos para dispositivos de diferentes vendedores
- 3.1.1.Java ME
- 3.1.2.Symbian
- 3.1.3.Android
- 3.1.4.Windows Mobile
- 3.1.5.Qt framework
- 3.1.6.BREW
- 3.1.7.Palm OS
- 3.1.8.Flash lite
- 3.1.9.Microbrowser
- 3.2.Desarrollo multiplataforma
- 3.2.1.Titanium Mobile
- 3.2.2.PhoneGap
- 3.3.Entornos para dispositivos de un vendedor único
- 3.1.Entornos para dispositivos de diferentes vendedores
- 4.Lenguajes de programación
- 4.1.Lenguajes de programación para Windows Mobile
- 4.1.1.Visual C++
- 4.1.2.Visual C# y Visual Basic
- 4.1.3.JScript
- 4.1.4.ASP.NET
- 4.1.Lenguajes de programación para Windows Mobile
- 5.Ejemplos de entornos
- 5.1.iPhone / iOS
- 5.2.Android
- Glosario
- Bibliografía
Introducción
Objetivos
-
Que conozcáis y comprendáis el concepto de entorno de programación en el ámbito del desarrollo de aplicaciones para dispositivos móviles.
-
Que identifiquéis los diversos entornos de programación existentes y conozcáis sus arquitecturas, las características de los sistemas operativos usados y las técnicas de programación requeridas en cada uno de ellos.
-
Que comprendáis que los entornos no funcionan de forma aislada, sino que coexisten.
-
Que seáis capaces de elegir el entorno de programación idóneo según los requerimientos de la aplicación móvil que pretendáis desarrollar.
1.Historia y evolución de los entornos de programación móviles

2.Aplicaciones web y aplicaciones nativas
-
La aplicación solo funcionará en la plataforma escogida.
-
Hay que desarrollarla usando el lenguaje de programación establecido para la plataforma.
-
Es más complicado distribuir parches o actualizaciones que solucionen errores.
-
El ciclo de desarrollo es más lento.
-
Los desarrolladores web pueden usar sus propias herramientas.
-
Se pueden usar los conocimientos de diseño y desarrollo web que ya se tengan.
-
La aplicación funcionará en cualquier dispositivo que tenga un navegador web.
-
Se pueden solucionar errores en tiempo real.
-
El ciclo de desarrollo es más rápido.
-
No se puede acceder a todas las características del dispositivo móvil.
-
Puede ser difícil conseguir efectos sofisticados en la interfaz de usuario.
3.Enumeración de los diferentes entornos
3.1.Entornos para dispositivos de diferentes vendedores
-
Java ME
-
Symbian
-
Android
-
Windows Mobile
-
Qt framework
-
BREW.
-
Palm OS
3.1.1.Java ME
3.1.2.Symbian
-
1981. Psion lanza su primer producto, Flight simulator.
-
1984. Psion Organiser ve la luz.
-
1990. SIBO SO (16 bits).
-
1997. EPOC SO (32 bits).
-
1998. El nombre de Symbian aparece por primera vez.
-
1999. EPOC versión 5.
-
2000. Symbian 6.0.
-
2001. Symbian 6.1.
-
2003. Symbian 7.0.
-
2004. Symbian 8.0.
-
2005. Symbian 9.0.
-
2008. Nokia compra Symbian Ltd., la empresa que hay detrás de Symbian OS.
-
2009. Creación de la Symbian Foundation.
-
2010. Se publica el código fuente de Symbian bajo licencia EPL (7) .
-
2011. Nokia realiza una importante alianza con Microsoft y deja de lado el sistema operativo Symbian, que sería reemplazado por el Windows Phone 7.
3.1.3.Android
3.1.4.Windows Mobile
3.1.5.Qt framework
3.1.6.BREW
3.1.7.Palm OS
3.1.8.Flash lite
3.1.9.Microbrowser
3.2.Desarrollo multiplataforma
3.2.1.Titanium Mobile



3.2.2.PhoneGap
3.3.Entornos para dispositivos de un vendedor único
4.Lenguajes de programación
-
Si se quiere hacer una aplicación para iPhone o iPod touch, se usará Objective-C.
-
Si se quiere hacer una aplicación para Android, se usará Java.
-
Si se quiere hacer una aplicación para BlackBerry, se usará Java Micro Edition.
-
Si se quiere hacer una aplicación para Symbian OS, se puede usar C++, Java o .NET Compact Framework.
-
Si se quiere hacer una aplicación parar Windows Mobile, las opciones son Visual C++, Visual C#, Visual Basic, JScript y ASP.NET.
4.1.Lenguajes de programación para Windows Mobile
4.1.1.Visual C++
4.1.2.Visual C# y Visual Basic
4.1.3.JScript
4.1.4.ASP.NET
5.Ejemplos de entornos
5.1.iPhone / iOS
5.1.1.Visión general del sistema iOS
-
la capa Core OS
-
la capa Core Services
-
la capa Media
-
la capa Cocoa Touch
5.1.2.Historia del sistema iOS
5.1.3.Historia de las versiones del sistema iOS
5.1.4.Características del sistema iOS
Multitarea
-
audio en segundo plano
-
voz sobre IP
-
localización en segundo plano
-
notificaciones push
-
notificaciones locales
-
finalización de tareas
-
cambio rápido de aplicación
Game Center
5.1.5.Desarrollo de aplicaciones para iOS
SDK
5.1.6.Jailbreaking
5.1.7.Gestión de derechos digitales
5.2.Android
5.2.1.Historia de Android
En palabras de Rubin, el objetivo era desarrollar "dispositivos móviles más elegantes que tuvieran más en cuenta la localización y las preferencias de sus dueños".
5.2.2.Historia de las versiones de Android
-
2.0/2.1 (Eclair), que mejoró la interfaz de usuario e introdujo soporte a HTML5 y Exchange ActiveSync 2.5.
-
2.2 (Froyo), que introdujo mejoras de velocidad con la optimización del JIT y el motor Chrome V8 JavaScript, y añadió soporte para Adobe Flash.
-
2.3 (Gingerbread), que refinaba la interfaz de usuario, mejoraba el teclado software y las características del copiar y pegar, y añadía soporte para NFC.
Glosario
- AJAX f
- AJAX (asynchronous JavaScript and XML), JavaScript asíncrono y XML, es una técnica de desarrollo web para crear aplicaciones interactivas o RIA (rich Internet applications). Estas aplicaciones se ejecutan en el cliente, es decir, en el navegador de los usuarios, mientras se mantiene la comunicación asíncrona con el servidor en segundo plano. De esta forma, es posible realizar cambios sobre las páginas sin necesidad de recargarlas, lo cual aumenta la interactividad, la velocidad y la usabilidad en las aplicaciones.
- Dalvik f
- Dalvik es la máquina virtual que utiliza la plataforma para dispositivos móviles Android. Dalvik ha sido diseñada por Dan Bornstein con contribuciones de otros ingenieros de Google.
- jailbreak m
- Jailbreak (en español, escaparse de la cárcel o, más literalmente, rompecárcel) es un proceso que permite a los usuarios de los dispositivos iPhone, iPod touch, iPad y Apple TV de todas las generaciones ejecutar aplicaciones distintas a las alojadas en app store, el sitio oficial de descarga de programas para estos dispositivos.
- licencia Apache f
- La licencia Apache (Apache license o Apache software license para versiones anteriores a 2.0) es una licencia de software libre creada por la Apache Software Foundation (ASF). La licencia Apache (con versiones 1.0, 1.1 y 2.0) requiere la conservación del aviso de copyright y el disclaimer, pero no es una licencia copyleft, ya que no requiere la redistribución del código fuente cuando se distribuyen versiones modificadas.
- licencia MIT f
- La licencia MIT es una de tantas licencias de software que ha empleado el Instituto Tecnológico de Massachusetts (MIT, Massachusetts Institute of Technology) a lo largo de su historia, y quizás sería más acertado llamarla licencia X11, ya que es la licencia que llevaba este software de muestra de la información de manera gráfica. En cualquier caso, tanto MIT como X11 tienen el mismo texto.
- MIDP m
- El mobile information device profile (MIDP) permite escribir aplicaciones descargables y servicios para dispositivos móviles que se conecten a la red.
- webcast m
- Un webcast es un fichero multimedia distribuido por Internet mediante tecnologías de streaming para distribuir una única fuente de contenido a varios observadores simultáneos. Un webcast se puede distribuir en directo o bajo demanda.