App Inventor

32
App Inventor CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides

Transcript of App Inventor

Page 1: App Inventor

App Inventor

CI-2657 Robótica M.Sc. Kryscia Ramírez Benavides

Page 2: App Inventor

¿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

Page 3: App Inventor

¿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

Page 4: App Inventor

¿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

Page 5: App Inventor

¿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

Page 6: App Inventor

¿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

Page 7: App Inventor

¿Qué es App Inventor? (cont.)

CI-2657 Robótica App Inventor

7

Page 8: App Inventor

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

Page 9: App Inventor

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

Page 10: App Inventor

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.

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.

CI-2657 Robótica App Inventor

10

Page 11: App Inventor

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

Page 12: App Inventor

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

Page 13: App Inventor

CI-2657 Robótica App Inventor

13

Page 14: App Inventor

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

Page 15: App Inventor

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=0AgIdRCXI87uXdEZxR0ppRGZkNENpbDZuQnY3a0wyenc#gid=0

CI-2657 Robótica App Inventor

15

Page 16: App Inventor

CI-2657 Robótica App Inventor

16

Page 17: App Inventor

CI-2657 Robótica App Inventor

17

Page 18: App Inventor

CI-2657 Robótica App Inventor

18

Page 19: App Inventor

CI-2657 Robótica App Inventor

19

Page 20: App Inventor

CI-2657 Robótica App Inventor

20

URL: http://beta.appinventor.mit.edu/#2187034

Page 21: App Inventor

App Inventor Designer - Editor Visual de Componentes

CI-2657 Robótica App Inventor

21

Paleta de componentes

Visor de componentes

insertados

Árbol de componentes y multimedia

Propiedades de componentes

Page 22: App Inventor

App Inventor Blocks Editor - Editor de Bloques

CI-2657 Robótica App Inventor

22

Page 23: App Inventor

App Inventor Blocks Editor - Editor de Bloques

CI-2657 Robótica App Inventor

23

Page 24: App Inventor

Editor de Bloques (cont.)

CI-2657 Robótica App Inventor

24

Evento Asignación de valores a variables

Llamadas a acciones

Page 25: App Inventor

Ejecución en Emulador

CI-2657 Robótica App Inventor

25

Page 26: App Inventor

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

Page 27: App Inventor

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

Page 28: App Inventor

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

Page 29: App Inventor

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/lego-mindstorms.html.

CI-2657 Robótica App Inventor

29

Page 30: App Inventor

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/reference-documentation.html.

CI-2657 Robótica App Inventor

30

Page 31: App Inventor

31 CI-2657 Robótica App Inventor

Page 32: App Inventor

32

¡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: http://www.kramirez.net/ E-Mail: [email protected] [email protected] Redes Sociales:

CI-2657 Robótica App Inventor