0% encontró este documento útil (0 votos)
221 vistas41 páginas

Historia y Funciones de la Tecnología Móvil

Este documento describe la historia y características de la tecnología móvil. Explica que la tecnología móvil permite la comunicación sin cables a través de dispositivos portátiles, redes de telecomunicaciones y aplicaciones. También describe los principales usos e importancia de la tecnología móvil, como la comunicación remota, acceso a información y optimización del tiempo. Finalmente, resume los diferentes tipos de redes móviles como la radiofrecuencia celular y las redes de proveedores.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
221 vistas41 páginas

Historia y Funciones de la Tecnología Móvil

Este documento describe la historia y características de la tecnología móvil. Explica que la tecnología móvil permite la comunicación sin cables a través de dispositivos portátiles, redes de telecomunicaciones y aplicaciones. También describe los principales usos e importancia de la tecnología móvil, como la comunicación remota, acceso a información y optimización del tiempo. Finalmente, resume los diferentes tipos de redes móviles como la radiofrecuencia celular y las redes de proveedores.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Módulo V: Establece comunicación ofimática

Submódulo 2: Establece comunicación y gestiona información mediante el


uso de dispositivos móviles

UNIDAD 1

1. Historia de la tecnología móvil, definición, características y clasificación


La tecnología móvil es parte integral de nuestra sociedad, especialmente la
tecnología celular, la cual ha hecho posible que los seres humanos puedan estar
en todas partes sin importar las distancias, al menos de manera virtual.

¿Qué es la tecnología móvil?: Usos e importancia


Antes que nada, conviene repasar los principios de la tecnología móvil. La
tecnología móvil hace referencia a los dispositivos y herramientas portátiles que
permiten a los usuarios compartir información sin necesidad de cables. Para que
esta tecnología pueda funcionar es necesario combinar tres componentes:
Dispositivos celulares o de cómputo portátil, las redes de telecomunicación y los
sistemas de software o aplicaciones móviles.

Es bastante común, cuando se habla de tecnología móvil, hacer especial énfasis


en la tecnología de los teléfonos, que es el elemento más emblemático de esta
categoría.

Gracias a la efectividad de los mecanismos de telecomunicación es posible


compartir datos en múltiples formatos multimedia al instante. Fotos, audios,
videos, textos y paquetes de información están a la orden del día sin importar la
distancia.

Uso correcto de la tecnología móvil


El uso principal de la tecnología móvil en la actualidad consiste en la comunicación
bidireccional entre dispositivos.

Gestionar procesos de trabajo o de negocio a largas distancias, comunicarse con


familiares, compartir momentos instantáneos con amigos, acceder a contenido
multimedia al aire libre, contratar servicios especializados y gestionar las
actividades diarias son solo alguno de los usos más habituales. Al menos en lo
que al uso de los teléfonos móviles se refiere.

Importancia de la tecnología móvil


Al permitir la comunicación instantánea entre dos puntos distantes, la tecnología
móvil ha abierto las puertas a procesos colaborativos y flexibles, indispensables
para la vida moderna.

Las conferencias virtuales, por ejemplo, ayudan a los profesionales mantenerse


productivos y crear nuevos modelos de negocios o experiencias únicas para sus
clientes. Las redes de internet han conectado a los alumnos a una fuente casi

1
inagotable de información y la mensajería en tiempo real permite coordinar
actividades de todo tipo, casi tan bien como el formato presencial.

Características de la tecnología móvil


La tecnología móvil, encabezada por la tecnología celular, tiene una serie de
características puntuales que le ha permitido adaptarse perfectamente todo tipo de
contexto, solucionado, a su vez, muchos problemas prácticos relacionados con la
comunicación y al acceso a las fuentes de información.

Estas cuatro características fundamentales son:

 Portabilidad: Los avances en electrónica y circuitos integrados han influido


directamente en el desarrollo del uso del celular. Al ser cada vez más
compactos y poderosos, tanto en capacidad de procesamiento como en
velocidad de conexión de datos, se vuelven sumamente convenientes para
la vida diaria.

 Capacidad de integración: Una de las ventajas más grandes de la


tecnología, sin ser esta la excepción, es la propiedad de integración entre
equipos. Es decir, a través de una programación base o una tecnología
primaria, es posible hacer que múltiples dispositivos distintos cooperen para
obtener los mismos benéficos puntuales. Un ejemplo de ello son las
aplicaciones web, que pueden ser usadas por una gran cantidad de
dispositivos móviles con los mismos resultados.

 Movilidad eficiente: Uno de los inconvenientes más grandes de los sistemas


de cómputo antiguos era la escasa capacidad de movilidad. Los sistemas
portables modernos, en cambio, permiten mantener todos los procesos
diarios en funcionamiento a la vez que el usuario o la empresa se moviliza
hacia cualquier parte que le resulte conveniente.

 Escalabilidad: La tecnología móvil está pensada para ser escalable, es


decir, tiene la capacidad de adaptarse de manera flexible a las nuevas
herramientas y responder ante la innovación con versiones mejoradas de
los ya funcionales productos o servicios. Así, una app puede reutilizarse en
una nueva versión para ofrecer sistemas empresariales completos o una
serie de equipos pueden renovar sus componentes para dar lugar a
funcionalidades más poderosas.

Funciones de la tecnología móvil


La tecnología móvil tiene diferentes funciones dependiendo del contexto en la que
se aplique.

Dada su flexibilidad y capacidad de adaptación ante cualquier tipo de proceso


comunicativo ha ido abarcando cada vez espacios en el entorno humano, a tal

2
punto, que toda la tecnología posterior a su aplicación se basa, casi
exclusivamente, en ellas.

Algunas de las funciones más conocidas e importantes son:

 Acceso a la información: Toda la tecnología móvil está básicamente


diseñada para permitir el acceso instantáneo a información de algún tipo.
Incluso los relojes inteligentes que llevan la cuenta de la frecuencia
cardiaca, recorrido o GPS tienen una funcionalidad informativa intrínseca.
La tecnología de los celulares no son la excepción a esta regla. Cuando se
emplean las redes móviles para enviar y recibir un mensaje instantáneo, lo
que tenemos entre manos es acceso a la información persona-persona.

 Desarrollo basado en la nube: Gracias a la globalización de esta tecnología


se han podido desarrollar nuevas herramientas emergentes basadas en la
nube, un espacio virtual capaz de almacenar sistemas de tecnología que
luego son accesibles desde múltiples dispositivos. Esta función particular
permite soluciones como los sistemas de gestión, el control de plantas
productivas a distancia y los espacios de trabajo colaborativos. Este
concepto también ha permitido aplicar inteligencia artificial, como los que
vigilan la seguridad de los usuarios en determinadas redes o las que
adecuan los entornos virtuales a los gustos personales del usuario. Al estar
basados en la nube solo basta que las aplicaciones tengan acceso a la red
para poder disfrutar de funciones avanzadas, sin la necesidad de alojar por
sí mismas toda la tecnología necesaria.

 Acceso a bienes y servicios: Gracias a la aplicación de la tecnología móvil,


las personas pueden acceder a un catálogo sumamente amplio de
soluciones, productos y servicios en tiempo real. Algunas plataformas
permiten acceder a ofertas en otro país y coordinar el transporte hasta las
puertas de su oficina, todo desde la seguridad y comodidad de su
dispositivo celular. Esto no solo mejora la calidad de vida de personas con
movilidad limitada o residentes de zonas con escasa presencia comercial,
sino que ayuda a los distintos negocios a contactar con un público
realmente globalizado.

 Gestión de tiempo productivo: Con mecanismos de producción cada vez


más avanzados, un mayor acceso a mercados globales y una competencia
reñida en casi todos los mercados, optimizar el tiempo se ha vuelto una
necesidad fundamental en la sociedad moderna. Aquí es donde entran los
sistemas de tecnología móvil, ayudando al ser humano a optimizar sus
recursos limitados. Con la alta capacidad de transmisión de datos y el
soporte de funciones como las videollamadas, muchas veces se puede
estar en más de un lugar a la vez. Al menos de forma virtual. Tener al
personal esencial siempre disponible es una ventaja a todos los niveles
productivos.

