Google Apps Script

Last updated
Apps Script
Developer(s) Google
Initial releaseAugust 19, 2009;15 years ago (2009-08-19) [1]
Written in JavaScript
Type Web application framework, scripting framework
Website script.google.com

Google Apps Script is a scripting platform developed by Google for light-weight application development in the Google Workspace platform. Google Apps Script was initially developed by Mike Harm as a side project while working as a developer on Google Sheets. [2]

Contents

The primary function of Google Apps Script is to facilitate the creation of custom tools for organizations, primarily focusing on automating tasks and simplifying system administration processes. It supports a community-based model for user support.

Google Apps Script was first publicly announced in May 2009 when a beta testing program was announced by Jonathan Rochelle, then Product Manager for Google Docs. [3] In August 2009, Google Apps Script was subsequently made available to all Google Apps Premier and Education Edition customers. [4]

Technical details

Until 2020, Google Apps Script was based on Mozilla's Rhino JavaScript (JS) interpreter, which limited its JS language support to version 1.6, with a subset of the ECMAScript 5 API. [5] In March 2020, Google announced the introduction of the V8 JS runtime, bringing with it full support of modern ECMAScript except for JS modules. [6]

The development environment for Google Apps Script is hosted in the cloud, with an IDE with a debugger for developing scripts directly within a web browser. The infrastructure provided by Google serves as the execution environment for Apps Script projects. This platform enables the automation of tasks across Google services and integration with third-party applications. [7] Additionally, Google Apps Script facilitates the development of add-ons for Google Docs, Sheets, and Slides, enhancing their functionality. [8]

Limitations

Google Apps Script has some processing limitations. As a cloud-based service, Apps Script limits the time that a user's script may run, as well as limiting access to Google services. [9] Currently, the Google Apps Store does not allow direct connections to internal (behind-the-firewall) corporate databases, which is key to building business apps. However, this can be overcome via the use of the JDBC service if connections are allowed from Google servers to the internal database server. [10] Similarly, lack of other connectivity, such as LDAP connectivity, limits the level to which GAS can be used in the enterprise.[ citation needed ] Due to the cloud nature of Apps Script, functions related to date and time will produce results that seem to be incorrect due to the data crossing time zones. Using Date/Time objects and functions without very precise declaration and thorough testing may result in inaccurate results. [11]

Add-ons

In March 2014, Google introduced add-ons for Docs and Sheets (soon followed by Forms). The add-on stores let users add extra features to Google editors, such as mail-merging, workflows, and diagram builders. All add-ons are either 100% built with Apps Script or simply use Apps Script to display a UI in the Google editors while relying on an external back-end to perform some tasks. For example, MailChimp, a mail-merging tool, has an add-on for Google Docs that communicates with MailChimp platform to send emails.

Before add-ons, it was possible to publish scripts for Google Sheets in the Script Gallery. When users installed scripts through this gallery, a copy of the Apps Script code was installed on the user's Sheet. With add-ons, the source code is not visible to the end user, and everyone is using the latest version published by the developer. This new approach makes it easier to support existing code and helped convince several companies, such as MailChimp or Lucidchart to invest in Apps Script.

As part of the add-ons release, Google also introduced a UI Style Guide [12] and CSS package to help developers build add-ons that integrate into the editors. Each add-on is also reviewed by Google before its publication, and developers can benefit from advice from Googlers to provide a better user experience. It is not possible to embed ads in add-ons but it is possible to monetize them. [13]

See also

Related Research Articles

<span class="mw-page-title-main">JavaScript</span> High-level programming language

JavaScript, often abbreviated as JS, is a programming language and core technology of the Web, alongside HTML and CSS. 99% of websites use JavaScript on the client side for webpage behavior.

ECMAScript is a standard for scripting languages, including JavaScript, JScript, and ActionScript. It is best known as a JavaScript standard intended to ensure the interoperability of web pages across different web browsers. It is standardized by Ecma International in the document ECMA-262.

<span class="mw-page-title-main">Adobe AIR</span> Cross-platform runtime system for building rich web applications

Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.

Google Workspace is a collection of cloud computing, productivity and collaboration tools, software and products developed and marketed by Google. It consists of Gmail, Contacts, Calendar, Meet and Chat for communication; Drive for storage; and the Google Docs Editors suite for content creation. An Admin Panel is provided for managing users and services. Depending on edition Google Workspace may also include the digital interactive whiteboard Jamboard and an option to purchase add-ons such as the telephony service Voice.

This is a comparison of web frameworks for front-end web development that are heavily reliant on JavaScript code for their behavior.

<span class="mw-page-title-main">Google App Engine</span> Cloud-based web application hosting service

Google App Engine is a cloud computing platform used as a service for developing and hosting of web applications. Applications are sandboxed and run across multiple Google-managed servers. GAE supports automatic scaling for web applications, allocating more resources to the web application as the amount of requests increases. It was released as a preview in April 2008, and launched officially in September 2011.

V8 is a JavaScript and WebAssembly engine developed by Google for its Chrome browser. V8 is free and open-source software that is part of the Chromium project and also used separately in non-browser contexts, notably the Node.js runtime system.

<span class="mw-page-title-main">Spring Roo</span> Open-source software tool

Spring Roo is an open-source software tool that uses convention-over-configuration principles to provide rapid application development of Java-based enterprise software. The resulting applications use common Java technologies such as Spring Framework, Java Persistence API, Thymeleaf, Apache Maven and AspectJ. Spring Roo is a member of the Spring portfolio of projects.

<span class="mw-page-title-main">Node.js</span> JavaScript runtime environment

Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser.

