Blockly

Blockly
Información sobre la plantilla
Parte de la familia Lenguaje de programación.
CreadorNeil Fraser, Quynh Neutron, Ellen Spertus, Mark Friedman
Lanzamiento inicialmayo de 2012
LicenciaApache 2.0

Blockly.Cliente de librerías de JavaScript, para crear lenguajes de programación visuales y editores basados en bloques (VPLs). Es un proyecto de Google y es software libre y de código abierto liberado bajo la Licencia de Apache 2.0.1, normalmente se ejecuta en un navegador de web, y visualmente se parece al lenguaje de Scratch. Blockly también está siendo implementado para los Sistemas Operativos de móviles, Androide e iOS, ya que no todas las características de los navegadores de web están disponibles para estos.

Permite a los programadores principiantes a concentrarse en la lógica. Se le ofrece una serie de comandos y cómo se pueden colocar juntos. No hay paréntesis desequilibrados, cadenas de escape, no hay puntos y coma que falten.

Historia

El desarrollo de Blockly empezó en verano de 2011. La primera versión pública fue en mayo de 2012 en Maker Faire. Blockly fue originalmente diseñado como sustitución para OpenBlocks en App Inventor. Neil Fraser empezó el proyecto con Quynh Neutron, Ellen Spertus, y Mark Friedman, siendo estos sus colaboradores.

Quizás algunos les suene el nombre de AppInventor, un software que Google dejó de lado en una de sus múltiples reestructuraciones, y que el MIT reabrió como proyecto de software libre. Pues parece que aquí no quedó el proyecto, ya que Google acaba de informar la creación de un nuevo lenguaje de programación, de nuevo enfocado a atraer el entusiasmo juvenil hacia la informática, y con el nombre de Blockly. La premisa es clara. La programación se hace a modos de bloques de un puzzle que se van colocando en el tablero.

Características

  • Basado en web utilizando Gráficos Vectoriales Escalables (SVG), no Flash.
  • Completamente creado el cliente con JavaScript.
  • Soporte de los mayores navegadores web, incluyendo: Chrome, Firefox, Safari, Opera, Internet Explorer (IE).
  • Soporte móvil sobre Android e iOS.
  • Soporte para muchos constructores de programación incluyendo variables, funciones y arrays.
  • Fácil de extender con bloques personalizados. Uso de Block Factory para hacer bloques nuevos.
  • Generación de código limpio.
  • Ejecución del código paso a paso para poder limpiar y corregir el código más fácilmente, hacer debug.
  • Traducido a más de 50 idiomas.
  • Soporta tanto código que se lee de izquierda a derecha como el que se lee de derecha a izquierda.
  • Entre las muchas características que posee Blockly podemos mencionar que es capaz de exportar código a varios lenguajes como JavaScript, Python, PHP, Lua, Dard, Xml.
  • También permite crear tus propios bloques para personalizar y/o crear tu propio editor, por ejemplo: Visualino entorno de programación visual para Arduino esta basado en Google Blockly.

Interfaz de usuario

La interfaz gráfica de usuario (GUI) por defecto del editor de Blockly consta de una barra de herramientas, la cual tiene los bloques disponibles, y donde un usuario puede seleccionar los bloques; y un Workspace, donde un usuario puede arrastrar y soltar y reorganizar los bloques. El Workspace también incluye, por defecto, iconos de zoom, y una papelera de reciclaje para eliminar bloques. El editor se puede modificar fácilmente para personalizar y limitar las características editables y los bloques.

Personalización

  • Incluye un conjunto de bloques visuales para poder llevar a cabo operaciones comunes, y puede ser personalizado para añadir más bloques nuevos. Los bloques nuevos requieren una definición de bloque y un generador:
  • La definición describe el aspecto del bloque (interfaz de usuario).
  • El generador describe la traducción del bloque a código ejecutable.

Las definiciones y los generadores pueden escribirse en Javascript o utilizando un conjunto visual de bloques, el Block Factory, el cual deja bloques nuevos para ser descritos utilizando bloques visuales existentes.

Aplicaciones

Se utiliza en varios proyectos notables, la mayoría con un objetivo académico, incluyendo:

  • El App Inventor de MIT, para crear aplicaciones para Android.
  • Juegos de Blockly, un conjunto de juegos educativos que enseña a programar conceptos básicos como bucles y condiciones.
  • Code.org, para introducir a millones de estudiantes a la programación en su "Hora de Programar Código".
  • RoboBlockl y, un entorno robótico simulado basado en un buscador web para aprender a programar y mejorar en las matemáticas.
  • Wonder Workshop, para controlar a sus robots educativos.
  • KodeKLIX, para controlar ensamblar sus componentes electrónicos.
  • PICAXE, para controlar sus microchips educativos.
  • SAM Labs, en STEAM para desarrollo de soluciones educacionales al aprender código.

Disponibilidad

  • Está disponible tanto para desarrolladores como educadores:
  • Para educadores https://blockly-games.appspot.com/?lang=es El cual cuenta con una serie de juegos para que el estudiante aprenda a programar jugando, Disponible en varios idiomas, incluido el español.
  • Para desarrolladores https://developers.google.com/blockly . Un poco más complejo ya que este esta destinado para quienes deseen trabajar con esta biblioteca en las diferentes plataformas que soporta como son aplicaciones web o dispositivos móviles (Android/IOS).

Véase también

Referencias