Presentación de PowerPoint

Transcription

Presentación de PowerPoint
App I nventor
CI-2657 Robótica
M.Sc. Kryscia Ramírez Benavides
¿Qué nos ofrecen las aplicaciones
móviles?
Versatilidad.
Ahorro de costos.
Adaptación a la forma de trabajo.
Ampliación de capacidades de cada unidad.
CI-2657 Robótica
App Inventor
2
¿Qué es App Inventor?
App Inventor es una aplicación originalmente
desarrollada por Google y mantenida ahora por
el Instituto de Tecnología de Massachusetts.
Permite que cualquier persona, incluyendo las
no familiarizadas con la programación y SDK de
Android, pueda crear aplicaciones de Software
para Android.
Utiliza una interfaz gráfica, muy similar al
Scratch y el StarLogo, que permite a los
usuarios arrastrar y soltar objetos visuales para
crear una aplicación que puede ejecutarse en el
sistema Android.
Google puso fin al desarrollo el 31 de diciembre
de 2011 cediéndole el código al MIT, quién lo ha
puesto a disposición de todos.
CI-2657 Robótica
App Inventor
3
¿Qué es App Inventor? (cont.)
Se trata de una utilidad Web desarrollada por
Google que permite realizar aplicaciones
para Android sin escribir código Java, todo de
forma visual e intuitiva (uniendo piezas de un
puzle).
Permite a cualquiera crear aplicaciones de
software para el sistema operativo Android.
Utiliza una interfaz gráfica que permite a los usuarios
arrastrar y soltar objetos visuales para crear una
aplicación que puede ejecutarse en el sistema
Android, que funciona en muchos dispositivos
móviles.
Todo ello sin usar ni una sola línea de código, de
forma intuitiva y gráfica.
CI-2657 Robótica
App Inventor
4
¿Qué es App Inventor? (cont.)
La aplicación se puso a disposición de los
usuarios, mediante invitación, el 12 de julio
de 2010, el 15 de diciembre de 2010 se puso
a disposición de usuarios registrados.
La aplicación está dirigida a personas que no
están familiarizadas con la programación de
computadoras.
La idea es que cualquier persona pueda
desarrollarse sus propias aplicaciones para
su dispositivo Android.
CI-2657 Robótica
App Inventor
5
¿Qué es App Inventor? (cont.)
Se ejecuta vía web, sólo es necesario ejecutar una
pequeña aplicación para mostrar el Editor de Bloques
(Block Editor) y el emulador, incluso las aplicaciones se
guardarán en la web.
Por lo cual se puede acceder a nuestros proyectos desde
cualquier equipo conectado a Internet.
Permite conectarse directamente al equipo Android,
aunque en algunos casos no será posible, por ello incluye
un emulador para probar las aplicaciones que se
desarrollen.
Permite guardar el proyecto en PC, para enviarlo a otros
usuarios o para hacer copia de seguridad y permite
también descargar la aplicación .apk compilada para ser
instalada en el dispositivo Android.
Por lo cual no se necesita ningún tipo de compilador ni nada
por el estilo, todo se realiza en el entorno de App Inventor.
CI-2657 Robótica
App Inventor
6
¿Qué es App Inventor? (cont.)
CI-2657 Robótica
App Inventor
7
Historia
En la creación de App Inventor para Android,
Google se basó en la investigación de la
informática educativa, y el trabajo realizado en
entornos de desarrollo en línea.
El editor de bloques utiliza la biblioteca Open
Blocks de Java para la creación de lenguajes de
programación visuales.
Open Blocks esta distribuida por el Massachusetts
Institute of Technology Program ‘s Scheller para
formación de profesorado y deriva de la investigación
de la tesis de Ricarose Roque.
El profesor Eric Klopfer y Daniel Wendel del
Programa Scheller apoyaron la distribución de
bloques abiertos bajo la licencia MIT.
CI-2657 Robótica
App Inventor
8
Historia (cont.)
La programación de bloques abiertos y visual está
estrechamente relacionada con el StarLogo, un
proyecto de Klopfer, y Scratch, un proyecto de
la MIT.
Estos proyectos están formados por teorías del aprendizaje
construccionista, que hace hincapié en que la programación
puede ser un vehículo para conseguir ideas de gran alcance
a través del aprendizaje activo.
Como tal, es parte de un movimiento continuo en
las computadoras y la educación que se inició con el
trabajo de Seymour Papert y el Grupo de Logo del
MIT en 1960, y también se ha manifestado con el
trabajo de Mitchel Resnick, Lego Mindstorms y
StarLogo.
El equipo de App Inventor fue dirigido por Hal
Abelson y Mark Friedman.
CI-2657 Robótica
App Inventor
9
Ventajas y Desventajas
No es necesario
instalar un IDE.
Son necesarios
mínimos
conocimientos de
programación.
Desarrollo rápido de
aplicaciones con bajos
niveles de error.
Almacenamiento en la
nube.
CI-2657 Robótica
App Inventor
No se pueden subir al
Android Market (aun).
No permite diferentes
actividades en una
aplicación.
Tamaño elevado de
APK.
No permite
aplicaciones
complejas, aunque si
completas.
10
Utilizando App Inventor
A construir aplicaciones se trabaja con:
App Inventor Designer, donde se seleccionan los
componentes de la aplicación.
App Inventor Blocks Editor, donde se ensamblan los
módulos del programa que especifican cómo deben
comportarse los componentes. Se montan programas
visuales, piezas encajando como piezas de un
rompecabezas.
La aplicación realizada aparece en el teléfono paso a
paso a medida que se añaden piezas a la misma,
para poder probar el trabajo a medida que se
construye. Cuando se ha terminado, se puede
empaquetar la aplicación y producir una aplicación
independiente para instalar.
Si no se tiene un teléfono Android, se puede construir las
aplicaciones utilizando el emulador de Android, el software
que se ejecuta en el ordenador y se comporta como el
teléfono.
CI-2657 Robótica
App Inventor
11
Utilizando App Inventor (cont.)
Este entorno de desarrollo es compatible con
Mac OS X, GNU / Linux, y los sistemas
operativos Windows, y varios modelos más
populares de Android.
Las aplicaciones creadas se puede instalar en
cualquier teléfono Android. (Consultar los
requisitos del sistema.)
Para poder utilizar App Inventor, es
necesario configurar el equipo e instalar el
paquete de instalación de App Inventor en el
equipo.
CI-2657 Robótica
App Inventor
12
CI-2657 Robótica
App Inventor
13
Requerimientos de Sistema
Ordenador y sistema operativo:
Macintosh (con procesador Intel): Mac OS X 10.5,
10.6.
Windows: Windows XP, Windows Vista, Windows 7.
GNU/Linux: Ubuntu 8+, Debian 5+.
Navegador (Browser):
Mozilla Firefox 3.6 o superior.
Nota: Si está utilizando Firefox con la extensión NoScript,
tiene que obtener la extensión. Consulte note on the
troubleshooting page.
Apple Safari 5.0 o superior.
Google Chrome 4.0 o superior.
Microsoft Internet Explorer 7 o superior.
CI-2657 Robótica
App Inventor
14
Base de Datos Teléfonos y Tablets
Base de datos de los dispositivos conocidos
para trabajar con App Inventor:
https://docs.google.com/spreadsheet/ccc?key=0
AgIdRCXI87uXdEZxR0ppRGZkNENpbDZuQnY3a0
wyenc#gid=0
CI-2657 Robótica
App Inventor
15
CI-2657 Robótica
App Inventor
16
CI-2657 Robótica
App Inventor
17
CI-2657 Robótica
App Inventor
18
CI-2657 Robótica
App Inventor
19
URL: http://beta.appinventor.mit.edu/#2187034
CI-2657 Robótica
App Inventor
20
App Inventor Designer - Editor Visual de
Componentes
Paleta de
componentes
CI-2657 Robótica
App Inventor
Visor de
componentes
insertados
Árbol de
componentes
y multimedia
Propiedades de
componentes
21
App Inventor Blocks Editor - Editor de
Bloques
CI-2657 Robótica
App Inventor
22
App Inventor Blocks Editor - Editor de
Bloques
CI-2657 Robótica
App Inventor
23
Editor de Bloques (cont.)
Evento
Asignación de
valores a variables
Llamadas a acciones
CI-2657 Robótica
App Inventor
24
Ejecución en Emulador
CI-2657 Robótica
App Inventor
25
Componentes de LEGO®
MINDSTORMS®
Estos componentes proporcionan un control para los
robots del NXT de LEGO MINDSTORMS utilizando
Bluetooth.
IMPORTANTE: Todos estos componentes tienen una
propiedad BluetoothClient que se debe establecer en el
diseñador del App Inventor (en el navegador). La
propiedad no se puede configurar en el editor de
bloques.
La propiedad indica qué componente BluetoothClient se utiliza
para la comunicación con el robot.
Se tiene que añadir explícitamente un componente
BluetoothClient a su proyecto.
Si se tiene un robot, se debe tener un componente BluetoothClient.
Si se tiene dos robots y se desea controlar ambos simultáneamente
desde una sola aplicación, se tendrán dos componentes
BluetoothClient en el proyecto.
El componente BluetoothClient está disponible en el "Not
ready for prime time" de la paleta.
CI-2657 Robótica
App Inventor
26
Componentes de LEGO®
MINDSTORMS® (cont.)
Lista de los pasos iniciales para realizar una aplicación
utilizando uno o más de los componentes del NXT:
Ir a la paleta y haga clic en "Not ready for prime time".
Arrastre un componente BluetoothClient y suéltelo en el Visor.
El componente automáticamente se llamará
"BluetoothClient1".
En la Paleta, haga clic en "LEGO MINDSTORMS".
Arrastre uno de los componentes, por ejemplo
NxtDirectCommands, y suéltelo en el Visor.
En el cuadro Propiedades, haga clic en el área después de
BluetoothClient (actualmente “Not ...").
Aparece un cuadro con una lista de todos los componentes
BluetoothClient en su proyecto.
Haga clic en BluetoothClient1 y haga clic en Aceptar.
Si lo desea, agregue otro componente, por ejemplo
NxtColorSensor, y repita los pasos 6-8 para fijar su propiedad
BluetoothClient.
CI-2657 Robótica
App Inventor
27
Componentes de LEGO®
MINDSTORMS® (cont.)
NxtDirectCommands. Proporciona una
interfaz de bajo nivel para un robot LEGO
MINDSTORMS NXT, con funciones para
enviar comandos directos al NXT.
NxtColorSensor. Proporciona una interfaz de
alto nivel para el sensor de color.
NxtLightSensor. Proporciona una interfaz de
alto nivel para el sensor de luz.
NxtSoundSensor. Proporciona una interfaz de
alto nivel para el sensor de sonido.
CI-2657 Robótica
App Inventor
28
Componentes de LEGO®
MINDSTORMS® (cont.)
NxtTouchSensor. Proporciona una interfaz de
alto nivel para el sensor de tacto.
NxtUltrasonicSensor. Proporciona una
interfaz de alto nivel para el sensor
ultrasónico.
NxtDrive. Proporciona una interfaz de alto
nivel para un robot LEGO MINDSTORMS
NXT, con funciones para mover y girar el
robot.
URL:
http://appinventor.mit.edu/explore/content/l
ego-mindstorms.html.
CI-2657 Robótica
App Inventor
29
Referencias Bibliográficas
Bagnall, Brian. Intelligence Unleashed:
Creating LEGO NXT Robots with Java.
Variant Press. Septiembre, 2011.
Wolber, David; Abelson, Hal; Spertus, Ellen;
& Looney, Liz. “App Inventor: Create Your
Own Android Apps”. O'Reilly Media. Mayo,
2011.
AppInventor. URL:
http://appinventor.mit.edu/explore/.
Documentación de Referencia. URL:
http://appinventor.mit.edu/explore/content/r
eference-documentation.html.
CI-2657 Robótica
App Inventor
30
CI-2657 Robótica
App Inventor
31
¡Gracias!
M.Sc. Kryscia Daviana Ramírez Benavides
Profesora e Investigadora
Universidad de Costa Rica
Escuela de Ciencias de la Computación e Informática
Sitio Web:
E-Mail:
Redes Sociales:
CI-2657 Robótica
App Inventor
http://www.kramirez.net/
[email protected]
[email protected]
32