水面下の夢

競プロやイラストに興味があります.メインブログがここ.同人サークル「かのらぶ」のページはこっち( https://yumechi0525.amebaownd.com ).ブログアイコンはYaQ(@8_9_00)さんから.

Google Apps Scriptを触っていたので所感とか

思い返せばこんな感じでいっぱい触っていた。

yumechi0525.hatenablog.com

yumechi0525.hatenablog.com

yumechi0525.hatenablog.com

yumechi0525.hatenablog.com

あとこれらに加えて、更にGoogle Apps Scriptと言うものを少しだけ触る機会があり、実際にスプレッドシートにデータとかログとか書き込んで、簡易データベース付きのWebアプリみたいなものを仕事の合間に作っていました。(動く前に見れなくなってしまったので、どうなったのかはわからない、設計がめちゃくちゃでむりやり動かしていたのでバグってそう)

Google Apps Scriptの話を少しだけしようと思います。

Google Apps Scriptとは

公式ページをまずは見ましょう。

developers.google.com

Google SpreadSheetとかだけではなく、Goole DriveやGmailの操作も出来てしまう優れもの(困ったちゃん?)です。Gmaiと上手く組み合わせると認証も出来るようですね。(ぐぐるといっぱい出てくるので、そのへんは省略…)

アクセスポイントを用意してAPIのように叩くことも可能です。 しかし、Google Spread Sheetとかをその場合はDBのように使う必要があるので… はい、相当つらいです(噂によればベータ版で永遠に開発が進んでいないDBみたいなものもあるみたいですが、よくわかりません)

sampleをちょっと動かしてみると雰囲気がわかるかと思います。

実際使ってみて

Webサイトとかのバックグラウンドで動かすものとしては厳しいものがあるかなと感じました。 理由としては

  • サポートしているJavaScriptバージョンが古く辛い
  • テスト駆動っぽくやる場合にはモックを定義する必要があるため、サクッとできず辛い
  • Google Spread Sheetにデータを書き込むため、データが多ければ多いほど探すのが大変
    • 結局プログラムで結合を表現するような形になるので毎回シートごと探索するような形になってしまう

などなどです。

しかし一方で手軽にデータを書き込んで取り出して、というAPIのように扱うことが出来るというのはメリットとして大きいと思うので、個人用のアプリを作って見る分には良いかなと思います…(ただ公開するサービスだとやっぱりパフォーマンス面で無理では?感がする)

正直色々準備するの大変だし、単一のテーブルからしかデータ引っ張らないようなごく小規模のシステムならうまくいくかもしれません…。個人又はチームでの作業くらいでしか使わない想定なんだろうなあ。

それとnpmのパッケージを上手く使うとGoogle Apps Scriptをローカルで書くことができますが、そうでない場合はあのWebのエディタを使うことになるんですかね? 何かアプリを作るときはバージョン管理するのは基本みたいなところがあるので、結構やりづらそうです。

まとめ

何が言いたかったかと言えば、ExcelとかでVBAとかありますけど、あれと同じようにGoole SpreadSheetもスクリプトで操作できるのです! ブラウザさえあればデータの読み書きを自然に学びながらプログラミングが学べる可能性もあるのです! ということです。

ただし資料も少ないし、ローカルで管理することも難しい等の問題もあり、初心者が触るにはハードルが高すぎるのかもしれません、でもアイディアがうまいこと組み合わされば面白いツールに化ける可能性も十分あるかな…! と個人的には思いました!

まとまりがないから終わり。機会がなければ二度と触らないだろうなあ。。。