3
Tipos de tecnología móvil (redes)
Toda la tecnología móvil opera sobre una plataforma de red específica. Es decir,
un entramado de antenas, centros de distribución, cableados o aplicaciones que
interactúan en conjunto para transportar los paquetes de datos de un punto a otro.

Estas redes o los distintos tipos de redes móviles son invisibles al usuario la mayor
parte del tiempo, pero afectan directamente a su experiencia de uso.

Cada una tiene una serie de limitaciones y ventajas, por lo que es importante
tenerlas en cuenta a la hora de elegir soluciones, para asegurarse de que el tipo
de arquitectura en concreto se adapta a las necesidades.

Radiofrecuencia celular
Los teléfonos celulares tienen la capacidad de utilizar redes de radiofrecuencia, las
cuales funcionan gracias a torres telefónicas. Estas instalaciones cubren una gran
cantidad de terreno, por lo que es una estructura confiable de comunicación.

Las torres celulares trabajan bajo un principio de conmutación de frecuencia. Esto


quiere decir que pueden alterar las frecuencias de radio para distinguir y separar a
los equipos.

Cada usuario o móvil puede comunicarse dentro de un mismo radio a través de


llamadas de voz y mensajes de texto sin interrupción o mezcla de señales.

Dato curioso: ¿cuál es el móvil que usó por primera vez esta tecnología? El
Motorola DynaTAC 8000X

Redes móviles de proveedor


La tecnología de redes por paquetes de datos es un estándar indispensable en la
época moderna. Comúnmente, cuando se piensa en los tipos de tecnología móvil
se está pensando realmente en los tipos de datos móviles o redes móviles.

Veamos un resumen del avance tecnológico en el celular en esta área en


concreto:
1G (AMPS)
Este fue el primer protocolo de conexión celular inaugurado en 1979, fue entonces
cuando surgió por primera vez la definición de celular móvil a nivel comercial.

Este estándar estadounidense era limitado en cuanto al número de conexiones


simultáneas permitidas y al alcance, sin embargo, fue toda una genialidad de la
comunicación por voz para la época.

2G (Segunda generación estándar)


4
Las conexiones de segunda generación incorporaron los mensajes de texto dentro
del mismo servicio de frecuencia, una mayor capacidad, alcance y número de
transmisiones posibles activas al mismo tiempo. Debutaron además algunos
servicios como el internet de modem limitado. Sobre este estándar (GSM – TDMA)
se desarrollarían las siguientes generaciones.

2.5 G (Segunda generación estándar + internet) GPRS


Aunque la conexión 2G ya presentaba la posibilidad de conexión de internet para
servicios auxiliares, no fue hasta el desarrollo del protocolo estándar 2.5 que se
comenzó a dar utilidad real a este servicio en los dispositivos móviles. En un
sentido general, esta nueva tecnología no reemplazo al GSM, sino que lo
complementó. Sin embargo, la velocidad de navegación era casi 10kbps.

3G (tercera generación estándar)


El sistema de conexión 3G fue la primera en mostrar una conexión real suficiente
para navegar en internet a nivel de usuario desde la app móvil. Antes, la mayor
parte de la conexión era usada para satisfacer servicios. Este estándar mundial se
globalizó mucho antes que el resto y se comenzó a incluir SIM obligatorio en casi
todos los equipos de este estilo. La velocidad de navegación ascendió hasta
+207Kbit/s a inicios del 2010 con la llegada del 3G+ y el LTE.

4G (cuarta generación)
La arquitectura de navegación de cuarta generación se volvió rápidamente el
estándar, desbloqueando velocidades de descarga de datos bastante cercanas a
la conexión por cable de la época. Esto se logró precisamente por la creación de
infraestructuras de cableado e inalámbricas, las cuales permitían conexiones de
hasta 1 Gbit/s en reposo. Esta velocidad depende, claro, de muchos factores.
Desde su llegada, la masa de consumidores de internet móvil redujo
drásticamente su dependencia a la conexión wifi.

5G (quinta generación)
La red 5G opera a altísimas frecuencias de radio, lo que permite un mayor ancho
de banda y en líneas generales una conexión más estable y veloz. Sin embargo,
ha tenido problemas para encontrar su lugar dentro de la arquitectura de
generaciones pasadas, funcionando según la descripción del móvil. Además, el
consumo elevado de energía aún es un problema considerable. Dicho esto,
hablamos de conexiones de internet hasta 10 veces más rápidas que el 4G en
rangos cortos, lo que soporta servicios conectados de alta calidad, ideal para
proyectos de desarrollo móvil en la nube muy complejos.

Wifi
La conexión wifi es un punto de acceso inalámbrico a una conexión por cable,
usualmente de fibra óptica. Esta es una de las alternativas más rápidas y
confiables, aunque depende del proveedor del servicio.

Es el tipo de conexión proferida para el control de zonas cortas como áreas


residenciales, centros de negocios y zonas industriales.
5
Todos los teléfonos y dispositivos móviles actuales son compatibles con esta
conexión especial de frecuencia de radio, teniendo además una gran adaptabilidad
en aplicaciones de seguridad y control.

Bluetooth
La conexión de Bluetooth ha envejecido bastante bien y sigue siendo una
alternativa popular para la transmisión de datos a frecuencias bajas en rango corto
de distancia.

En un principio era únicamente destinado a la transmisión de información, pero las


aplicaciones recientes incluyen la conexión de periféricos como auriculares,
equipos inteligentes, altavoces, ordenadores y dispositivos para juegos.

2. Lenguajes y entornos de programación para móviles


Si desea codificar una aplicación móvil, necesita conocer un lenguaje de
programación. Pero puede ser difícil elegir el mejor idioma (o idiomas) para un
proyecto. Hay un montón de opciones, y en este post yo le ayudaremos a reducir
para que pueda elegir el mejor.

Todo depende de lo que está. Para ciertas aplicaciones, los desarrolladores


móviles pueden que no necesiten todas las funciones disponibles de una lengua
particular. En otras situaciones, una sola aplicación puede requerir más de un
idioma. En este tutorial, te van a través de diversos lenguajes de desarrollo móvil y
resaltar algunos de los detalles que pueden ayudar a tomar una decisión.

Idiomas Android
Java
Según el índice de TIOBE , Java es el lenguaje de programación más popular a
partir de junio de 2017. Si quieres desarrollar apps Android, probablemente
volverás a Java. Tiene una comunidad de desarrolladores grandes y establecidos,
y eso significa que usted puede conseguir fácilmente la ayuda y soporte técnico.

Por lo tanto, cuando usted está desarrollando para móviles con Java, es libre de
llegar a cualquier tipo de aplicación que usted pueda pensar. El único límite será tu
imaginación y el nivel de tus conocimientos de Java.

kotlin
Kotlin fue diseñado y desarrollado por JetBrains, la compañía checa, conocida por
su popular IDE, IntelliJ IDEA. Equipo Android de Google ha anunciado
recientemente que oficialmente se añade soporte para el lenguaje de
programación de Kotlin.

Kotlin se desarrolló para abordar algunos de los problemas de Java. Según fans
de la lengua, la sintaxis de Kotlin es más simple, más limpio y conduce a menos
consumo de recursos de código. Esto le ayuda a concentrar más en solucionar el

6
problema, en lugar de luchar con la sintaxis verbal. También, usted puede utilizar
Kotlin y Java juntos en el mismo proyecto, y lo hace realmente potente.

Idiomas iOS
Rápido
Si quieres desarrollar para iOS, Swift es el lenguaje par ti. Introducido en 2014 y
lanzado abierto en el año 2015, Swift está alcanzando rápidamente 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étera. Los enormes esfuerzos de Apple para promover Swift
indican claramente que quiere que este nuevo lenguaje se convierta en el lenguaje
de programación convencional para su ecosistema de aplicaciones.

C objetivo
Objective-C fue el lenguaje de desarrollo original para iOS. Mientras que la lengua
rápida apareció recientemente es el futuro del desarrollo de iOS, muchos
proyectos avanzados todavía dependen de Objective-C. Así que la transición de
Objective-C a Swift se espera que sea algo lento, y puede que necesite tanto de
ellos en algunos proyectos, al menos por el momento.

