# Google Apps Script

Apps Script es un lenguaje de scripting para el desarrollo de aplicaciones ligeras en la plataforma G Suite. Se basa en Javascript 1.6 con algunas partes de 1.7 y 1.8 y proporciona un subconjunto de la API ECMAScript 5, sin embargo en vez de ejecutarse en el cliente, se ejecuta en Google Cloud. Según Google, Apps Script "proporciona formas fáciles de automatizar tareas en productos de Google y servicios de terceros." Apps Script es también la herramienta que complementa los complementos para Google Docs, Hojas y Presentaciones.

## Beneficios

* Basado en Javascript; fácil de aprender.
* Depurador basado en la nube para la depuración de scripts de aplicaciones en el navegador web
* Puede utilizarse para crear herramientas simples para el consumo interno de una organización
* Se puede utilizar para realizar tareas simples de administración del sistema
* Modelo de soporte basado en la comunidad.

## Limitaciones

* Limitaciones de procesamiento: como un servicio basado en la nube, Apps Script limita el tiempo que puede ejecutarse el script de un usuario, así como también limita el acceso a los servicios de Google..
* Actualmente, Google Apps Store no permite la conexión directa a bases de datos corporativas internas (detrás del firewall), lo cual es clave para crear aplicaciones de negocios. Sin embargo, mediante el uso del servicio JDBC, esto puede superarse, si las conexiones se permiten desde los servidores de Google. al servidor interno de la base de datos. De manera similar, la falta de otra conectividad, como la conectividad LDAP, limita el nivel al que se puede usar GAS en la empresa.
* Debido a la naturaleza en la nube de Apps Script, las funciones relacionadas con la fecha y la hora producirán resultados que parecen ser incorrectos debido a que los datos cruzan las zonas horarias. El uso de objetos y funciones de fecha / hora sin una declaración muy precisa y pruebas exhaustivas puede resultar en resultados inexactos.

## Ejemplo

El siguiente código utiliza los Servicios de UI de Script de Apps y los Servicios de DocList para mostrar el contenido de una carpeta de Google Drive en formato de árbol.
Observe el uso de Javascript y el uso de los widgets Google Web Toolkit (Google también introdujo el Servicio HTML en junio de 2012, como alternativa a los widgets de GWT. Le permite servir páginas web que pueden interactuar con las funciones de Script de aplicaciones del lado del servidor).
Incrustar HTML en GAS con un widget GWT:

## Complementos

En marzo de 2014, Google introdujo complementos para documentos y hojas (pronto seguidos de formularios). Las tiendas de complementos permiten a los usuarios agregar características adicionales a los editores de Google, como la combinación de correo, flujos de trabajo, constructores de diagramas, ... Todos los complementos están 100% creados con Apps Script o simplemente usan Apps Script para mostrar una interfaz de usuario en los editores de Google mientras confían en un backend externo para realizar algunas tareas. Por ejemplo, MailChimp, una herramienta de combinación de correo, tiene un complemento para Google Docs que se comunica con la plataforma de MailChimp para enviar correos electrónicos.
Antes de los complementos, era posible publicar secuencias de comandos para Google Sheets en la Galería de secuencias de comandos. Cuando los usuarios instalaron scripts a través de esta galería, se instaló una copia del código de Apps Script en la Hoja del usuario. Con los complementos, el código fuente no es visible para el usuario final y todos usan la última versión publicada por el desarrollador. Este nuevo enfoque hace que sea más fácil admitir el código existente y ayudó a convencer a varias compañías, como MailChimp o LucidChart para que inviertan en Apps Script.
Como parte del lanzamiento de complementos, Google también presentó una Guía de estilo de UI y el paquete CSS para ayudar a los desarrolladores a crear complementos que se integren sin problemas en los editores. Google también revisa cada complemento antes de su publicación y los desarrolladores pueden beneficiarse de los consejos de Googlers para brindar una mejor experiencia de usuario. No es posible incrustar anuncios en complementos, pero es posible monetizarlos.