PRACTICA INTEGRADORA
Competencia 2 “Desarrolla aplicaciones para dispositivos móviles sobre
plataformas cerradas”.
Saberes
1. Conceptos básicos 2. Navegando por la red
3. ¿Qué vamos a desarrollar? ¿Un sitio web o una aplicación? Ejemplos:
1. Conozco plataformas privadas
Introducción a la Competencia 2
En la competencia pasada conociste los beneficios de una aplicaión abierta, el sistema operativo Android, aprendiste a utilizar herramientas de desarrollo como Eclipse + ADT plugin, Android SDK/NDK y un Emulador para programar tu dispositivo móvil.
Sin embargo la creación de comunidades de programadores entorno a una determinada plataforma o sistema operativo, con tutoriales específicos y herramientas compartidas, está sufriendo una evolución hacia la creación “privativa” gracias al auge de los smartphones o teléfonos inteligentes.
En esta competencia conocerás algunos sistemas operativos y herramientas de desarrollo que se programan bajo una plataforma cerrada, es decir que se requiere comprar una licencia.
Bienvenidos a esta nueva aventura…..
Atributos de la Competencia
1.- Conocer una plataforma cerrada
Un recorrido por las plataformas cerradas.
Plataforma cerrada en Windows es un sistema operativo cerrado, esto es por que
su fabricante no entrega el código fuente para que sus usuarios modifiquen el sistema y sus aplicaciones (Internet Explore, etc.), por ende al ser cerrado posee otra características, divide a los usuario por medio de una licencia de uso de software (la clave que se usa para instalar y validar Windows)
Linux es un sistema operativo abierto, por ende su sistema operativo te da la opción de entregar el código fuente y el de sus aplicaciones, para que tu lo adaptes a tus necesidades, y lo compartas con tus amigos, profesores, etc. es por ello que su software es gratis. ¿Pero como gana dinero? es a través de los servicios que se entregan: capacitaciones, cursos, algunas charlas, Libros.
Cada uno de los sistemas operativos ofrece una plataforma para que nosotros podamos aprovechar y utilizar las múltiples características de los dispositivos en la construcción de nuestras aplicaciones:
iOS SDK y Xcode 4
Xcode es el entorno de desarrollo que contiene los diferentes SDKs para la construcción de aplicaciones para los sistemas de Appel (iOS y Mac). Se puede descargar de manera gratuita desde la página para desarrolladores Applehttp://developer.apple.com/xcode/ pero
únicamente las personas que cuenten con Apple ID y estén registradas como desarrolladores. El SDK de iOS cuenta con un emulador de iOS, pero si se van a probar aplicaciones directamente en el dispositivo los desarrolladores deben pagar una cuota anual de US$99 (que también incluye la publicación de aplicaciones a través de la Apple Store).
Android SDK y NDK
Las aplicaciones en Android se ejecutan sobre la Dalvik Virtual Machine (que es una implementación independiente de una maquina virtual de Java pero con una arquitectura diferente), pero también se pueden crear aplicaciones que se ejecuten directamente sobre el sistema operativo (llamadas aplicaciones Nativas).
Las aplicaciones se pueden desarrollar tanto de Java (para la DVM) como en C++ (aplicaciones nativas) a partir de sus respectivas herramientas de desarrollo:
Android SDK para crear aplicaciones con Java Android NDK para crear aplicaciones con C++
Para la publicación de aplicaciones, los desarrolladores deben estar registrados en el Andoird Market y pagar una cuota de registro de US$25.
Symbian SDK
Symbian es la plataforma que ofrece crear aplicaciones de diferentes sabores. Symbian SDK permite la creación de aplicaciones con Qt ySymbian C++ para móviles S60, y con Java se pueden crear aplicaciones tanto para móviles S60 y S40.
Las aplicaciones se distribuyen a través de la Ovi Store con un costo para los desarrolladores, a la hora de registrarse, de 1€.
Windows Phone 7 Developer Tools
Y no faltaba que revisáramos como desarrollar para la nueva plataforma de Microsoft para dispositivos móviles, desarrollo sobre Windows Phone 7
Resumen de costos de publicación en las diferentes tiendas de aplicaciones
Tienda Costo Periodo
Andoird Market US$25 Al registrarse
Ovi Store 1€ Al registrarse
Windows Phone Marketplace US$99 Gratuito para estudiantes a través deDreamspark Suscripción anual Un año de suscripción gratuita para estudiantes Saberes
(No. 1)
TITULO Navegando por la red
Instrucciones para el alumno: El alumno conocerá los sistemas operativos de
desarrollo móvil sobre los cuales podrá trabajar. Identificando sus características, ventajas y desventajas de cada uno y realizando un ensayo con tal información.
Actitudes: 1. Orden. 2. Puntualidad. 3. Responsabilidad. Saberes a adquirir Competencias Genéricas: . Se expresa y comunica.
Escucha, interpreta y emite mensajes pertinentes en distintos contextos mediante la utilización de medios, códigos y herramientas apropiados.
Manera didáctica de lograrla:
A través de una actitud de orden, tomando en cuenta la investigación sustentada con acervo bibliográfico.
Saberes
(No. 2)
Titulo: ¿Qué vamos a desarrollar? ¿Un sitio web o una aplicación?
Instrucciones para el alumno: El alumno analizará la información que a
continuación se presenta y determinará que es lo que más le conviene en el desarrollo de la aplicación que realizó en la práctica integradora de la competencia 1. Actitudes: 1. Orden. 2. Responsabilidad 2. Puntualidad. Saberes a adquirir Competencias Genéricas: . Se expresa y comunica.
Escucha, interpreta y emite mensajes pertinentes en distintos contextos mediante la utilización de medios, códigos y herramientas apropiados.
Manera didáctica de lograrla:
A través de una actitud de orden, tomando en cuenta la investigación proporcionada y el sustento con acervo bibliográfico.
¿Qué vamos a desarrollar? ¿Un sitio web o una
aplicación?
Básicamente, esto dependerá de dos grandes factores, infraestructura y costos. Infraestructura, haciendo referencia a la capacidad que tengamos como empresa(o programador independiente) y en el medio.
Un ejemplo, sería relativamente sencillo desarrollar un sitio web para teléfonos móviles, con acceso a nuestro sistema, donde, el usuario podría ingresar al sistema desde cualquier punto, en cualquier momento, usando internet. Pero para ello, sería necesario que nuestra empresa contara con, para listar algunos, una línea de internet dedicada, Ips públicos, sistemas de seguridad, etc. Los cuales, indudablemente, involucran el segundo factor, costos.
La segunda alternativa, es la de desarrollar directamente en el dispositivo. Con esta opción, la necesidad de infraestructura puede verse reducida, ya que la información, cambios y demás, pueden ser guardados directamente en el dispositivo, para ser
sincronizados luego con el servidor de datos o, como segunda alternativa, al contar con una red interna, este dispositivo puede trabajar conectado a la misma, teniendo la posibilidad de realizar transacciones en línea y usando, la posible infraestructura ya implementada dentro de la empresa.
Otro punto fuerte de tener un API nativo es poder hacer aplicaciones que muchas veces no podemos hacerlas vía WEB. Como por ejemplo aplicaciones que acceden a hardware especializado del móvil (GPS, acelerómetro, brújula), aplicaciones que acceden al software especializado del móvil (Media Player, Agenda de contactos, Email, etc), juegos que necesitan de un API 3D para funcionar, entre otras aplicaciones.
En resumen, la decisión del qué se va a desarrollar, dependerá de las necesidades de cada empresa o individuo e indudablemente, de otros factores además de los nombrados, como por ejemplo dependiendo del tipo de aplicación que buscamos desarrollar.
Algunas características (muy importantes de comprender) que comparten los dispositivos móviles a la hora de la programación son las siguientes:
La necesidad de ahorrar energía obliga a utilizar procesadores con una capacidad de cómputo limitada y baja frecuencia de reloj
El uso intensivo de cálculos, gráficos, sonido, conexiones inalámbricas etc. limita la vida de la batería
La memoria disponible es muy limitada en comparación con la de un ordenador ordinario.
El almacenamiento de datos persistente también es muy limitado: memoria interna + tarjetas SD o similar.
Ejercicio
(No. 1)
Titulo: Conozco plataformas privadas
.
Instrucciones para el alumno: Elabora un mapa mental para cada una de las
plataformas Iphone, Blackberry, Apple, Windows Mobile y otras, que describan el sistema operativo que utilizan, SDK, modo de venta de las aplicaciones, lenguajes de programación, licencia, costo, etc.:
Actitudes:
1. Orden. 2. Puntualidad. 3. Responsabilidad.
Competencias Genéricas:
. Se expresa y comunica.
Escucha, interpreta y emite mensajes pertinentes en distintos contextos mediante la utilización de medios, códigos y herramientas apropiados.
o Atributo: Expresa ideas y conceptos mediante representaciones, lingüísticas, matemáticas o gráficas.
Manera didáctica de lograrla:
A través de una actitud de orden, tomando en cuenta las etapas de las estrategias: con el fin de incluir en ellas los instrumentos necesarios.
Conclusión de la competencia 2
En esta competencia descubriste que el uso de las aplicaciones móviles no solo se refiere a los teléfonos celulares sino a otro tipo de dispositivos, y que los beneficios o prestaciones que ofrecen se incrementan día a día, por ejemplo:
Acceso a internet y conectividad mediante Bluetooth Envío de SMS Acelerómetros Cámaras integradas Información de localización de GPS Sensores de orientación Aceleración 2D y 3D
Conclusión del submódulo
En este submódulo el alumno ha adquirido los conocimientos necesarios para poder desarrollar aplicaciones móviles tomando en cuenta la gran necesidad que sufren las empresas, esto les permitirá en un futuro no muy lejano poder incorporarse a las grandes empresas que exigen una gran demanda de programadores, ya que la programación de dispositivos móviles y de computadoras es parte medular de la informática.
Los conocimientos, ejercicios y prácticas que se han propuesto en esta guía de aprendizaje te permitieron desarrollar las habilidades, destrezas, conocimientos y actitudes necesarias para solucionar problemas utilizando la lógica computacional realizando programas o aplicaciones en una plataforma móvil.
De igual manera, para comprobar lo que has desarrollado de la competencia en todos los apartados señalados con anterioridad se utilizarán dos tipos de
instrumentos de evaluación: las guías de observación para medir tus desempeños y las listas de cotejo para los productos logrados.
BIBLIOGRAFÍA http://en.wikipedia.org/wiki/Maemo http://talk.maemo.org/showthread.php?p=319423 http://maemo.org/ http://es.wikipedia.org/wiki/Maemo http://www.htc.com/www/press.aspx http://en.wikipedia.org/wiki/Android_(operating_system) http://androidandme.com/category/phones/ http://www.engadget.com/tag/android/