Lenguajes multiplataforma
JavaScript
JavaScript tiene una larga historia que se remonta a los inicios de la World Wide
Web. Un lenguaje muy popular front-end y el servidor, permite a los
desarrolladores web hacer todo lo posible de mejorar la experiencia del usuario de
sus sitios web a la construcción de aplicaciones web completas.

Hoy en día, hay varios frameworks de JavaScript dirigidos específicamente a


plataformas de desarrollo móvil, como Ionic 2 y React Native. Es muy fácil de
desarrollar aplicaciones móviles multiplataforma con estos frameworks y librerías.
Esto significa que sólo tienes que escribir una sola versión de su aplicación, y
funcionará en iOS o Android.

Mecanografiado
TypeScript es un superconjunto de JavaScript y ofrece mayor seguridad mediante
la adición de tipificación estática opcional. También ofrece mejor soporte para el
desarrollo de aplicaciones a gran escala. Desarrollado y mantenido por Microsoft,
TypeScript permite a los desarrolladores escribir aplicaciones móviles
multiplataforma utilizando frameworks como NativeScript.

7
Otros Idiomas
C#
C# es el idioma de Windows Mobile. Es muy similar a C++ y Java. Microsoft ha
adoptado algunas de las características de Java para simplificar su arquitectura,
manteniendo el C++ como diseño. También tiene una gran y activa comunidad de
desarrolladores que siempre es amable y servicial.

C
C es el segundo idioma en el índice TIOBE, y al igual que Java, su comunidad
está llena de los desarrolladores experimentados que podrían ofrecer valiosos
consejos sobre cómo escribir código libre de errores.

Creado por Dennis Ritchie, mientras trabajaba para laboratorios Bell, C es un


lenguaje muy adoptado y potente que le permite manipular directamente las
operaciones de bajo nivel de un equipo. Si usted desea utilizar Android NDK (Kit
de desarrollo nativo), deberá familiarizarse con el lenguaje C.

C++
Si estás usando C, entonces realmente disfrutarás de lectura y escritura de código
de C++. C++ es una extensión de C, con más características y soporte para
programación orientada a objetos. C++ es también un idioma preferido por los
desarrolladores de Android NDK. Puede utilizar C++ para desarrollar aplicaciones
de Windows Mobile también. C++ va cabeza a cabeza con Java en el campo de
desarrollo de software, y realmente vale la pena dominar.

Pyton
Python es otra lengua popular que es fácil de aprender y fácil de leer. Los
creadores de la lengua han realizado esfuerzos adicionales para mantener la
sintaxis simple y claro posible. Esto realmente ayuda a los desarrolladores novatos
a mantener altos niveles de productividad, desde el primer día. Si usted está
cómodo con la escritura de código Python, puede utilizar marcos como Kivy para
desarrollar aplicaciones móviles multiplataforma.

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.

¿Cómo Clasificar los Idiomas?


Las aplicaciones móviles pueden agruparse en tres categorías, es decir, nativas,
híbridas y nativas plataforma cruzada. Las aplicaciones nativas pueden
aprovechar todas las facilidades del sistema operativo y características, y son los
más rápidos cuando se trata de rendimiento. Sin embargo, deberá mantener
8
diferentes códigos base para diferentes plataformas móviles, ya que cada
plataforma utiliza diversos lenguajes de programación.

Por ejemplo, la plataforma Android hace uso de Java y C/C++ para desarrollar
aplicaciones nativas. La plataforma de iOS de Apple se basa en Objective-C y
Swift como sus lenguajes nativos. C# utiliza la plataforma Windows Mobile para
codificar sus aplicaciones nativas. Todos estos lenguajes de programación de
aplicación nativa son compilados, en lugar de interpretar.

Las aplicaciones móviles híbridas son realmente sitios web que están diseñados
para funcionar con dispositivos móviles también. Un usuario puede acceder a ellos
a través de un navegador móvil como si está visitando un sitio web en una
computadora de escritorio. La combinación de HTML5, CSS y JavaScript es la
opción obvia, si quieres desarrollar aplicaciones web.

Recientemente, surgieron nuevos marcos móviles de plataformas. Estos marcos


combinan las mejores características de aplicaciones nativas y aplicaciones
híbridas: son rápidos y ligeros y se puede acceder a toda la potencia del
dispositivo nativo, pero también son codificados con JavaScript y otros web, por lo
que se puede reutilizar mucho código entre plataformas .

Nacido en reacción y NativeScript son populares nativos marcos de


multiplataforma. Si quieres aprender más sobre estas, consulta nuestro curso
completo para principiantes o algunos de nuestros muchos tutoriales.

Comparacion de las caracteristicas


Antes de entrar más profundamente en las características del lenguaje detallado,
debe seleccionar una plataforma. Puede consultar el artículo de Plataformas de
Desarrollo Móvil para tener una idea de varias plataformas y cómo elegir el que
más le convenga mejor. Suponiendo que ya ha seleccionado una plataforma de
desarrollo móvil, vamos a ver cómo se comparan estos idiomas en términos de
sus características.

 Android Nativo. Si quieres desarrollar para Android nativo, Java y Kotlin son
sus opciones obvias. Así que vamos a echar un vistazo.

 Seguridad nula- Kotlin tiene mejor control sobre referencias Null para que
los famosos errores de NullPointerException(común en Java) son más
fáciles de eliminar. Esto reduce el tiempo de desarrollo y mejora la
productividad del programador.

 Concurrencia. Aunque Java es compatible con las operaciones


simultáneas, el código correspondiente puede sufrir pesadamente de
legibilidad y mantenibilidad temas. Kotlin aborda estas cuestiones mediante
el uso de Coroutines. El código resultó ser fácilmente legible y comprensible
también.

9
 Tipo de Sistema. Sistema de tipos de Java no es constante, y esto a veces
puede llevar a una confusión. En particular, los primitivos tipos como
enteros, booleanos y así sucesivamente deberán tratarse como casos
especiales. Por el contrario, Kotlin tiene un sistema relativamente simple y
más versátil que minimiza errores y errores de programador.

 Estilos de Programación Soportados. Aunque Java teóricamente puede


soportar varios estilos de programación, algunos desarrolladores creen que
promueve demasiado la POO (programación orientada a objetos). Kotlin
parece no aplicar ningún estilo particular de programación, por lo que los
desarrolladores tienen más libertad para elegir un enfoque que se ajuste
mejor. Sin embargo, los desarrolladores de Kotlin necesitan tener un
conocimiento profundo de los principios de arquitectura y desarrollo de
software.

IOS nativos
Objective-C y Swift son las dos opciones que tienes para el desarrollo de iOS. Así
que echamos un vistazo a las características de cada uno.

 Sintaxis de código. Swift cuenta con una sintaxis más simple y clara para
ayudar a los programadores a lograr sus metas con el número mínimo de
LOC (líneas de código). Esto también ayuda a reducir errores de
programador y facilita la corrección de errores.

 Gestión de Memoria. Swift supera claramente Objective-C, cuando se trata


de la gestión de memoria. Swift aplica mecanismos de control más robustos
y fiables, permitiendo que los programadores eviten fugas de memoria
indeseables.

 Rendimiento. Ejecución de código Swift es mucho más rápido que el de


Objective-C. Esto claramente lleva a un rendimiento más rápido de la
aplicación y mejor experiencia de usuario.

 Estilos de Programación Soportados. A diferencia de Objective-C, Swift


cuenta con soporte incorporado para la programación funcional también.
Por lo que los desarrolladores no tienen que se limiten a cualquier estilo de
programación previamente definido. Ayuda a los desarrolladores a entender
claramente el problema y llegar a una solución mejor.

Aplicaciones Multiplataforma
JavaScript (juntada con otras tecnologías de HTML5) es la lengua más utilizada de
desarrollo multiplataforma y móvil. También existen otros lenguajes como Python y
Ruby, pero JavaScript tiene la gama más amplia de apoyo y aprobación.

