GAS活 #4 「Claspを用いた モダンGAS開発」

GAS活 #4 「Claspを用いた モダンGAS開発」

0479057e04d0dbef40692b5f171f60e4?s=128

takanakahiko

May 20, 2019
Tweet

Transcript

  1. Claspを用いた モダンGAS開発 takanakahiko @ GAS活 #4

  2. Instructions あとで公開します ハッシュタグでTwitterにリンクを掲載します. 内容は変わるかもしれません. 再利用スライドが多いです 2回目の人はすみません... 撮影 撮影OK! 撮影ダメなスライドでは以下の表示をします. -

    Cameras allowed - More info at https:/ /speakerdeck.com/takanakahiko - Please Impression to @takanakahiko 2
  3. Hello! I am takanakahiko I like Pripara, Drawing and Programming.

    Graduate Student(Grade M2) at Takushoku Univ. Work at GaiaX Co.Ltd. and Japan Digital Design, Inc. You can find me at @takanakahiko 3
  4. GASの メリット/デメリット 悪いところを知ると,良さを引き出せる 1

  5. GASのメリット ◉ G suiteのサービスを扱える ◉ トリガーの選択肢が多い ◉ ブラウザ上で記述できる ◉ 環境カスタマイズの必要がない

    「手軽な G Suite マクロ環境」という位置づけ 5
  6. GASのメリット ◉ G suiteのサービスを扱える ◉ トリガーの選択肢が多い ◉ ブラウザ上で記述できる ◉ 環境カスタマイズの必要がない

    「手軽な G Suite マクロ環境」という位置づけ 6 注目
  7. それは本当にメリット? ◉ ブラウザ上で記述できる ◉ 環境カスタマイズの必要がない 7 ◉ ブラウザ上でしか記述できない ◉ 環境がカスタマイズできない

  8. Google Apps Scriptのデメリット ブラウザでしか記述できない ◉ いつものエディタで書きたい...! 環境がカスタマイズできない ◉ 古いタイプのJS ->

    拡張性に難 8
  9. GASの新しい書き方 GASは”古い技術”じゃない 2

  10. Clasp Develop Apps Script projects locally. 10

  11. 11 Claspとは ローカル(オフライン)で書いたコードを GASにPush & Pull できるCLIツール

  12. 作業の流れ 1. ClaspとGASを連携する 2. 手元でコードを書く 3. ClaspでPushする 4. 実行する 5.

    エラーがあれば2に戻る ...手間では?(いやそんなことはなく) 12
  13. Super Awesome Tools & Utilities Clasp 13 ローカルで書くことで使える ローカルで書けるようにする Claspの有効活用

  14. Clasp & [???] Claspは組み合わせで真価を発揮します 3

  15. 組み合わせられるツール群 ◉ Git : バージョン管理ツール ◉ ES(TS)Lint : ソースコードのチェックツール ◉

    VS Code 他(Editor) : 使い慣れたエディタを ◉ TypeScript : 型を扱えるJavaScript And more ... 15
  16. TypeScriptを使う利点(ex : VSCode) ◉ 引数をいちいち調べる必要がない ◉ エディタで補完が使えるようになる 16 createAlldayEventメソッドは こういう引数を渡すと

    ... こういうデータが取得できる
  17. Usage 17 $ clasp create ◉ GASプロジェクトを作成 $ clasp push

    ◉ ソースコードをアップロード
  18. DEMO • $ npx sao clasp でプロジェクト作成 ◦ 参考 :

    https://www.npmjs.com/package/sao-clasp • $ clasp create --rootDir ./src でGASプロジェクト作成 • $ clasp push でソースコードのアップロード
  19. OSSとしてのGAS GASはよりオープンに 4

  20. ClaspはOSSです OSSとは ◉ ソースコードが公開されているソフトウェア ◉ 誰でもContribute(貢献)できます つまり ◉ Claspについて独学が可能 ◉

    機能の提案や議論が可能 20
  21. OSS貢献のすすめ ◉ OSSを使う ◉ OSSの開発に参画する 21

  22. • Google Apps Script (GAS) の本を書きました -> • GAS流行れ流行れ.... •

    GASが便利になるツールClaspを良くしよう (動機が不純すぎる) 22 きっかけ
  23. • https:/ /github.com/google/clasp/issues/57 • 「対話形式に操作をしたいよね」というIssue 23 はじめてのContribution

  24. • 方針が決まっているものを実装しよう! ◦ 「こうしよう」「でも手が足りない」というやつ • タイポの修正をしよう! • 質問系のIssueに対応しよう! あまり考えなくても(答えが決まってる),貢献できるやつをやる 24

    スタンス
  25. • レビューされないとマージされない仕組みがある ◦ メンテナが責任持ってレビュー • 自動でテストする仕組み ◦ CIであったりでテストが通らないとマージできない -> (一般的に)PR出すだけでは迷惑にならない

    25 ミスして迷惑かけるかも?
  26. 26 1位 : Googler 2位 : Googler 3位 : ぼく

    気が付いたら
  27. Any questions ? You can find me at • @takanakahiko

    • takanakahiko@gmail.com Thanks! 27