| App Scripts is great and together with Sheets it almost feel like a tiny functions + db serverless engine. Having used it significantly, I found two main qualms that prevented me from investing more in the platform: 1. It is just JS syntax but the runtime and the “standard library” are completely different than node.js. For example there’s a weird UrlFetch class instead of xhr/fetch. It’s a never ending learning curve so much it feels like another language. Any async support is also non existent, that means no setTimeout, no Promise, no async/await (unless they added it recently with the move to ES6) 2. Due to 1, the library ecosystem is very limited. A library in GAS is just another GAS script that you import by referencing its ID (the long one in the URL). Scripts can be public so you can import other people’s code. However no npm, no lodash and friends. You can dev locally using clasp, so you can use git/npm/.., and package your code with webpack or something so it runs on GAS. However this only works for npm libs that do not depend on the usual JS environment and APIs. Lodash will work, anything network related won’t for example. All in all Google App Script is more of a hassle than it’s worth so I only use it in specific cases, but I wish for a similarly accessible sheet+code environment that can also serve HTML, just with a better JS runtime. Oh and don’t get me started on the development/deployment lifecycle. |