10
3. Sistemas operativos móviles y sus características
Un buen sistema operativo es esencial para que cualquier dispositivo funcione sin
problemas. Cuando alguien dice sistema operativo, la gente piensa
inmediatamente en los ordenadores. Bueno, no es completamente su culpa ya que
la mayoría de ellos no piensan en los sistemas operativos de los teléfonos
móviles.

La gente no se da cuenta de lo importante que es un sistema operativo para


construir un gran móvil. El sistema operativo de un teléfono móvil es un software o
plataforma que permite que otros programas o software se ejecuten en él. Un
sistema operativo es lo que especifica las características de un teléfono móvil.

Determina cómo debe funcionar el móvil cuando se realizan acciones específicas


como el envío de mensajes de texto, de correo electrónico, etc. Por ello, hoy
conoceremos los mejores 10 sistemas operativos para móviles de mercado

Mejores Sistemas Operativos Para Móviles Del Mercado

El sistema operativo es responsable de proporcionar todas las funciones


esenciales necesarias para el funcionamiento adecuado del equipo, y el no
hacerlo puede causar un grave mal funcionamiento del equipo e impedir su uso.
Además, esto depende de lo rápido y fiable que sea cada proceso.

En el caso de los dispositivos, la mayoría de los sistemas se asocian a una marca


concreta de teléfono inteligente desarrollada por un fabricante determinado.

11
Teniendo esto en cuenta, aquí están algunos de los más usados y conocidos
sistemas operativos para smartphones de todos los tiempos

Android
Empezó como uno de los sistemas operativos más usados y populares del mundo,
desarrollado por Google, utilizado tanto en dispositivos móviles como en tabletas
Android, de código libre y abierto desde su lanzamiento hasta hoy, y el más
utilizado por su flexibilidad.

Por lo tanto, todo aquel que tenga los conocimientos adecuados puede desarrollar
programas para este sistema operativo y cualquier empresa de telefonía puede
poner en marcha un dispositivo o tableta que incorpore este sistema operativo.

Una de las características de Android es que hay una serie de otras aplicaciones
de pago que son absolutamente gratuitas, cada una de las cuales ayuda a
optimizar el dispositivo. Además, al ser propiedad de Google, tiene la integración
de todos los servicios ofrecidos por esta empresa. Aquí están algunas de las
principales características ofrecidas por Android.
Características
 Es un software completamente libre y de código abierto basado en Linux.
 Soporta HTML, HTML5, Adobe, etc.
 Soporta fácilmente diferentes resoluciones de pantalla.
 Soporta muchas aplicaciones.
 Dispone de una gran variedad de teclados.
 Soporta Google Talk para videollamadas.
 Es altamente personalizable.

IOS
También conocido como Apple o Apple OS, junto con Android son actualmente los
dos sistemas operativos más importantes y más utilizados en el mundo en los
dispositivos móviles; a diferencia de Android, el sistema está diseñado para ser
utilizado con los propios productos de Apple. Así es. Por eso lo puedes encontrar
en dispositivos como iPods, iPads e iPhones.

Este programa se caracteriza por el hecho de que ofrece un mayor nivel de


seguridad en comparación con otros sistemas operativos móviles. Además, sólo
es compatible con los dispositivos mencionados anteriormente. Como tal, iOS es
cerrado y no puede ser usado por usuarios o empresas sin la aprobación previa de
Apple.

Se caracteriza por ser un programa de código cerrado que es muy fácil de usar y
ofrece una plataforma muy bien diseñada para un rendimiento superior; al igual
que Android, hay varias aplicaciones en el mercado que pueden ayudar a mejorar
el rendimiento del software.

12
Android e iOS se prestan características el uno al otro todo el tiempo y esa es una
de las razones por las que ambos sistemas operativos son tan ricos en
características. Este es un gran beneficio de la competencia. A pesar de su
similitud, iOS trae su propia interfaz y características únicas sobre la mesa.

Tiene una interfaz unificada en todas las aplicaciones, a diferencia de Android,


animaciones suaves, aplicaciones exclusivas de Apple, actualizaciones regulares,
no hay software de hinchado y posiblemente una mejor calidad de las aplicaciones
de terceros.

En general, todo se reduce a tu elección del ecosistema. iOS no es una alternativa


para todo el mundo como tal, considerando el precio premium que Apple cobra por
sus iPhones y iPads y tampoco resuelve muchos de los problemas de Android que
discutimos anteriormente.

Características
 Como es una fuente cerrada, nadie puede manipularla.
 Vigila constantemente el consumo de la batería para que puedas
administrarla de manera más eficiente.
 Tiene una función Siri que identifica las pistas de la radio.
 Integra las redes sociales de Twitter directamente en tu iPhone.
 Incluye atajos para enviar vídeos, notas de voz, fotos, compartir lugares y
más.

BlackBerry OS
BlackBerry se convirtió en el sistema operativo líder para teléfonos inteligentes en
el mundo. Sin embargo, después de ganar popularidad, fue superado por Android
e iOS, pero sigue siendo uno de los mejores programas para dispositivos móviles.
Al igual que el iOS, es un sistema cerrado y sólo disponible para dispositivos
BlackBerry.

Este programa para teléfonos inteligentes tiene como finalidad principal facilitar el
envío de mensajes inmediatos y el resto de las funciones vinculadas a la
comunicación.

Esto se debe a que todos los dispositivos BlackBerry ofrecen una rápida entrada
de texto y flexibilidad. En vista del hecho de que este sistema operativo se
distinguió en la cima de su rendimiento como la perfecta herramienta integrada de
chat con PIN.

Además, ofrece una excelente seguridad para los usuarios y un alto grado de
ahorro de energía en el teléfono, por lo que cada dispositivo puede tardar mucho
tiempo en cargarse. El tiempo de carga es mayor que el de otros sistemas.

Características
 Es compatible con varios métodos como el trackball, el touchpad, las
pantallas táctiles y las ruedas.
13
 Se puede utilizar profesionalmente con el calendario y las herramientas de
correo electrónico.
 Soporta la sincronización con Microsoft Exchange Server, Lotus Notes y
Novell GroupWise.

Windows Phone
El sistema operativo de Microsoft no podía quedarse atrás, por lo que Windows
Mobile, como también se le llama, es parte de nuestra lista de sistemas operativos
para dispositivos móviles. Los ordenadores en los que se instala este software son
compatibles con todos los programas que se ejecutan en Windows, incluyendo la
suite completa de Microsoft Office.

Sin embargo, en el caso de los teléfonos inteligentes, no pudo posicionarse en


primer lugar, como lo hizo con las computadoras.

Aunque no es el sistema más popular, es uno de los más utilizados y preferidos


por los usuarios, especialmente los que lo usan para computadoras de escritorio,
donde pueden confiar en todos los programas compatibles que se ejecutan en
Windows.

También ofrece una excelente navegación por la web y compatibilidad con


HTML5, así como una excelente mensajería instantánea y buenos servicios de
correo electrónico. Alta compatibilidad con una amplia gama de juegos y
programas multimedia. También es una fuente cerrada, por lo que sólo estará
disponible para ordenadores con Windows.

Características
 Permite configurar la pantalla de bloqueo del teléfono con imágenes o
información de la aplicación.
 Desde el punto de vista estético, es muy similar a la versión móvil con la
versión de escritorio.
 Permite utilizar programas que forman parte del paquete de Office Mobile,
Internet Explorer y Outlook Mobile.
 La mensajería de Skype está integrada en Windows Phone 8.
 Hay pocas aplicaciones en su tienda.

Symbian OS
BlackBerry se convirtió en el sistema operativo líder para teléfonos inteligentes en
el mundo. Sin embargo, después de ganar popularidad, fue superado por Android
e iOS, pero sigue siendo uno de los mejores programas para dispositivos móviles.

Al igual que el iOS, es un sistema cerrado y sólo disponible para dispositivos


[Link] programa para teléfonos inteligentes tiene como finalidad principal
facilitar el envío de mensajes inmediatos y el resto de las funciones vinculadas a la
comunicación.

