April 18th, 2017 by Simon Bor
software development api integration
Chris, one of Inflectra's latest interns, has created a brand new way to get data into SpiraTeam: Google Sheets. Google Sheets is great product, letting you create spreadsheets from anywhere at anytime. While it's great for us as consumers to use, what's it like for a developer? Chris explains some plusses and minuses to working with the Google Sheets API.
Three reasons Google Sheets is good for developers
- The IDE is very, very easy to access: all the files live on Google drive so you can access them anywhere, and build in Google's IDE from anywhere--it's completely cross-platform.
- The documentation is really robust: Google has put a lot of effort into producing lots of docs, with different examples explaining the API pretty well. Often documentation gives one best case example, which is not that useful in a real world context.
- Deployment is straightforward: you deploy to the Sheet Add-Ons store straight from the IDE. The process is a breeze, and everything is hosted for you with easy version control.
Three areas Google Sheets should improve
- Outdated JavaScript: the Google App Script (GAS) engine uses a custom flavor of JavaScript. It's got lots of useful functionality but is also significantly behind the latest Javascript iterations (no ES6 in sight).
- Unpredictable and Non-Standard: in the couple of months the project lasted, there were two moderate-level problems that were uncovered and patched to the GAS engine. These caused annoying and unexpected side effects in the code base. Google should also do a better job explaining the differences between a web app and an add-on--the distinction is vague.
- Optimization: we rely heavily on making a lot of API calls to transfer data to SpiraTeam. These all run on Google's servers, which could explain the poor performance. There is a non-zero level of effort needed to understand how to avoid basic application lag by structuring the code to properly use GAS's internal and external calls.