いつもとは趣向を変えた内容を書いてみます。
このブログは今まで、地域おこしやフォトグラフィーに関してインプットしたものを能動的にアウトプットする場所にしていたのですが、関連するスキルセットがあまりにも偏りすぎていて、とある方面から心配をされていたようです。苦笑
ブログの方向性でいくらか悩むところがあった中でそんなきっかけもあったので、意図的に避けていたデータサイエンス、プログラミング系のトピックも書き始めようと思います。トピックが多少雑多になりますが、那須野拓実の人となりが伝わればこのブログの目的は達成するので、まぁいいのかなと思います。
ということで、最近いじり始めたGoogle Apps ScriptによるWebアプリ実装について、雑多にメモを書いて思考整理してみます。それではスタート。
Google Apps Scriptとは
Google Apps Scriptのメリット
Google Apps Scriptのデメリット
(画像再掲)
Webアプリ実装の方法はいくつか存在するようですが、分かりやすいのはHTML serviceを活用した方法です。URLアクセス時の起点となるdoGet関数でhtmlファイルを読み込んで表示できます。ロード時にApps Scriptを使うことで動的なコンテンツの表示ができるうえ、もちろん他アプリのデータを引用したり、逆に更新したりもできます。
Javascriptが使えるので、いったんロードした後はJavascriptを通じてのコントロールが可能です。jQuery万歳です。ただし、Javascriptはクライアントサイドで動くので、Spreadsheetを始めとしたサーバーサイドにある他アプリを操作するにはGS上の関数を経由する必要があります。その時に使うのが「google.script.run」というコードです。「withSuccessHandler」と組み合わせて、サーバーサイドで実行する関数、クライアントサイドで実行する関数を指定する形式です。(サーバーサイドでの関数処理はAjax、つまり非同期通信なので、多少のタイムラグがある点は注意が必要です。)
こんな感じでうまく連携させれば、とりあえず動くWebアプリが作れます。
・・・メリットは、とにかく楽。これに尽きます。デメリットのことも考えると、比較的小さな部署単位での業務改善向けでしょう。そのあたりの傾向はExcel VBAと似ていますね。システム投資に制約のある会社では重宝がられそうな技術ですが、中長期目線でのしっかりしたシステム開発を見据えたうえでの”つなぎ”という位置づけが適当な気がします。
一番身近なのに全く使われてなくて、迷えるオフィスワーカー達を救ってくれそうなのに色々未完成なツール、そんなイメージでした。