14
Este programa para teléfonos inteligentes tiene como finalidad principal facilitar el
envío de mensajes inmediatos y el resto de las funciones vinculadas a la
comunicación.

Esto se debe a que todos los dispositivos BlackBerry ofrecen una rápida entrada
de texto y flexibilidad. En vista del hecho de que este sistema operativo se
distinguió en la cima de su rendimiento como la perfecta herramienta integrada de
chat con PIN.

Además, ofrece una excelente seguridad para los usuarios y un alto grado de
ahorro de energía en el teléfono, por lo que cada dispositivo puede tardar mucho
tiempo en cargarse. El tiempo de carga es mayor que el de otros sistemas.

Características
 Es compatible con varios métodos como el trackball, el touchpad, las
pantallas táctiles y las ruedas.
 Se puede utilizar profesionalmente con el calendario y las herramientas de
correo electrónico.
 Soporta la sincronización con Microsoft Exchange Server, Lotus Notes y
Novell GroupWise.

HarmonyOS
Anunciado como HarmonyOS, el nuevo sistema operativo móvil de Huawei, es lo
suficientemente ambicioso como para obtener el apoyo que necesita para
competir directamente con Android y Apple.

Originalmente sólo se vendía en los teléfonos, todo el sistema fue diseñado


originalmente para su uso en una variedad de dispositivos tecnológicos,
incluyendo coches inteligentes, tabletas, portátiles, cámaras, altavoces y coches
independientes.

La idea básica de este nuevo sistema operativo es poder utilizar todo su


ecosistema para integrar las aplicaciones en ejecución y mejorar la experiencia de
los usuarios que ya están utilizando otras plataformas.

Los principales beneficios del HarmonyOS son que requiere menos espacio de
memoria, es más eficiente y es compatible con una variedad de dispositivos. Esto
facilita a los programadores que no tienen que crear una versión separada para
cada sistema.

Si hay una compañía que reemplazará con éxito a Android, es Huawei. Huawei se
mantiene a la vanguardia de la tecnología de los teléfonos inteligentes.

La compañía no sólo produce algunos de los mejores smartphones del mercado,


sino que también produce sus propios chips, siendo pionera en las redes 5G y
creando la magia de poner cámaras en los smartphones.

15
Después de que el gobierno estadounidense prohibiera a Huawei (parcialmente
eliminado), no había duda de que Huawei lanzaría su propio sistema operativo
para teléfonos móviles. En el primer día de la conferencia de desarrollo de
Huawei, el gigante tecnológico chino anunció una alternativa a Android
ampliamente discutida.

Características
 HarmonyOS es compatible con una variedad de dispositivos tecnológicos,
incluyendo computadoras, relojes inteligentes, tabletas y autos inteligentes.
 Se actualiza constantemente.
 Es de código abierto y compatible con Linux, Android, HTML y otras
plataformas.

El nuevo sistema operativo llamado Harmony OS será un sistema operativo


distribuido, basado en un micro-núcleo, que soportará aplicaciones para Android.
También será un sistema operativo más rápido y flexible que Android, dijo la
compañía.

Originalmente desarrollado para dispositivos de IO como teléfonos inteligentes,


dispositivos móviles y altavoces de teléfonos inteligentes, Harmony OS también
será compatible con los teléfonos inteligentes. Huawei dice que pronto lanzará el
SDK para que los desarrolladores puedan ponerle las manos encima.

16
UNIDAD 2
4. AppInventor y requerimiento de instalación

¿Qué es App Inventor 2?


App Inventor es un entorno de desarrollo de aplicaciones para dispositivos
Android, la idea se basa en un entorno de fácil aprendizaje que no necesite de
conocimientos previos de programación pero que desarrolle la lógica de para la
construcción de aplicaciones basadas en eventos. Para desarrollar aplicaciones
con App Inventor sólo necesitas un navegador web y un télefono o tablet Android
(si no lo tienes podrás probar tus aplicaciones en un emulador). App Inventor se
basa en un servicio web que te permitirá almacenar tu trabajo y te ayudará a
realizar un seguimiento de sus proyectos.

App Inventor 2 (AI2) es la versión mejorada de una herramienta de programación


creada por el MIT (Instituto Tecnológico de Massachusetts) y que fue adoptada
por Google para sus usuarios como solución para crear de una forma sencilla
aplicaciones para dispositivos Android.

El proceso de creación consta de 3 pasos:

1. Diseñador. Muestra el display de un móvil y se utiliza para el diseño de las


pantallas de la aplicación donde se situarán los distintos componentes:
imágenes, botones audios, textos, etc configurando sus propiedades
(aspecto gráfico, comportamiento, etc).

2. Editor de bloques. Permite programar de una forma visual e intuitiva el flujo


de funcionamiento del programa utilizando bloques.

3. Generador de la aplicación. Una vez terminada la aplicación se puede


generar el instalador APK obteniéndose un código QR para su descarga
desde el móvil o bien el propio archivo APK para descargar y enviar.

Con App Inventor se aprende a programar usando bloques de programación.


Estos bloques están hechos con elementos comunes a la mayoría de los
lenguajes de programación existentes. Se colocan bloques para construir bucles,

17
condiciones, variables, etc. que permiten pensar lógicamente y solucionar los
problemas de forma metódica, sin perder el tiempo en encontrar el punto y coma
o los dos puntos que están donde no deben y producen errores de compilación o
ejecución.

Los bloques están clasificados mediante un criterio de colores que indica en parte
su función o el componente al que hacen referencia.

AppInventor ofrece un amplio abanico de posibilidades para los desarrolladores:

 Juegos. Puede crearse juegos sencillos haciendo uso incluso del


acelerómetro incluido en el dispositivo móvil.
 Aplicaciones educativas. Es posible desarrollar aplicaciones útiles para
educación, como por ejemplo tests de respuestas múltiples o preguntas
directas.
 Aplicaciones de geolocalización. Puede hacerse uso del dispositivo GPS
incluido en el móvil para crear aplicaciones de geolocalización.
 Aplicaciones multimedia complejas. Pueden crearse aplicaciones que van
desde reconocimiento de códigos de barras hasta reproducir vídeos y
música o tomar fotografías.
 Aplicaciones orientadas a la Web. Pueden desarrollarse aplicaciones
que se comuniquen con la web (Twitter, RSS, etc.).

Requisitos para utilizar AI2


AI2 proporciona una herramienta en línea accesible a través de un navegador web
si se dispone de una cuenta de usuario en Google. El equipo recomendado es un
ordenador PC (Windows, Mac o Linux) – no una tableta - y el navegador
recomendado es la última versión de Google Chrome o Mozilla Firefox (Internet

18
Explorer no está soportado). No es necesario tener instalado en el equipo Java ni
ningún otro programa.
1. Abre el navegador Google Chrome.
2. Accede a la dirección de AI2: [Link]
3. Introduce tus credenciales de Google: usuario y contraseña.
4. Se muestra el cuadro de diálogo Welcome to App Inventor! (Bienvenido a App
Inventor).
5. Clic en el botón Continue.

6. Para cambiar el idioma de la interfaz, en la barra de menús superior derecha


pulsa en English para desplegar el combo y elegir el idioma español.

7. Al principio te situarás en la página Mis proyectos desde donde es posible


gestionar tus proyectos de aplicaciones.

19
Sistemas para testear en directo las aplicaciones

AI2 proporciona básicamente 3 posibilidades para ver la aplicación creada en un


dispositivo mientras se está construyendo. Es lo que se denomina “Testeo en
directo”. No es algo imprescindible, pero es muy recomendable.

Dispositivo Android + wifi en ordenador PC

Es la opción recomendada. Consiste en instalar la aplicación MIT AI2 Companion


en la tableta para establecer conexión con la web [Link] y
poder testear las aplicaciones creadas en esta aplicación. El requisito previo es
que la tableta y el ordenador que accede a la interfaz web deben estar conectados
a la misma wifi.

Los pasos para realizar este proceso son:


Paso 1. Instalar MIT AI2 Companion
1. Accede a Play Store e introduce MIT AI2 Companion como expresión de
búsqueda para localizar esta aplicación.
[Link]
2. Instala esta app en tu tableta.

