Claspを用いたモダンGAS開発takanakahiko @ GAS活 #4
View Slide
Instructionsあとで公開しますハッシュタグでTwitterにリンクを掲載します.内容は変わるかもしれません.再利用スライドが多いです2回目の人はすみません...撮影撮影OK!撮影ダメなスライドでは以下の表示をします.- Cameras allowed- More info at https://speakerdeck.com/takanakahiko- Please Impression to @takanakahiko2
Hello!I am takanakahikoI 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 @takanakahiko3
GASのメリット/デメリット悪いところを知ると,良さを引き出せる1
GASのメリット◉ G suiteのサービスを扱える◉ トリガーの選択肢が多い◉ ブラウザ上で記述できる◉ 環境カスタマイズの必要がない「手軽な G Suite マクロ環境」という位置づけ5
GASのメリット◉ G suiteのサービスを扱える◉ トリガーの選択肢が多い◉ ブラウザ上で記述できる◉ 環境カスタマイズの必要がない「手軽な G Suite マクロ環境」という位置づけ6注目
それは本当にメリット?◉ ブラウザ上で記述できる◉ 環境カスタマイズの必要がない7◉ ブラウザ上でしか記述できない◉ 環境がカスタマイズできない
Google Apps Scriptのデメリットブラウザでしか記述できない◉ いつものエディタで書きたい...!環境がカスタマイズできない◉ 古いタイプのJS -> 拡張性に難8
GASの新しい書き方GASは”古い技術”じゃない2
ClaspDevelop Apps Script projects locally.10
11Claspとはローカル(オフライン)で書いたコードをGASにPush & Pull できるCLIツール
作業の流れ1. ClaspとGASを連携する2. 手元でコードを書く3. ClaspでPushする4. 実行する5. エラーがあれば2に戻る...手間では?(いやそんなことはなく)12
Super AwesomeTools & UtilitiesClasp13ローカルで書くことで使えるローカルで書けるようにするClaspの有効活用
Clasp & [???]Claspは組み合わせで真価を発揮します3
組み合わせられるツール群◉ Git : バージョン管理ツール◉ ES(TS)Lint : ソースコードのチェックツール◉ VS Code 他(Editor) : 使い慣れたエディタを◉ TypeScript : 型を扱えるJavaScriptAnd more ...15
TypeScriptを使う利点(ex : VSCode)◉ 引数をいちいち調べる必要がない◉ エディタで補完が使えるようになる16createAlldayEventメソッドは こういう引数を渡すと ... こういうデータが取得できる
Usage17$ clasp create◉ GASプロジェクトを作成$ clasp push◉ ソースコードをアップロード
DEMO● $ npx sao clasp でプロジェクト作成○ 参考 : https://www.npmjs.com/package/sao-clasp● $ clasp create --rootDir ./src でGASプロジェクト作成● $ clasp push でソースコードのアップロード
OSSとしてのGASGASはよりオープンに4
ClaspはOSSですOSSとは◉ ソースコードが公開されているソフトウェア◉ 誰でもContribute(貢献)できますつまり◉ Claspについて独学が可能◉ 機能の提案や議論が可能20
OSS貢献のすすめ◉ OSSを使う◉ OSSの開発に参画する21
● Google Apps Script (GAS) の本を書きました ->● GAS流行れ流行れ....● GASが便利になるツールClaspを良くしよう(動機が不純すぎる)22きっかけ
● https://github.com/google/clasp/issues/57● 「対話形式に操作をしたいよね」というIssue23はじめてのContribution
● 方針が決まっているものを実装しよう!○ 「こうしよう」「でも手が足りない」というやつ● タイポの修正をしよう!● 質問系のIssueに対応しよう!あまり考えなくても(答えが決まってる),貢献できるやつをやる24スタンス
● レビューされないとマージされない仕組みがある○ メンテナが責任持ってレビュー● 自動でテストする仕組み○ CIであったりでテストが通らないとマージできない-> (一般的に)PR出すだけでは迷惑にならない25ミスして迷惑かけるかも?
261位 : Googler 2位 : Googler3位 : ぼく気が付いたら
Any questions ?You can find me at● @takanakahiko● [email protected]Thanks!27