A browser speed test is a computer benchmark that scores the performance of a web browser, by measuring the browser's efficiency in completing a predefined list of tasks. In general the testing software is available online, located on a website, where different algorithms are loaded and performed in the browser client. Typical test tasks are rendering and animation, DOM transformations, string operations, mathematical calculations, sorting algorithms, graphic performance tests and memory instructions. Browser speed tests have been used during browser wars to prove superiority of specific web browsers. The popular Acid3 test is no particular speed test but checks browser conformity to web standards.

Windows UI Library is a user interface API that is part of the Windows Runtime programming model that forms the backbone of Universal Windows Platform apps for the Windows 8, Windows 8.1, Windows 10 and Windows Phone 8.1 operating systems. It enables declaring user interfaces using Extensible Application Markup Language (XAML) technology.

Backend as a service (BaaS), sometimes also referred to as mobile backend as a service (MBaaS), is a service for providing web app and mobile app developers with a way to easily build a backend to their frontend applications. Features available include user management, push notifications, and integration with social networking services. These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs). BaaS is a relatively recent development in cloud computing, with most BaaS startups dating from 2011 or later. Some of the most popular service providers are AWS Amplify and Firebase.

Google APIs are application programming interfaces (APIs) developed by Google which allow communication with Google Services and their integration to other services. Examples of these include Search, Gmail, Translate or Google Maps. Third-party apps can use these APIs to take advantage of or extend the functionality of the existing services.

<span class="mw-page-title-main">Google Sheets</span> Cloud-based spreadsheet software

Google Sheets is a spreadsheet application and part of the free, web-based Google Docs Editors suite offered by Google. Google Sheets is available as a web application; a mobile app for: Android, iOS, and as a desktop application on Google's ChromeOS. The app is compatible with Microsoft Excel file formats. The app allows users to create and edit files online while collaborating with other users in real-time. Edits are tracked by which user made them, along with a revision history. Where an editor is making changes is highlighted with an editor-specific color and cursor. A permissions system regulates what users can do. Updates have introduced features that use machine learning, including "Explore", which offers answers based on natural language questions in the spreadsheet. Sheets is one of the services provided by Google that also includes Google Docs, Google Slides, Google Drawings, Google Forms, Google Sites and Google Keep.

<span class="mw-page-title-main">Ionic (mobile app framework)</span> Open-source framework to develop hybrid mobile apps

Ionic is an open-source UI toolkit for building cross-platform mobile, web, and desktop applications using web technologies such as HTML, CSS, and JavaScript/TypeScript. It provides a set of pre-designed UI components and tools for building high-quality, interactive applications. Ionic was originally built as a complete open-source SDK for hybrid mobile app development created by Max Lynch, Ben Sperry, and Adam Bradley of Drifty Co. in 2013. The original version was released in 2013 and built on top of AngularJS and Apache Cordova. However, the latest release was re-built as a set of Web Components using StencilJS, allowing the user to choose any user interface framework, such as Angular, React or Vue.js. It also allows the use of Ionic components with no user interface framework at all. Ionic provides tools and services for developing hybrid mobile, desktop, and progressive web apps based on modern web development technologies and practices, using Web technologies like CSS, HTML5, and Sass. In particular, mobile apps can be built with these Web technologies and then distributed through native app stores to be installed on devices by utilizing Cordova or Capacitor.

<span class="mw-page-title-main">Google Docs</span> Cloud-based word processing software

Google Docs is an online word processor and part of the free, web-based Google Docs Editors suite offered by Google. Google Docs is accessible via an internet browser as a web-based application and is also available as a mobile app on Android and iOS and as a desktop application on Google's ChromeOS.

Crosswalk Project was an open-source web app runtime built with the latest releases of Chromium and Blink from Google. The project was founded by Intel's Open Source Technology Center in September 2013.

This is a list of articles related to the JavaScript programming language.

AppSheet is an application that provides a no-code development platform for application software, which allows users to create mobile, tablet, and web applications using data sources like Google Drive, DropBox, Office 365, and other cloud-based spreadsheet and database platforms. The platform can be utilized for a broad set of business use cases including project management, customer relationship management, field inspections, and personalized reporting.

References

  1. Meyer, David (August 20, 2009). "Google Apps Script gets green light". CNet. Retrieved 26 March 2011.
  2. Koleda, Eric (August 21, 2019). "Celebrating 10 years of Apps Script: looking back on how it started". Google Cloud Blog. Retrieved 22 August 2019.
  3. Rochelle, Jonathan (May 27, 2009). "Old tool, new tricks". Google Cloud Blog. Retrieved 22 August 2019.
  4. Levey, Evin (August 19, 2009). "Google Apps Script Launched to Google Apps Premier and Education". Google Apps Script. Retrieved 22 August 2019.
  5. Kienle, Holger (May–June 2010). "It's About Time to Take JavaScript (More) Seriously". IEEE Software. 27 (3): 60–62. doi:10.1109/MS.2010.76. S2CID   11650861. Archived from the original on 29 June 2010. Retrieved 25 March 2011.
  6. "Apps Script's new V8 runtime".
  7. Google Apps Script
  8. Bring a little something extra to Docs and Sheets with add-ons
  9. "Quotas for Google Services | Apps Script".
  10. "JDBC | Apps Script".
  11. "Issue 1035: utilities.formatdate subtracts a day" . Retrieved 17 December 2012.
  12. UI Style Guide for Add-ons
  13. "I've started a little experiment..." Archived from the original on 2017-02-26. Retrieved 2014-11-18.