20
Paso 2. Conectar tu ordenador y la tableta en la misma wifi.
1. Desde la interfaz web de App Inventor, mientras estás editando un proyecto,
selecciona Connect > AI Companion.

2. Se mostrará un cuadro de diálogo que contiene un código QR en la pantalla de


tu ordenador PC.
3. En tu tableta inicia la app MIT AI Companion como cualquier otro programa.
4. Pulsa en el botón Scan QR Code y escanea el código que aparece en la
ventana de App Inventor.

21
5. Otra posibilidad es introducir el código mostrado en pantalla en el cuadro
solicitado de la app MIT AI Companion y pulsar en el botón connect with code
(conectar con código).
6. En cualquier caso en unos segundos se mostrará en tu tableta la aplicación que
se está diseñando sin necesidad de instalarla previamente.
7. Los cambios en el diseñador y en los bloques se transmitirán automáticamente
a la aplicación permitiendo el testeo directo.

5. El gestor de proyectos en AppInventor


En esta herramienta se le da seguimiento a todos los proyectos que hemos
creado. En esta sección podemos crear un Nuevo proyecto, abrir un proyecto ya
creado, eliminar un proyecto.

Diseñador

22
En esta herramienta podemos seleccionar los componentes u objetos que
integraran la app que estamos diseñando y así definir el entorno del usuario o
pantalla (screen) del usuario.

Al lado derecho tenemos los objetos que insertamos al lienzo o pantalla.


Al centro tenemos el lienzo o pantalla donde colocamos todos los objetos que
necesitaremos en la app. Al lado derecho tendremos la lista de componentes que
se han ido añadiendo a la pantalla y a la par las propiedades básicas de los
objetos que insertamos en la pantalla.

Para insertar los objetos en el lienzo hay que arrastrarlos de la paleta o cuadro de
componentes hacia el lienzo o pantalla, también conocido como visor.

Editor de bloques
El comportamiento de la App se programa mediante bloques o piezas en el editor
de bloques. La idea es ir encajando las piezas como que fuera un rompecabezas
teniendo la lógica adecuada para obtener los resultados deseados.
Con el Editor de bloques vamos a definir cómo se comportará la aplicación.
Estableceremos lo que los componentes deben hacer y cuándo hacerlo. Por
ejemplo, que debe ocurrir cuando el usuario pulsa un botón. El Editor de bloques
se ejecuta en una ventana independiente. Al hacer clic en Abrir el editor de
bloques de la ventana de diseño, el archivo del programa del Editor de bloques se
descargará y a continuación se debe ejecutar.
El Editor de bloques tiene dos fichas en la esquina superior izquierda: Built-In
(incorporados) y My Blocks (mis bloques).

23
Los botones de debajo de cada ficha se amplían y se muestran los bloques
cuando se hace clic. La bloques Built-In son el conjunto estándar de bloques que
están disponibles para cualquier aplicación que construyas. Los bloques My
Blocks contienen bloques específicos que están vinculados al conjunto de
componentes que has elegido para tu aplicación.

Área en donde se colocan los bloques


para ir programado los procesos que
deseamos nos haga la aplicación

Bloques de Uso General Lista de bloques que poseen


Lista de componentes
incluidos en nuestra cada uno de los
aplicación componentes de la App que
se está creando.

Los bloques representan variables, procesos lógicos, procesos matemáticos o


eventos que se desencadenan para cada componente incluido en la App.

6. Componente comportamiento

Componentes
Hay dos tipos de componentes principales en cualquier aplicación: los visibles y
los no visibles.

Los componentes visibles son aquellos que podemos ver una vez hemos
ejecutado nuestra aplicación (botones, cajas de texto, etiquetas, etc.). El conjunto
de estos elementos se denomina comúnmente como la interfaz de usuario de la
aplicación.

24
Por otro lado, los componentes no visibles son aquellos que no podemos ver en la
aplicación, ya que no son parte de la interfaz de usuario. Proporcionan acceso a la
funcionalidad interna de los dispositivos; por ejemplo, el componente Texting
permite enviar y procesar mensajes de texto, y el componente LocationSensor
permite determinar la localización del dispositivo.
Ambos componentes están definidos mediante una serie de propiedades. Las
propiedades son fragmentos de memoria que permiten almacenar información
relativa al componente al que referencian. Los componentes visibles, por ejemplo,
disponen de propiedades relativas a su posición, altura y anchura, y alineación,
que definen conjuntamente su aspecto dentro de la aplicación global. Todas estas
propiedades se definen dentro del diseñador de componentes de AppInventor.

Comportamiento
El comportamiento define como una aplicación debe responder ante una serie de
eventos, los producidos por la interacción del usuario (un clic de botón) y los
externos (un SMS recibido en nuestro dispositivo). En este punto es donde reside
la mayor complejidad en el desarrollo de aplicaciones. Afortunadamente,
AppInventor proporciona un lenguaje visual de bloques que nos permite definir
comportamientos de una forma muy precisa.
Normalmente, podemos identificar el desarrollo de aplicaciones con la elaboración
de una “receta”, es decir, siguiendo una secuencia lineal de instrucciones.

Sin embargo, la mayoría de las


aplicaciones actuales no cumple
estrictamente este tipo de
paradigma. No se ejecutan una serie
de instrucciones en un orden
predeterminado, sino que, la
aplicación reacciona a una serie de
eventos, normalmente iniciados por
el usuario final de la aplicación. Por
ejemplo, si el usuario hace clic sobre
un botón, la aplicación responde
realizando alguna operación (enviar
un mensaje de texto, confirmar una
determinada operación, etc.).
Este tipo de aplicaciones se pueden
interpretar como un conjunto de
componentes que reaccionan ante
unos determinados eventos. Las
aplicaciones incluyen una serie de
“recetas” (secuencias de instrucciones), las cuales se ejecutan cuando se
producen los eventos asociados a las mismas.

25
Figura - Ejemplo de un componente y sus propiedades

La mayoría de los eventos son generados por el usuario final de la aplicación,


salvo en algunos casos. Una aplicación puede reaccionar a eventos que suceden
en el propio dispositivo, como, por ejemplo: cambios en el sensor de orientación,
eventos generados en otros dispositivos, datos que llegan desde la web, etc.

Figura 5. Una aplicación puede responder


tanto a eventos internos
, externoso generador
por el usuario.

26
El motivo principal por el cual podemos afirmar que las aplicaciones desarrolladas
mediante AppInventor son intuitivas, es porque están basadas en el paradigma
evento-respuesta.

7. Componente Eventos

A continuación, explicaremos brevemente los diferentes tipos de eventos que


pueden desencadenar diferentes acciones en este tipo de aplicaciones.

Tipo de Evento Ejemplo

Evento iniciado por el usuario Cuando el usuario hace clic en el boton_1, hacer...

Evento de inicialización Cuando la aplicación se inicia, hacer...

Evento de temporización Cuando han pasado 20 milisegundos, hacer...

Evento de animación Cuando dos objetos colisionan, hacer...

Evento externo Cuando el teléfono recibe un SMS, hacer...

Eventos iniciados por el usuario


Son el tipo más común de eventos. Reflejan la interacción del usuario final con la
aplicación. Por ejemplo, en la siguiente figura podemos observar como se ha
definido que cuando el usuario hace click sobre el botón “SpeakItButton” se
reproduce oralmente el contenido escrito en la caja de texto
“TextBox1”.

Figura 6. Ejemplo de evento iniciado por la interacción del usuario

Eventos de inicialización
En algunas ocasiones nuestras aplicaciones requieren realizar ciertas funciones
en el momento en el que se inician. AppInventor considera este inicio de la
aplicación como un evento.

27
En el siguiente ejemplo, podemos observar como en el momento en el que se
inicia la aplicación realizamos una determinada acción, en este caso, invocar a la
función “MoveMole”.

Figura 7. Ejemplo de evento de inicialización

Eventos de temporización
Podemos necesitar en algunos casos que cierta actividad de nuestra aplicación
se realice en un cierto momento. AppInventor dispone de un componente
denominado “Clock”, mediante el cual podremos programar la ejecución de
determinadas acciones en un determinado momento. Por ejemplo, en la siguiente
figura podemos observar como se ha definido un temporizador para que en un
determinado tiempo mueva una bola desplazándola 10 unidades sobre el eje de
las X.

Figura 8.. Ejemplo de evento de temporización

Eventos de animación

Las actividades en las


que se ven envueltos
objetos gráficos
también pueden
producir eventos. De
esta manera podemos
crear juegos o
aplicaciones con
animaciones Figura 9. Ejemplo de evento de animación
interactivas,
controlando en todo momento que debería ocurrir.
En el siguiente ejemplo, se ha definido un comportamiento que controla las
colisiones entre el objeto “Ball1” y el objeto denominado “other”, de tal modo que
cuando se produce una colisión entre ambos, el objeto “Ball1” cambia su color a
rosa y se reproduce un sonido de explosión.
28
Eventos externos
Cualquier entrada externa hacia el dispositivo es considerada también como un
evento. Por ejemplo, el hecho de recibir un mensaje de texto o la posición GPS
son interpretados como eventos externos.
En el siguiente ejemplo, podemos observar como se ha definido un conjunto de
bloques que reaccionan al evento de recibir un mensaje de texto. Una vez
recibido, se responde al emisor con el mensaje de “Stop texting me!”.

Figura 10. Ejemplo de evento externo

Para resumir, podemos decir que todas las aplicaciones que desarrollemos
estarán formadas por un conjunto de eventos y sus respectivas respuestas.
Nuestro trabajo será conceptualizar y definir las respuestas a los eventos que
queramos manejar.

Manejadores de Eventos

Existen varios tipos de manejadores de eventos, los cuales explicaremos a


continuación.

Condicionales
Las respuestas a eventos no son siempre secuencias lineales. En algunos casos,
se pueden evaluar ciertas condiciones y elegir en función de ello que hacer.

29
Figura Ejemplo de manejador
11. condicional
Bloques de repetición
En algunas ocasiones podemos desear que nuestra aplicación repita ciertas
operaciones. En estos casos utilizaremos los bloques de repetición
proporcionados por AppInventor, que nos permitirán ejecutar ciertas tareas un
número determinado de veces o mientras sea verdadera alguna condición.

Recordar valores
Debido a que los manejadores de eventos pueden ejecutar bloques, en algunas
ocasiones es necesario mantener cierta información almacenada. Esta
información se almacena en unas unidades de memoria denominadas variables,
las cuales podremos definir en nuestras aplicaciones. Por ejemplo en una
aplicación para jugar, podemos definir una variable puntuación para almacenar y
modificar su valor en función de los aciertos y errores del usuario.

Podemos decir que las variables son como las propiedades , pero no están
asociadas a ningún componente en particular. Las variables almacenan datos
temporalmente mientras la aplicación se está ejecutando; cuando cerramos la
aplicación, los datos ya no están disponibles.

En algunas ocasiones, puede ser necesario que ciertos datos estén disponibles
no sólo mientras se ejecuta la aplicación, sino también cuando se cierra y vuelve a
ejecutarse. Es en este caso particular, cuando necesitaremos utilizar un
almacenamiento persistente, utilizando algún tipo particular de base de datos.

30
Comunicaciones con la web

Algunas aplicaciones se comunican a través de internet enviando peticiones hacia


servicios web.

Twitter es un ejemplo de servicio web con el cual AppInventor puede comunicarse.


Podemos crear aplicaciones que sean capaces de enviar peticiones y mostrar los
tweets de nuestros seguidores e incluso actualizar nuestro estatus.

31
UNIDAD 3

8. El entorno de desarrollo
El entorno de programación de AppInventor tiene tres partes fundamentales:

 El Diseñador de Componentes se ejecuta en el navegador web. Es utilizado


para seleccionar los componentes de nuestra aplicación y especificar sus
propiedades. A través de él, iremos definiendo el aspecto visual.
 El Editor de bloques se ejecuta en una ventana independiente del
Diseñador de Componentes. Nos permitirá crear los comportamientos
necesarios de nuestra aplicación y asociarlos a sus respectivos
componentes.
 Un dispositivo Android nos permitirá ejecutar y comprobar nuestras
aplicaciones mientras las estamos desarrollando. Si no disponemos de
ningún dispositivo adecuado, podremos probar nuestras aplicaciones
utilizando el emulador de Android, el cual viene integrado dentro del
sistema.

En la siguiente figura se puede visualizar cada una de las partes mencionadas


anteriormente.

Figura12. El Diseñador de Componentes, el Editor de Bloques y el Emulador de Android.

Para empezar a utilizar AppInventor, comenzaremos introduciendo la siguiente


dirección web en nuestro navegador [Link] La primera
vez que iniciemos sesión en la aplicación, podremos ver nuestra Página de
Proyecto, la cual estará vacía porqué aún no hemos desarrollado ninguna
aplicación. Para crear un proyecto, haremos clic sobre el botón New situado en la

32
parte superior izquierda de la pantalla, introduciremos el nombre que queramos
para el proyecto y haremos clic en OK.
La primera ventana que nos aparecerá a continuación es el Diseñador de
Componentes. Una vez que estamos dentro, haremos clic sobre el botón Open
Blocks Editor situado en la parte superior derecha. En este momento, el Editor de
Bloques aparecerá en una nueva ventana. Este proceso puede tardar en torno a
30 segundos.

En la ventana del Editor de Bloques podemos observar dos botones en la parte


superior derecha, como muestra la siguiente figura.

Figura 13. Parte superior del editor de bloques

Si disponemos de un dispositivo Android y un cable USB, conectaremos el


dispositivo al ordenador y seleccionaremos “Connect to Device". Por el contrario
sino disponemos de ningún dispositivo Android o si queremos probar nuestras
aplicaciones utilizando un emulador, haremos clic en “New Emulator” y
esperaremos en torno a 30 segundos hasta que el emulador termina de cargar.
Cuando haya terminado el proceso, haremos clic en “Connect to Device” y
seleccionaremos el emulador creado previamente.

9. Diseñando y añadiendo componentes


Diseñando componentes
Los componentes son los elementos que combinamos para crear nuestras
aplicaciones. Algunos son muy simples, como por ejemplo una etiqueta que
muestra un texto en la pantalla, o un botón, mediante el cual podemos iniciar una
determinada acción. Otros componentes son más elaborados; un componente
Canvas que permite visualizar imágenes o animaciones; el acelerómetro, un
sensor de movimiento que detecta cuando movemos o agitamos el teléfono; o
componentes que nos permiten enviar mensajes de texto, reproducir música y
video, obtener información desde páginas web, etc.

Cuando abrimos el Diseñador de Componentes, aparecerá la siguiente ventana.

33
Figura 14. Ventana principal del Diseñador de Componentes

El Diseñador de Componentes está dividido en varias partes:

En la parte central encontramos un área denominada Viewer. Aquí es donde


colocaremos nuestros componentes en función de cómo queramos que sea el
diseño visual de nuestra aplicación. Una vez especificados y añadidos los
componentes, debemos probar como se visualiza realmente nuestra aplicación en
un dispositivo Android, utilizando para ello un dispositivo físico o el emulador.

A la izquierda de la aplicación encontramos un área denominada Palette, en la que


podemos encontrar la lista completa de componentes de AppInventor. La Palette
está dividida en varias categorías. Haciendo clic en cada una de ellas podremos ir
viendo todos los componentes disponibles.

A la derecha del Viewer podemos ver el listado de Componentes, el cual muestra


una lista de todos los componentes que vamos añadiendo a nuestra aplicación.
Todos los componentes que vayamos añadiendo al Viewer, se irán mostrando
automáticamente en el listado. Por defecto, siempre aparece el componente
Screen1, que hace referencia a la pantalla del teléfono.

34
En la parte inferior podemos observar un área denominada Media que muestra
todos los componentes multimedia (imágenes y sonidos) que incluyamos en
nuestro proyecto.

Por último, en la parte derecha de la aplicación, encontramos la sección de


propiedades, mediante la cual podremos ir modificando, según nuestras
necesidades, todos y cada uno de los elementos que vayamos incluyendo en la
aplicación. La lista de propiedades irá cambiando en función del elemento que
estemos editando, para ello haremos clic sobre el elemento deseado en el listado
y aparecerán las propiedades que podemos modificar para el elemento actual
seleccionado.

Añadiendo Comportamientos
El Editor de Bloques (Blocks Editor) nos permite añadir y asignar tareas
específicas a los componentes individuales de nuestra aplicación, de tal modo que
podamos ir creando de manera conjunta la funcionalidad global que pretendemos
que tenga nuestra aplicación.

El Editor de Bloques está implementado como una aplicación de Java Web Start,
que se ejecuta en nuestro ordenador.

Para iniciarlo, debemos hacer clic sobre el botón “Open the blocks editor” situado
en la parte superior derecha del Diseñador de Componentes. Una vez pulsado, el
texto del botón cambiará y nos indicará que se está cargando el Editor de
Bloques. Nuestro navegador web nos preguntará en una nueva ventana que
queremos hacer con la aplicación. Aceptamos y automáticamente se mostrará la
ventana del Editor de Bloques.

Una vez cargado el Editor de Bloque aparecerá la siguiente ventana.

35
Figura 15. Ventana principal del Editor de bloques

Se divide en las siguientes partes:

 En la parte izquierda de la pantalla encontramos la zona para seleccionar


bloques. A su vez, incluye tres pestañas: Built-In, My Blocks y Advanced. La
pestaña Built-In contiene siete grupos genéricos de bloques: Definition,
Text, Lists, Math, Logic, Control y Colors. Todos estos bloques estarán
siempre disponibles para incluirlos en nuestras aplicaciones,
independientemente de los componentes utilizados y añadidos a través del
diseñador. La pestaña My Blocks nos permite acceder a todos los
componentes definidos en el diseñador, con el fin de asignarles la
funcionalidad y el comportamiento que deseemos. Por último, la pestaña de
Advanced, nos permite aplicar comportamientos sobre grupos de
componentes (botones, etiquetas, etc.) de manera global.

 En la parte central se encuentra el editor de bloques, mediante el cual


definiremos las tareas y el comportamiento de los componentes de nuestra
aplicación. Iremos combinando bloques según nuestras necesidades para
completar el funcionamiento de nuestra aplicación.

36
10. Elementos de programación en AppInventor

Descripción de los bloques integrados de App Inventor 2

En App Inventor existen unos bloques integrados que son comunes a todos los
proyectos, independientemente de los componentes que estos contengan.

Veamos algunos de esos bloques de App Inventor:

Sentencias
Al programar necesitamos a menudo decirle al ordenador que haga algo. En
App Inventor existen numerosos bloques que son sentencias de
programación. Se distinguen rápidamente porque expresan una acción a
realizar con un verbo en imperativo. Los más habituales son call, set y def
(abreviatura de define). Además, los bloques que son sentencias sólo están
disponibles en dos colores: azul para modificar variables o propiedades de un
objeto y naranja para llamar a funciones. En la imagen siguiente se ven
algunos ejemplos de las sentencias para dividir un texto en partes, convertirlo
a mayúsculas, cambiar la altura, texto o visibilidad de un recuadro de texto o
definir una variable.

Bloques
En la siguiente diapositiva podrás ver el aspecto de la sección de Bloques

Como ya sabes, por un lado deberás


desarrollar visualmente tu App agregando
y distribuyendo los componentes dentro
de la pantalla, pero también deberás
programar con bloques el comportamiento
de estos componentes. Para ello, como ya
has visto antes, está la sección de Bloques.
Bloques integrados Cada objeto o componente tiene una serie
Los bloques integrados se organizan en bloques de: de instrucciones organizadas por secciones
de manera predeterminada.

37
En el apartado de bloques,
encontrarás dos partes. La
primera contiene las distintas
secciones de bloques con En el segundo apartado
instrucciones generales que encontrarás que aparece
normalmente se pueden aplicar a el nombre de los
cualquier componente. Digamos componentes añadidos en
que son las instrucciones el visor.
comunes. Aquí se da la oportunidad
de trabajar con
instrucciones propias para
este tipo de
componentes.

En el apartado de instrucciones comunes, si haces clic en la sección


de control verás que hay bloques tales como (Si Entonces) que es
del tipo control de condiciones y puede ser aplicado a la gran
mayoría de bloques.

En el apartado de instrucciones especificas encontrarás bloques


como el siguiente que te permitirá cambiar el tamaño de letra de un
determinado componente como un botón, por ejemplo, a un
determinado tamaño.

38
¿Qué es la programación orientada a eventos?
La Programación orientada a eventos es un paradigma de programación en el que la
estructura y la ejecución de los programas van determinados por los sucesos o acciones
que ocurren en el sistema, definidos por el usuario o por el propio sistema.

La programación orientada a eventos es muy fácil de usar y es adecuada para aquellas


personas que tienen poco conocimiento en programación. Con los lenguajes orientados a
eventos se pueden realizar en poco tiempo aplicaciones sencillas y muy funcionales,
utilizando interfaces gráficas en las que se insertan componentes o controles a los que se
le programan eventos. Dichos eventos permiten al usuario realizar una serie de acciones
lógicas para un determinado programa.

Dentro de las herramientas de programación orientadas a eventos se encuentra el Mit


App Inventor, este maneja una serie de componenteelemento que presta un servicio de
comunicación cuando se diseñan interfaces.s o controles con propiedades que se pueden
cambiar para que el componente se muestre en pantalla de forma diferente o actúe de
otra manera dentro de la aplicación. Para cambiar las propiedades de un componente,
primero debemos seleccionar el componente deseado en la lista de componentes,
también debemos tener en cuenta que hay algunos valores de propiedades de algunos
componentes que no son modificables y otros que sí lo son.

Otro aspecto a tener en cuenta en la programación orientada a eventos es el comprender


y tener bien claro el concepto de los siguientes términos:

 Evento
 Propiedades
 Métodos

39
¿Qué son los eventos?
Los Eventos son las acciones sobre el programa, como por ejemplo:

 Clic sobre un botón


 Doble clic sobre el nombre de un fichero para abrirlo
 Arrastrar un icono
 Pulsar una tecla o una combinación de teclas
 Elegir una opción de un menú
 Escribir en una caja de texto
 simplemente mover el ratón
Cuando se produce o dispara un sobre un determinado, se da inicio a un conjunto
de acciones programadas por el usuario para ese evento concreto.

Qué es una propiedad?


Una propiedad es una asignación que describe algo sobre un componente, como
por ejemplo:
 Un formulario
 Un botón de comando
 Una caja de texto
 Una etiqueta
 Una imagen
 etc…

Dependiendo de la propiedad, esta se puede asignar en tiempo de diseño usando


la ventana Propiedades y/o en tiempo de ejecución en el momento de programar
el control
Las propiedades en el momento de programar el control, se muestran con color
verde.
Las propiedades se usan para cambiar la forma de los componentes o controles
de la aplicación, por ejemplo el tamaño de la letra de un control, el tipo de letra, la
alineación, etc.
¿Qué es un método?

40
Un método es una función que es llamada desde el programa, a diferencia de los
procedimientos, estos no son programados por el usuario, ya que vienen pre-
programados en el lenguaje de programación, los métodos realizan tareas típicas
y comunes para todas las aplicaciones; por eso están incluidos dentro del lenguaje
de programación, esto con el fin de liberar al usuario de la tarea de programarlos.
Cada tipo de componente tiene sus propios métodos; debemos tener en cuenta
que los métodos solo pueden ser ejecutados en tiempo de ejecución no en tiempo
de diseño. Algunos ejemplos de métodos son:
 En una ventana, el método MOVE, que mueve un formulario en un espacio
de dos dimensiones en la pantalla
 Otros SetFocus, LostFocus, AddItem etc…
Los métodos en App inventor los encontramos en los bloques de programación de
los diferentes componentes y estos aparecen con color violeta.

41

También podría gustarte