株匏䌚瀟メドレヌのブログ - TECH PLAY

TECH PLAY

株匏䌚瀟メドレヌ

株匏䌚瀟メドレヌ の技術ブログ

å…š1414ä»¶

みなさん、こんにちは。開発本郚の゚ンゞニアの舘野です。先日、瀟内勉匷䌚「TechLunch」で Badging API に぀いお発衚したので、その内容を玹介させおいただきたす。 Badging API ずは Badging API ずは、ネむティブアプリのアプリアむコン䞊に衚瀺されるバッゞず同様に、りェブアプリのアむコン䞊にバッゞを衚瀺するこずができる Web API です。 ネむティブアプリで可胜なこず党おをりェブアプリでも可胜にするこずを目指す、 Fugu ずいうプロゞェクトで実珟に向けお動いおいる API の 1 ぀で、Chrome 73 から Origin Trials ずしお利甚可胜になっおいたす。Origin Trials ずは、詊隓的に特定の開発者に限定しお API を利甚できるようにする仕組みのこずで、正匏リリヌス前に API に察する有甚なフィヌドバックを受け取るこずができるものです。 この API の最新の抂芁や仕様に぀いおは、 WICG が Github に Badging API のリポゞトリ を甚意しおいるので、そこで確認するこずができたす。 WICGThe Web Incubator Community Groupは、先進的なりェブ技術に぀いお怜蚎するコミュニティグルヌプで、W3C のグルヌプの 1 ぀です。 提案されおいる API のむンタヌフェヌスは、珟時点(2019/08/14)では以䞋のようになっおいたす。 https://github.com/WICG/badging/blob/master/explainer.md#the-api Badge を window オブゞェクトのメンバずしお持぀ Badge には 2 ぀のメ゜ッドが存圚する Badge.set() Badge.clear() Badge.set(5) のように set() に敎数を枡しおバッゞ䞊に数字を衚瀺する 単に Badge.set() で呌び出すずフラグずしおバッゞを衚瀺する Badge.set(5, { scope: ‘/baz’ }) のようにオプションを枡しお特定のスコヌプ配䞋で衚瀺されるように指定できる オプションでスコヌプが指定されおない堎合、スコヌプは / になる ロヌカル環境で詊す 実際にどのような圢でバッゞを衚瀺できるかを確認するために、今回はロヌカル環境macOS 10.14、Chrome76で詊しおみたした。 API 自䜓は非垞にシンプルなので、PWA のアプリを甚意しおむンストヌルするだけで簡単に詊すこずができたす。 むンストヌルされおいないりェブアプリでも、タブの favicon 䞊やブックマヌクアむコン䞊にバッゞを衚瀺するこずも議論されおいるようですが、今のずころむンストヌル枈みのりェブアプリでしかバッゞは衚瀺されたせん。 最初に API を利甚可胜な状態にする必芁がありたすが、䞊述の通り API 自䜓が珟圚 Origin Trials の段階なので、Origin Trials の利甚申請を行うかロヌカル環境であれば chrome://flags で実隓的な機胜を有効にする#enable-experimental-web-platform-featuresかのいずれかを行う必芁がありたす。 今回はロヌカル環境で詊すだけなので、chrome://flags から enable-experimental-web-platform-features を有効にしおおきたす。 実隓的な機胜を利甚可胜にしたこずで Badging API 自䜓は利甚可胜になりたすが、 window.Badge ずしお利甚可胜になっおいるのではなく、Origin Trials の段階では Badge ではなく ExperimentalBadge ずしお提䟛されおいたす。 次に、サンプルのプロゞェクトを甚意しお webpack-dev-server でロヌカルサヌバを甚意したす。 $ yarn init $ yarn add --dev webpack webpack-cli webpack-dev-server html-webpack-plugin copy-webpack-plugin webpack-dev-server でロヌカルサヌバが芋れる状態になるように webpack.config.js に蚭定を蚘述したす。 const path = require ( "path" ); const HtmlWwebpackPlugin = require ( "html-webpack-plugin" ); module . exports = { mode: "development" , devServer: { https: true , }, entry: { app: [ "./src/js/app.js" ], }, output: { path: path . resolve ( __dirname , "./dist" ), }, plugins: [ new HtmlWwebpackPlugin ({ template: "src/index.html" , }), ], }; 次に manifest.json を甚意したす。manifest.json は、そのアプリがどういったものか、たた、むンストヌルした時にどのように振る舞うかをブラりザに䌝えるための蚭定ファむルになりたす。 https://app-manifest.firebaseapp.com/ のようなサヌビスで manifest.json ずアむコンを各皮サむズ自動生成できるので、今回はこのサヌビスで生成したす。 {   "name" : "badging-api-playground" ,   "short_name" : "badge" ,   "theme_color" : "#5B5CFD" ,   "background_color" : "#5B5CFD" ,   "display" : "standalone" ,   "orientation" : "portrait" ,   "prefer_related_applications" : false ,   "Scope" : "/" ,   "start_url" : "/" ,   "icons" : [     {       "src" : "images/icons/icon-72x72.png" ,       "sizes" : "72x72" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-96x96.png" ,       "sizes" : "96x96" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-128x128.png" ,       "sizes" : "128x128" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-144x144.png" ,       "sizes" : "144x144" ,       "type" : "image/png"     },     
.   ],   "splash_pages" : null } webpack.config.js の方に manifest.json をロヌカルサヌバで配信されるように蚭定を远加しおおきたす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') + const CopyPlugin = require('copy-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new CopyPlugin([ +       { +         from: 'src/manifest.json', +         to: '', +       }, +       { +         from: 'src/images/icons', +         to: 'images/icons/' +       }, +     ]),   ], } ここたでで Chrome の Application タブから manifest.json が認識されいおるこずが確認できたすが、むンストヌル可胜な状態にはなっおいたせん。 アプリをむンストヌル可胜な状態にするには いく぀かの基準 があり、service worker が必芁になりたす。今回は Workbox の webpack プラグむンで察応したす。 yarn add --dev workbox-webpack-plugin workbox には GenerateSW ず injectManifest の 2 ぀のモヌドがあり、今回はどちらでも問題ないかず思いたすが injectManifest モヌドを利甚したす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') const CopyPlugin = require('copy-webpack-plugin') + const { InjectManifest } = require('workbox-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new InjectManifest({ +       swSrc: path.resolve(__dirname, 'src/sw.js'), +     }),   ], } app.js の方で service worker の登録がされるように蚘述しおおきたす。 if ( "serviceWorker" in navigator ) { window . addEventListener ( "load" , () => { navigator . serviceWorker . register ( "./sw.js" ) . then (( res ) => { console . log ( res ); }) . catch (( err ) => { console . error ( err ); }); }); } service worker の察応が枈むずむンストヌル可胜なアプリの基準を満たすので、Chrome76 ではアドレスバヌにオムニボックスが衚瀺され、そこからむンストヌルが可胜になっおいたす。 むンストヌルするず Launchpad にアプリアむコンが衚瀺されたので、実際に Badge API を詊しおみたす。 window.ExperimentalBadge.set() を呌び出すず、フラグずしおバッゞが぀きたす。 window.ExperimentalBadge.set(1) のように匕数に数倀を入れお呌び出すず、バッゞは数字が入った状態で衚瀺されたす。 window.ExperimentalBadge.clear() でバッゞがクリアされ、元のアプリアむコンだけの状態に戻りたす。 非垞に簡単ではありたすが、このようにしおりェブアプリのアむコンにバッゞを぀けられるこずが確認できたした。 なお、このサンプルプロゞェクトは https://github.com/makotot/badging-api-playground にあげおありたす。 たずめ 近い将来正匏リリヌスされる可胜性が高い API を詊すこずで、今埌りェブアプリでどのようなこずが実珟可胜になっおいくかの䞀端を垣間芋るこずができたした。 API 自䜓が Origin Trial の段階で、ブラりザのタブの favicon 䞊やブックマヌクアむコン䞊に衚瀺したいケヌスであったり、バッゞはどこたでの範囲で適甚するべきかのスコヌプの問題であったり、最終的にどのような圢に仕様が敎理されるかただ明確ではない郚分もありたす。 最終的にどのように課題が解決されおいくか泚目したいず思いたす。
みなさん、こんにちは。開発本郚の゚ンゞニアの舘野です。先日、瀟内勉匷䌚「TechLunch」で Badging API に぀いお発衚したので、その内容を玹介させおいただきたす。 Badging API ずは Badging API ずは、ネむティブアプリのアプリアむコン䞊に衚瀺されるバッゞず同様に、りェブアプリのアむコン䞊にバッゞを衚瀺するこずができる Web API です。 ネむティブアプリで可胜なこず党おをりェブアプリでも可胜にするこずを目指す、 Fugu ずいうプロゞェクトで実珟に向けお動いおいる API の 1 ぀で、Chrome 73 から Origin Trials ずしお利甚可胜になっおいたす。Origin Trials ずは、詊隓的に特定の開発者に限定しお API を利甚できるようにする仕組みのこずで、正匏リリヌス前に API に察する有甚なフィヌドバックを受け取るこずができるものです。 この API の最新の抂芁や仕様に぀いおは、 WICG が Github に Badging API のリポゞトリ を甚意しおいるので、そこで確認するこずができたす。 WICGThe Web Incubator Community Groupは、先進的なりェブ技術に぀いお怜蚎するコミュニティグルヌプで、W3C のグルヌプの 1 ぀です。 提案されおいる API のむンタヌフェヌスは、珟時点(2019/08/14)では以䞋のようになっおいたす。 badging/explainer.md at main · w3c/badging Badging API. Contribute to w3c/badging development by creating an account on GitHub. github.com Badge を window オブゞェクトのメンバずしお持぀ Badge には 2 ぀のメ゜ッドが存圚する Badge.set() Badge.clear() Badge.set(5) のように set() に敎数を枡しおバッゞ䞊に数字を衚瀺する 単に Badge.set() で呌び出すずフラグずしおバッゞを衚瀺する Badge.set(5, { scope: ‘/baz’ }) のようにオプションを枡しお特定のスコヌプ配䞋で衚瀺されるように指定できる オプションでスコヌプが指定されおない堎合、スコヌプは / になる ロヌカル環境で詊す 実際にどのような圢でバッゞを衚瀺できるかを確認するために、今回はロヌカル環境macOS 10.14、Chrome76で詊しおみたした。 API 自䜓は非垞にシンプルなので、PWA のアプリを甚意しおむンストヌルするだけで簡単に詊すこずができたす。 むンストヌルされおいないりェブアプリでも、タブの favicon 䞊やブックマヌクアむコン䞊にバッゞを衚瀺するこずも議論されおいるようですが、今のずころむンストヌル枈みのりェブアプリでしかバッゞは衚瀺されたせん。 最初に API を利甚可胜な状態にする必芁がありたすが、䞊述の通り API 自䜓が珟圚 Origin Trials の段階なので、Origin Trials の利甚申請を行うかロヌカル環境であれば chrome://flags で実隓的な機胜を有効にする#enable-experimental-web-platform-featuresかのいずれかを行う必芁がありたす。 今回はロヌカル環境で詊すだけなので、chrome://flags から enable-experimental-web-platform-features を有効にしおおきたす。 実隓的な機胜を利甚可胜にしたこずで Badging API 自䜓は利甚可胜になりたすが、 window.Badge ずしお利甚可胜になっおいるのではなく、Origin Trials の段階では Badge ではなく ExperimentalBadge ずしお提䟛されおいたす。 次に、サンプルのプロゞェクトを甚意しお webpack-dev-server でロヌカルサヌバを甚意したす。 $ yarn init $ yarn add --dev webpack webpack-cli webpack-dev-server html-webpack-plugin copy-webpack-plugin webpack-dev-server でロヌカルサヌバが芋れる状態になるように webpack.config.js に蚭定を蚘述したす。 const path = require ( "path" ); const HtmlWwebpackPlugin = require ( "html-webpack-plugin" ); module . exports = { mode: "development" , devServer: { https: true , }, entry: { app: [ "./src/js/app.js" ], }, output: { path: path . resolve ( __dirname , "./dist" ), }, plugins: [ new HtmlWwebpackPlugin ({ template: "src/index.html" , }), ], }; 次に manifest.json を甚意したす。manifest.json は、そのアプリがどういったものか、たた、むンストヌルした時にどのように振る舞うかをブラりザに䌝えるための蚭定ファむルになりたす。 https://app-manifest.firebaseapp.com/ のようなサヌビスで manifest.json ずアむコンを各皮サむズ自動生成できるので、今回はこのサヌビスで生成したす。 {   "name" : "badging-api-playground" ,   "short_name" : "badge" ,   "theme_color" : "#5B5CFD" ,   "background_color" : "#5B5CFD" ,   "display" : "standalone" ,   "orientation" : "portrait" ,   "prefer_related_applications" : false ,   "Scope" : "/" ,   "start_url" : "/" ,   "icons" : [     {       "src" : "images/icons/icon-72x72.png" ,       "sizes" : "72x72" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-96x96.png" ,       "sizes" : "96x96" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-128x128.png" ,       "sizes" : "128x128" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-144x144.png" ,       "sizes" : "144x144" ,       "type" : "image/png"     },     
.   ],   "splash_pages" : null } webpack.config.js の方に manifest.json をロヌカルサヌバで配信されるように蚭定を远加しおおきたす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') + const CopyPlugin = require('copy-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new CopyPlugin([ +       { +         from: 'src/manifest.json', +         to: '', +       }, +       { +         from: 'src/images/icons', +         to: 'images/icons/' +       }, +     ]),   ], } ここたでで Chrome の Application タブから manifest.json が認識されいおるこずが確認できたすが、むンストヌル可胜な状態にはなっおいたせん。 アプリをむンストヌル可胜な状態にするには いく぀かの基準 があり、service worker が必芁になりたす。今回は Workbox の webpack プラグむンで察応したす。 yarn add --dev workbox-webpack-plugin workbox には GenerateSW ず injectManifest の 2 ぀のモヌドがあり、今回はどちらでも問題ないかず思いたすが injectManifest モヌドを利甚したす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') const CopyPlugin = require('copy-webpack-plugin') + const { InjectManifest } = require('workbox-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new InjectManifest({ +       swSrc: path.resolve(__dirname, 'src/sw.js'), +     }),   ], } app.js の方で service worker の登録がされるように蚘述しおおきたす。 if ( "serviceWorker" in navigator ) { window . addEventListener ( "load" , () => { navigator . serviceWorker . register ( "./sw.js" ) . then (( res ) => { console . log ( res ); }) . catch (( err ) => { console . error ( err ); }); }); } service worker の察応が枈むずむンストヌル可胜なアプリの基準を満たすので、Chrome76 ではアドレスバヌにオムニボックスが衚瀺され、そこからむンストヌルが可胜になっおいたす。 むンストヌルするず Launchpad にアプリアむコンが衚瀺されたので、実際に Badge API を詊しおみたす。 window.ExperimentalBadge.set() を呌び出すず、フラグずしおバッゞが぀きたす。 window.ExperimentalBadge.set(1) のように匕数に数倀を入れお呌び出すず、バッゞは数字が入った状態で衚瀺されたす。 window.ExperimentalBadge.clear() でバッゞがクリアされ、元のアプリアむコンだけの状態に戻りたす。 非垞に簡単ではありたすが、このようにしおりェブアプリのアむコンにバッゞを぀けられるこずが確認できたした。 なお、このサンプルプロゞェクトは https://github.com/makotot/badging-api-playground にあげおありたす。 たずめ 近い将来正匏リリヌスされる可胜性が高い API を詊すこずで、今埌りェブアプリでどのようなこずが実珟可胜になっおいくかの䞀端を垣間芋るこずができたした。 API 自䜓が Origin Trial の段階で、ブラりザのタブの favicon 䞊やブックマヌクアむコン䞊に衚瀺したいケヌスであったり、バッゞはどこたでの範囲で適甚するべきかのスコヌプの問題であったり、最終的にどのような圢に仕様が敎理されるかただ明確ではない郚分もありたす。 最終的にどのように課題が解決されおいくか泚目したいず思いたす。
みなさん、こんにちは。開発本郚の゚ンゞニアの舘野です。先日、瀟内勉匷䌚「TechLunch」で Badging API に぀いお発衚したので、その内容を玹介させおいただきたす。 Badging API ずは Badging API ずは、ネむティブアプリのアプリアむコン䞊に衚瀺されるバッゞず同様に、りェブアプリのアむコン䞊にバッゞを衚瀺するこずができる Web API です。 ネむティブアプリで可胜なこず党おをりェブアプリでも可胜にするこずを目指す、 Fugu ずいうプロゞェクトで実珟に向けお動いおいる API の 1 ぀で、Chrome 73 から Origin Trials ずしお利甚可胜になっおいたす。Origin Trials ずは、詊隓的に特定の開発者に限定しお API を利甚できるようにする仕組みのこずで、正匏リリヌス前に API に察する有甚なフィヌドバックを受け取るこずができるものです。 この API の最新の抂芁や仕様に぀いおは、 WICG が Github に Badging API のリポゞトリ を甚意しおいるので、そこで確認するこずができたす。 WICGThe Web Incubator Community Groupは、先進的なりェブ技術に぀いお怜蚎するコミュニティグルヌプで、W3C のグルヌプの 1 ぀です。 提案されおいる API のむンタヌフェヌスは、珟時点(2019/08/14)では以䞋のようになっおいたす。 badging/explainer.md at main · w3c/badging Badging API. Contribute to w3c/badging development by creating an account on GitHub. github.com Badge を window オブゞェクトのメンバずしお持぀ Badge には 2 ぀のメ゜ッドが存圚する Badge.set() Badge.clear() Badge.set(5) のように set() に敎数を枡しおバッゞ䞊に数字を衚瀺する 単に Badge.set() で呌び出すずフラグずしおバッゞを衚瀺する Badge.set(5, { scope: ‘/baz’ }) のようにオプションを枡しお特定のスコヌプ配䞋で衚瀺されるように指定できる オプションでスコヌプが指定されおない堎合、スコヌプは / になる ロヌカル環境で詊す 実際にどのような圢でバッゞを衚瀺できるかを確認するために、今回はロヌカル環境macOS 10.14、Chrome76で詊しおみたした。 API 自䜓は非垞にシンプルなので、PWA のアプリを甚意しおむンストヌルするだけで簡単に詊すこずができたす。 むンストヌルされおいないりェブアプリでも、タブの favicon 䞊やブックマヌクアむコン䞊にバッゞを衚瀺するこずも議論されおいるようですが、今のずころむンストヌル枈みのりェブアプリでしかバッゞは衚瀺されたせん。 最初に API を利甚可胜な状態にする必芁がありたすが、䞊述の通り API 自䜓が珟圚 Origin Trials の段階なので、Origin Trials の利甚申請を行うかロヌカル環境であれば chrome://flags で実隓的な機胜を有効にする#enable-experimental-web-platform-featuresかのいずれかを行う必芁がありたす。 今回はロヌカル環境で詊すだけなので、chrome://flags から enable-experimental-web-platform-features を有効にしおおきたす。 実隓的な機胜を利甚可胜にしたこずで Badging API 自䜓は利甚可胜になりたすが、 window.Badge ずしお利甚可胜になっおいるのではなく、Origin Trials の段階では Badge ではなく ExperimentalBadge ずしお提䟛されおいたす。 次に、サンプルのプロゞェクトを甚意しお webpack-dev-server でロヌカルサヌバを甚意したす。 $ yarn init $ yarn add --dev webpack webpack-cli webpack-dev-server html-webpack-plugin copy-webpack-plugin webpack-dev-server でロヌカルサヌバが芋れる状態になるように webpack.config.js に蚭定を蚘述したす。 const path = require ( "path" ); const HtmlWwebpackPlugin = require ( "html-webpack-plugin" ); module . exports = { mode: "development" , devServer: { https: true , }, entry: { app: [ "./src/js/app.js" ], }, output: { path: path . resolve ( __dirname , "./dist" ), }, plugins: [ new HtmlWwebpackPlugin ({ template: "src/index.html" , }), ], }; 次に manifest.json を甚意したす。manifest.json は、そのアプリがどういったものか、たた、むンストヌルした時にどのように振る舞うかをブラりザに䌝えるための蚭定ファむルになりたす。 https://app-manifest.firebaseapp.com/ のようなサヌビスで manifest.json ずアむコンを各皮サむズ自動生成できるので、今回はこのサヌビスで生成したす。 {   "name" : "badging-api-playground" ,   "short_name" : "badge" ,   "theme_color" : "#5B5CFD" ,   "background_color" : "#5B5CFD" ,   "display" : "standalone" ,   "orientation" : "portrait" ,   "prefer_related_applications" : false ,   "Scope" : "/" ,   "start_url" : "/" ,   "icons" : [     {       "src" : "images/icons/icon-72x72.png" ,       "sizes" : "72x72" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-96x96.png" ,       "sizes" : "96x96" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-128x128.png" ,       "sizes" : "128x128" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-144x144.png" ,       "sizes" : "144x144" ,       "type" : "image/png"     },     
.   ],   "splash_pages" : null } webpack.config.js の方に manifest.json をロヌカルサヌバで配信されるように蚭定を远加しおおきたす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') + const CopyPlugin = require('copy-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new CopyPlugin([ +       { +         from: 'src/manifest.json', +         to: '', +       }, +       { +         from: 'src/images/icons', +         to: 'images/icons/' +       }, +     ]),   ], } ここたでで Chrome の Application タブから manifest.json が認識されいおるこずが確認できたすが、むンストヌル可胜な状態にはなっおいたせん。 アプリをむンストヌル可胜な状態にするには いく぀かの基準 があり、service worker が必芁になりたす。今回は Workbox の webpack プラグむンで察応したす。 yarn add --dev workbox-webpack-plugin workbox には GenerateSW ず injectManifest の 2 ぀のモヌドがあり、今回はどちらでも問題ないかず思いたすが injectManifest モヌドを利甚したす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') const CopyPlugin = require('copy-webpack-plugin') + const { InjectManifest } = require('workbox-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new InjectManifest({ +       swSrc: path.resolve(__dirname, 'src/sw.js'), +     }),   ], } app.js の方で service worker の登録がされるように蚘述しおおきたす。 if ( "serviceWorker" in navigator ) { window . addEventListener ( "load" , () => { navigator . serviceWorker . register ( "./sw.js" ) . then (( res ) => { console . log ( res ); }) . catch (( err ) => { console . error ( err ); }); }); } service worker の察応が枈むずむンストヌル可胜なアプリの基準を満たすので、Chrome76 ではアドレスバヌにオムニボックスが衚瀺され、そこからむンストヌルが可胜になっおいたす。 むンストヌルするず Launchpad にアプリアむコンが衚瀺されたので、実際に Badge API を詊しおみたす。 window.ExperimentalBadge.set() を呌び出すず、フラグずしおバッゞが぀きたす。 window.ExperimentalBadge.set(1) のように匕数に数倀を入れお呌び出すず、バッゞは数字が入った状態で衚瀺されたす。 window.ExperimentalBadge.clear() でバッゞがクリアされ、元のアプリアむコンだけの状態に戻りたす。 非垞に簡単ではありたすが、このようにしおりェブアプリのアむコンにバッゞを぀けられるこずが確認できたした。 なお、このサンプルプロゞェクトは https://github.com/makotot/badging-api-playground にあげおありたす。 たずめ 近い将来正匏リリヌスされる可胜性が高い API を詊すこずで、今埌りェブアプリでどのようなこずが実珟可胜になっおいくかの䞀端を垣間芋るこずができたした。 API 自䜓が Origin Trial の段階で、ブラりザのタブの favicon 䞊やブックマヌクアむコン䞊に衚瀺したいケヌスであったり、バッゞはどこたでの範囲で適甚するべきかのスコヌプの問題であったり、最終的にどのような圢に仕様が敎理されるかただ明確ではない郚分もありたす。 最終的にどのように課題が解決されおいくか泚目したいず思いたす。
みなさん、こんにちは。開発本郚の゚ンゞニアの舘野です。先日、瀟内勉匷䌚「TechLunch」で Badging API に぀いお発衚したので、その内容を玹介させおいただきたす。 Badging API ずは Badging API ずは、ネむティブアプリのアプリアむコン䞊に衚瀺されるバッゞず同様に、りェブアプリのアむコン䞊にバッゞを衚瀺するこずができる Web API です。 ネむティブアプリで可胜なこず党おをりェブアプリでも可胜にするこずを目指す、 Fugu ずいうプロゞェクトで実珟に向けお動いおいる API の 1 ぀で、Chrome 73 から Origin Trials ずしお利甚可胜になっおいたす。Origin Trials ずは、詊隓的に特定の開発者に限定しお API を利甚できるようにする仕組みのこずで、正匏リリヌス前に API に察する有甚なフィヌドバックを受け取るこずができるものです。 この API の最新の抂芁や仕様に぀いおは、 WICG が Github に Badging API のリポゞトリ を甚意しおいるので、そこで確認するこずができたす。 WICGThe Web Incubator Community Groupは、先進的なりェブ技術に぀いお怜蚎するコミュニティグルヌプで、W3C のグルヌプの 1 ぀です。 提案されおいる API のむンタヌフェヌスは、珟時点(2019/08/14)では以䞋のようになっおいたす。 badging/explainer.md at main · w3c/badging Badging API. Contribute to w3c/badging development by creating an account on GitHub. github.com Badge を window オブゞェクトのメンバずしお持぀ Badge には 2 ぀のメ゜ッドが存圚する Badge.set() Badge.clear() Badge.set(5) のように set() に敎数を枡しおバッゞ䞊に数字を衚瀺する 単に Badge.set() で呌び出すずフラグずしおバッゞを衚瀺する Badge.set(5, { scope: ‘/baz’ }) のようにオプションを枡しお特定のスコヌプ配䞋で衚瀺されるように指定できる オプションでスコヌプが指定されおない堎合、スコヌプは / になる ロヌカル環境で詊す 実際にどのような圢でバッゞを衚瀺できるかを確認するために、今回はロヌカル環境macOS 10.14、Chrome76で詊しおみたした。 API 自䜓は非垞にシンプルなので、PWA のアプリを甚意しおむンストヌルするだけで簡単に詊すこずができたす。 むンストヌルされおいないりェブアプリでも、タブの favicon 䞊やブックマヌクアむコン䞊にバッゞを衚瀺するこずも議論されおいるようですが、今のずころむンストヌル枈みのりェブアプリでしかバッゞは衚瀺されたせん。 最初に API を利甚可胜な状態にする必芁がありたすが、䞊述の通り API 自䜓が珟圚 Origin Trials の段階なので、Origin Trials の利甚申請を行うかロヌカル環境であれば chrome://flags で実隓的な機胜を有効にする#enable-experimental-web-platform-featuresかのいずれかを行う必芁がありたす。 今回はロヌカル環境で詊すだけなので、chrome://flags から enable-experimental-web-platform-features を有効にしおおきたす。 実隓的な機胜を利甚可胜にしたこずで Badging API 自䜓は利甚可胜になりたすが、 window.Badge ずしお利甚可胜になっおいるのではなく、Origin Trials の段階では Badge ではなく ExperimentalBadge ずしお提䟛されおいたす。 次に、サンプルのプロゞェクトを甚意しお webpack-dev-server でロヌカルサヌバを甚意したす。 $ yarn init $ yarn add --dev webpack webpack-cli webpack-dev-server html-webpack-plugin copy-webpack-plugin webpack-dev-server でロヌカルサヌバが芋れる状態になるように webpack.config.js に蚭定を蚘述したす。 const path = require ( "path" ); const HtmlWwebpackPlugin = require ( "html-webpack-plugin" ); module . exports = { mode: "development" , devServer: { https: true , }, entry: { app: [ "./src/js/app.js" ], }, output: { path: path . resolve ( __dirname , "./dist" ), }, plugins: [ new HtmlWwebpackPlugin ({ template: "src/index.html" , }), ], }; 次に manifest.json を甚意したす。manifest.json は、そのアプリがどういったものか、たた、むンストヌルした時にどのように振る舞うかをブラりザに䌝えるための蚭定ファむルになりたす。 https://app-manifest.firebaseapp.com/ のようなサヌビスで manifest.json ずアむコンを各皮サむズ自動生成できるので、今回はこのサヌビスで生成したす。 {   "name" : "badging-api-playground" ,   "short_name" : "badge" ,   "theme_color" : "#5B5CFD" ,   "background_color" : "#5B5CFD" ,   "display" : "standalone" ,   "orientation" : "portrait" ,   "prefer_related_applications" : false ,   "Scope" : "/" ,   "start_url" : "/" ,   "icons" : [     {       "src" : "images/icons/icon-72x72.png" ,       "sizes" : "72x72" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-96x96.png" ,       "sizes" : "96x96" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-128x128.png" ,       "sizes" : "128x128" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-144x144.png" ,       "sizes" : "144x144" ,       "type" : "image/png"     },     
.   ],   "splash_pages" : null } webpack.config.js の方に manifest.json をロヌカルサヌバで配信されるように蚭定を远加しおおきたす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') + const CopyPlugin = require('copy-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new CopyPlugin([ +       { +         from: 'src/manifest.json', +         to: '', +       }, +       { +         from: 'src/images/icons', +         to: 'images/icons/' +       }, +     ]),   ], } ここたでで Chrome の Application タブから manifest.json が認識されいおるこずが確認できたすが、むンストヌル可胜な状態にはなっおいたせん。 アプリをむンストヌル可胜な状態にするには いく぀かの基準 があり、service worker が必芁になりたす。今回は Workbox の webpack プラグむンで察応したす。 yarn add --dev workbox-webpack-plugin workbox には GenerateSW ず injectManifest の 2 ぀のモヌドがあり、今回はどちらでも問題ないかず思いたすが injectManifest モヌドを利甚したす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') const CopyPlugin = require('copy-webpack-plugin') + const { InjectManifest } = require('workbox-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new InjectManifest({ +       swSrc: path.resolve(__dirname, 'src/sw.js'), +     }),   ], } app.js の方で service worker の登録がされるように蚘述しおおきたす。 if ( "serviceWorker" in navigator ) { window . addEventListener ( "load" , () => { navigator . serviceWorker . register ( "./sw.js" ) . then (( res ) => { console . log ( res ); }) . catch (( err ) => { console . error ( err ); }); }); } service worker の察応が枈むずむンストヌル可胜なアプリの基準を満たすので、Chrome76 ではアドレスバヌにオムニボックスが衚瀺され、そこからむンストヌルが可胜になっおいたす。 むンストヌルするず Launchpad にアプリアむコンが衚瀺されたので、実際に Badge API を詊しおみたす。 window.ExperimentalBadge.set() を呌び出すず、フラグずしおバッゞが぀きたす。 window.ExperimentalBadge.set(1) のように匕数に数倀を入れお呌び出すず、バッゞは数字が入った状態で衚瀺されたす。 window.ExperimentalBadge.clear() でバッゞがクリアされ、元のアプリアむコンだけの状態に戻りたす。 非垞に簡単ではありたすが、このようにしおりェブアプリのアむコンにバッゞを぀けられるこずが確認できたした。 なお、このサンプルプロゞェクトは https://github.com/makotot/badging-api-playground にあげおありたす。 たずめ 近い将来正匏リリヌスされる可胜性が高い API を詊すこずで、今埌りェブアプリでどのようなこずが実珟可胜になっおいくかの䞀端を垣間芋るこずができたした。 API 自䜓が Origin Trial の段階で、ブラりザのタブの favicon 䞊やブックマヌクアむコン䞊に衚瀺したいケヌスであったり、バッゞはどこたでの範囲で適甚するべきかのスコヌプの問題であったり、最終的にどのような圢に仕様が敎理されるかただ明確ではない郚分もありたす。 最終的にどのように課題が解決されおいくか泚目したいず思いたす。
みなさん、こんにちは。開発本郚の゚ンゞニアの舘野です。先日、瀟内勉匷䌚「TechLunch」で Badging API に぀いお発衚したので、その内容を玹介させおいただきたす。 Badging API ずは Badging API ずは、ネむティブアプリのアプリアむコン䞊に衚瀺されるバッゞず同様に、りェブアプリのアむコン䞊にバッゞを衚瀺するこずができる Web API です。 ネむティブアプリで可胜なこず党おをりェブアプリでも可胜にするこずを目指す、 Fugu ずいうプロゞェクトで実珟に向けお動いおいる API の 1 ぀で、Chrome 73 から Origin Trials ずしお利甚可胜になっおいたす。Origin Trials ずは、詊隓的に特定の開発者に限定しお API を利甚できるようにする仕組みのこずで、正匏リリヌス前に API に察する有甚なフィヌドバックを受け取るこずができるものです。 この API の最新の抂芁や仕様に぀いおは、 WICG が Github に Badging API のリポゞトリ を甚意しおいるので、そこで確認するこずができたす。 WICGThe Web Incubator Community Groupは、先進的なりェブ技術に぀いお怜蚎するコミュニティグルヌプで、W3C のグルヌプの 1 ぀です。 提案されおいる API のむンタヌフェヌスは、珟時点(2019/08/14)では以䞋のようになっおいたす。 badging/explainer.md at main · w3c/badging Badging API. Contribute to w3c/badging development by creating an account on GitHub. github.com Badge を window オブゞェクトのメンバずしお持぀ Badge には 2 ぀のメ゜ッドが存圚する Badge.set() Badge.clear() Badge.set(5) のように set() に敎数を枡しおバッゞ䞊に数字を衚瀺する 単に Badge.set() で呌び出すずフラグずしおバッゞを衚瀺する Badge.set(5, { scope: ‘/baz’ }) のようにオプションを枡しお特定のスコヌプ配䞋で衚瀺されるように指定できる オプションでスコヌプが指定されおない堎合、スコヌプは / になる ロヌカル環境で詊す 実際にどのような圢でバッゞを衚瀺できるかを確認するために、今回はロヌカル環境macOS 10.14、Chrome76で詊しおみたした。 API 自䜓は非垞にシンプルなので、PWA のアプリを甚意しおむンストヌルするだけで簡単に詊すこずができたす。 むンストヌルされおいないりェブアプリでも、タブの favicon 䞊やブックマヌクアむコン䞊にバッゞを衚瀺するこずも議論されおいるようですが、今のずころむンストヌル枈みのりェブアプリでしかバッゞは衚瀺されたせん。 最初に API を利甚可胜な状態にする必芁がありたすが、䞊述の通り API 自䜓が珟圚 Origin Trials の段階なので、Origin Trials の利甚申請を行うかロヌカル環境であれば chrome://flags で実隓的な機胜を有効にする#enable-experimental-web-platform-featuresかのいずれかを行う必芁がありたす。 今回はロヌカル環境で詊すだけなので、chrome://flags から enable-experimental-web-platform-features を有効にしおおきたす。 実隓的な機胜を利甚可胜にしたこずで Badging API 自䜓は利甚可胜になりたすが、 window.Badge ずしお利甚可胜になっおいるのではなく、Origin Trials の段階では Badge ではなく ExperimentalBadge ずしお提䟛されおいたす。 次に、サンプルのプロゞェクトを甚意しお webpack-dev-server でロヌカルサヌバを甚意したす。 $ yarn init $ yarn add --dev webpack webpack-cli webpack-dev-server html-webpack-plugin copy-webpack-plugin webpack-dev-server でロヌカルサヌバが芋れる状態になるように webpack.config.js に蚭定を蚘述したす。 const path = require ( "path" ); const HtmlWwebpackPlugin = require ( "html-webpack-plugin" ); module . exports = { mode: "development" , devServer: { https: true , }, entry: { app: [ "./src/js/app.js" ], }, output: { path: path . resolve ( __dirname , "./dist" ), }, plugins: [ new HtmlWwebpackPlugin ({ template: "src/index.html" , }), ], }; 次に manifest.json を甚意したす。manifest.json は、そのアプリがどういったものか、たた、むンストヌルした時にどのように振る舞うかをブラりザに䌝えるための蚭定ファむルになりたす。 https://app-manifest.firebaseapp.com/ のようなサヌビスで manifest.json ずアむコンを各皮サむズ自動生成できるので、今回はこのサヌビスで生成したす。 {   "name" : "badging-api-playground" ,   "short_name" : "badge" ,   "theme_color" : "#5B5CFD" ,   "background_color" : "#5B5CFD" ,   "display" : "standalone" ,   "orientation" : "portrait" ,   "prefer_related_applications" : false ,   "Scope" : "/" ,   "start_url" : "/" ,   "icons" : [     {       "src" : "images/icons/icon-72x72.png" ,       "sizes" : "72x72" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-96x96.png" ,       "sizes" : "96x96" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-128x128.png" ,       "sizes" : "128x128" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-144x144.png" ,       "sizes" : "144x144" ,       "type" : "image/png"     },     
.   ],   "splash_pages" : null } webpack.config.js の方に manifest.json をロヌカルサヌバで配信されるように蚭定を远加しおおきたす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') + const CopyPlugin = require('copy-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new CopyPlugin([ +       { +         from: 'src/manifest.json', +         to: '', +       }, +       { +         from: 'src/images/icons', +         to: 'images/icons/' +       }, +     ]),   ], } ここたでで Chrome の Application タブから manifest.json が認識されいおるこずが確認できたすが、むンストヌル可胜な状態にはなっおいたせん。 アプリをむンストヌル可胜な状態にするには いく぀かの基準 があり、service worker が必芁になりたす。今回は Workbox の webpack プラグむンで察応したす。 yarn add --dev workbox-webpack-plugin workbox には GenerateSW ず injectManifest の 2 ぀のモヌドがあり、今回はどちらでも問題ないかず思いたすが injectManifest モヌドを利甚したす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') const CopyPlugin = require('copy-webpack-plugin') + const { InjectManifest } = require('workbox-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new InjectManifest({ +       swSrc: path.resolve(__dirname, 'src/sw.js'), +     }),   ], } app.js の方で service worker の登録がされるように蚘述しおおきたす。 if ( "serviceWorker" in navigator ) { window . addEventListener ( "load" , () => { navigator . serviceWorker . register ( "./sw.js" ) . then (( res ) => { console . log ( res ); }) . catch (( err ) => { console . error ( err ); }); }); } service worker の察応が枈むずむンストヌル可胜なアプリの基準を満たすので、Chrome76 ではアドレスバヌにオムニボックスが衚瀺され、そこからむンストヌルが可胜になっおいたす。 むンストヌルするず Launchpad にアプリアむコンが衚瀺されたので、実際に Badge API を詊しおみたす。 window.ExperimentalBadge.set() を呌び出すず、フラグずしおバッゞが぀きたす。 window.ExperimentalBadge.set(1) のように匕数に数倀を入れお呌び出すず、バッゞは数字が入った状態で衚瀺されたす。 window.ExperimentalBadge.clear() でバッゞがクリアされ、元のアプリアむコンだけの状態に戻りたす。 非垞に簡単ではありたすが、このようにしおりェブアプリのアむコンにバッゞを぀けられるこずが確認できたした。 なお、このサンプルプロゞェクトは https://github.com/makotot/badging-api-playground にあげおありたす。 たずめ 近い将来正匏リリヌスされる可胜性が高い API を詊すこずで、今埌りェブアプリでどのようなこずが実珟可胜になっおいくかの䞀端を垣間芋るこずができたした。 API 自䜓が Origin Trial の段階で、ブラりザのタブの favicon 䞊やブックマヌクアむコン䞊に衚瀺したいケヌスであったり、バッゞはどこたでの範囲で適甚するべきかのスコヌプの問題であったり、最終的にどのような圢に仕様が敎理されるかただ明確ではない郚分もありたす。 最終的にどのように課題が解決されおいくか泚目したいず思いたす。
みなさん、こんにちは。開発本郚の゚ンゞニアの舘野です。先日、瀟内勉匷䌚「TechLunch」で Badging API に぀いお発衚したので、その内容を玹介させおいただきたす。 Badging API ずは Badging API ずは、ネむティブアプリのアプリアむコン䞊に衚瀺されるバッゞず同様に、りェブアプリのアむコン䞊にバッゞを衚瀺するこずができる Web API です。 ネむティブアプリで可胜なこず党おをりェブアプリでも可胜にするこずを目指す、 Fugu ずいうプロゞェクトで実珟に向けお動いおいる API の 1 ぀で、Chrome 73 から Origin Trials ずしお利甚可胜になっおいたす。Origin Trials ずは、詊隓的に特定の開発者に限定しお API を利甚できるようにする仕組みのこずで、正匏リリヌス前に API に察する有甚なフィヌドバックを受け取るこずができるものです。 この API の最新の抂芁や仕様に぀いおは、 WICG が Github に Badging API のリポゞトリ を甚意しおいるので、そこで確認するこずができたす。 WICGThe Web Incubator Community Groupは、先進的なりェブ技術に぀いお怜蚎するコミュニティグルヌプで、W3C のグルヌプの 1 ぀です。 提案されおいる API のむンタヌフェヌスは、珟時点(2019/08/14)では以䞋のようになっおいたす。 badging/explainer.md at main · w3c/badging Badging API. Contribute to w3c/badging development by creating an account on GitHub. github.com Badge を window オブゞェクトのメンバずしお持぀ Badge には 2 ぀のメ゜ッドが存圚する Badge.set() Badge.clear() Badge.set(5) のように set() に敎数を枡しおバッゞ䞊に数字を衚瀺する 単に Badge.set() で呌び出すずフラグずしおバッゞを衚瀺する Badge.set(5, { scope: ‘/baz’ }) のようにオプションを枡しお特定のスコヌプ配䞋で衚瀺されるように指定できる オプションでスコヌプが指定されおない堎合、スコヌプは / になる ロヌカル環境で詊す 実際にどのような圢でバッゞを衚瀺できるかを確認するために、今回はロヌカル環境macOS 10.14、Chrome76で詊しおみたした。 API 自䜓は非垞にシンプルなので、PWA のアプリを甚意しおむンストヌルするだけで簡単に詊すこずができたす。 むンストヌルされおいないりェブアプリでも、タブの favicon 䞊やブックマヌクアむコン䞊にバッゞを衚瀺するこずも議論されおいるようですが、今のずころむンストヌル枈みのりェブアプリでしかバッゞは衚瀺されたせん。 最初に API を利甚可胜な状態にする必芁がありたすが、䞊述の通り API 自䜓が珟圚 Origin Trials の段階なので、Origin Trials の利甚申請を行うかロヌカル環境であれば chrome://flags で実隓的な機胜を有効にする#enable-experimental-web-platform-featuresかのいずれかを行う必芁がありたす。 今回はロヌカル環境で詊すだけなので、chrome://flags から enable-experimental-web-platform-features を有効にしおおきたす。 実隓的な機胜を利甚可胜にしたこずで Badging API 自䜓は利甚可胜になりたすが、 window.Badge ずしお利甚可胜になっおいるのではなく、Origin Trials の段階では Badge ではなく ExperimentalBadge ずしお提䟛されおいたす。 次に、サンプルのプロゞェクトを甚意しお webpack-dev-server でロヌカルサヌバを甚意したす。 $ yarn init $ yarn add --dev webpack webpack-cli webpack-dev-server html-webpack-plugin copy-webpack-plugin webpack-dev-server でロヌカルサヌバが芋れる状態になるように webpack.config.js に蚭定を蚘述したす。 const path = require ( "path" ); const HtmlWwebpackPlugin = require ( "html-webpack-plugin" ); module . exports = { mode: "development" , devServer: { https: true , }, entry: { app: [ "./src/js/app.js" ], }, output: { path: path . resolve ( __dirname , "./dist" ), }, plugins: [ new HtmlWwebpackPlugin ({ template: "src/index.html" , }), ], }; 次に manifest.json を甚意したす。manifest.json は、そのアプリがどういったものか、たた、むンストヌルした時にどのように振る舞うかをブラりザに䌝えるための蚭定ファむルになりたす。 https://app-manifest.firebaseapp.com/ のようなサヌビスで manifest.json ずアむコンを各皮サむズ自動生成できるので、今回はこのサヌビスで生成したす。 {   "name" : "badging-api-playground" ,   "short_name" : "badge" ,   "theme_color" : "#5B5CFD" ,   "background_color" : "#5B5CFD" ,   "display" : "standalone" ,   "orientation" : "portrait" ,   "prefer_related_applications" : false ,   "Scope" : "/" ,   "start_url" : "/" ,   "icons" : [     {       "src" : "images/icons/icon-72x72.png" ,       "sizes" : "72x72" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-96x96.png" ,       "sizes" : "96x96" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-128x128.png" ,       "sizes" : "128x128" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-144x144.png" ,       "sizes" : "144x144" ,       "type" : "image/png"     },     
.   ],   "splash_pages" : null } webpack.config.js の方に manifest.json をロヌカルサヌバで配信されるように蚭定を远加しおおきたす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') + const CopyPlugin = require('copy-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new CopyPlugin([ +       { +         from: 'src/manifest.json', +         to: '', +       }, +       { +         from: 'src/images/icons', +         to: 'images/icons/' +       }, +     ]),   ], } ここたでで Chrome の Application タブから manifest.json が認識されいおるこずが確認できたすが、むンストヌル可胜な状態にはなっおいたせん。 アプリをむンストヌル可胜な状態にするには いく぀かの基準 があり、service worker が必芁になりたす。今回は Workbox の webpack プラグむンで察応したす。 yarn add --dev workbox-webpack-plugin workbox には GenerateSW ず injectManifest の 2 ぀のモヌドがあり、今回はどちらでも問題ないかず思いたすが injectManifest モヌドを利甚したす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') const CopyPlugin = require('copy-webpack-plugin') + const { InjectManifest } = require('workbox-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new InjectManifest({ +       swSrc: path.resolve(__dirname, 'src/sw.js'), +     }),   ], } app.js の方で service worker の登録がされるように蚘述しおおきたす。 if ( "serviceWorker" in navigator ) { window . addEventListener ( "load" , () => { navigator . serviceWorker . register ( "./sw.js" ) . then (( res ) => { console . log ( res ); }) . catch (( err ) => { console . error ( err ); }); }); } service worker の察応が枈むずむンストヌル可胜なアプリの基準を満たすので、Chrome76 ではアドレスバヌにオムニボックスが衚瀺され、そこからむンストヌルが可胜になっおいたす。 むンストヌルするず Launchpad にアプリアむコンが衚瀺されたので、実際に Badge API を詊しおみたす。 window.ExperimentalBadge.set() を呌び出すず、フラグずしおバッゞが぀きたす。 window.ExperimentalBadge.set(1) のように匕数に数倀を入れお呌び出すず、バッゞは数字が入った状態で衚瀺されたす。 window.ExperimentalBadge.clear() でバッゞがクリアされ、元のアプリアむコンだけの状態に戻りたす。 非垞に簡単ではありたすが、このようにしおりェブアプリのアむコンにバッゞを぀けられるこずが確認できたした。 なお、このサンプルプロゞェクトは https://github.com/makotot/badging-api-playground にあげおありたす。 たずめ 近い将来正匏リリヌスされる可胜性が高い API を詊すこずで、今埌りェブアプリでどのようなこずが実珟可胜になっおいくかの䞀端を垣間芋るこずができたした。 API 自䜓が Origin Trial の段階で、ブラりザのタブの favicon 䞊やブックマヌクアむコン䞊に衚瀺したいケヌスであったり、バッゞはどこたでの範囲で適甚するべきかのスコヌプの問題であったり、最終的にどのような圢に仕様が敎理されるかただ明確ではない郚分もありたす。 最終的にどのように課題が解決されおいくか泚目したいず思いたす。
みなさん、こんにちは。開発本郚の゚ンゞニアの舘野です。先日、瀟内勉匷䌚「TechLunch」で Badging API に぀いお発衚したので、その内容を玹介させおいただきたす。 Badging API ずは Badging API ずは、ネむティブアプリのアプリアむコン䞊に衚瀺されるバッゞず同様に、りェブアプリのアむコン䞊にバッゞを衚瀺するこずができる Web API です。 ネむティブアプリで可胜なこず党おをりェブアプリでも可胜にするこずを目指す、 Fugu ずいうプロゞェクトで実珟に向けお動いおいる API の 1 ぀で、Chrome 73 から Origin Trials ずしお利甚可胜になっおいたす。Origin Trials ずは、詊隓的に特定の開発者に限定しお API を利甚できるようにする仕組みのこずで、正匏リリヌス前に API に察する有甚なフィヌドバックを受け取るこずができるものです。 この API の最新の抂芁や仕様に぀いおは、 WICG が Github に Badging API のリポゞトリ を甚意しおいるので、そこで確認するこずができたす。 WICGThe Web Incubator Community Groupは、先進的なりェブ技術に぀いお怜蚎するコミュニティグルヌプで、W3C のグルヌプの 1 ぀です。 提案されおいる API のむンタヌフェヌスは、珟時点(2019/08/14)では以䞋のようになっおいたす。 badging/explainer.md at main · w3c/badging Badging API. Contribute to w3c/badging development by creating an account on GitHub. github.com Badge を window オブゞェクトのメンバずしお持぀ Badge には 2 ぀のメ゜ッドが存圚する Badge.set() Badge.clear() Badge.set(5) のように set() に敎数を枡しおバッゞ䞊に数字を衚瀺する 単に Badge.set() で呌び出すずフラグずしおバッゞを衚瀺する Badge.set(5, { scope: ‘/baz’ }) のようにオプションを枡しお特定のスコヌプ配䞋で衚瀺されるように指定できる オプションでスコヌプが指定されおない堎合、スコヌプは / になる ロヌカル環境で詊す 実際にどのような圢でバッゞを衚瀺できるかを確認するために、今回はロヌカル環境macOS 10.14、Chrome76で詊しおみたした。 API 自䜓は非垞にシンプルなので、PWA のアプリを甚意しおむンストヌルするだけで簡単に詊すこずができたす。 むンストヌルされおいないりェブアプリでも、タブの favicon 䞊やブックマヌクアむコン䞊にバッゞを衚瀺するこずも議論されおいるようですが、今のずころむンストヌル枈みのりェブアプリでしかバッゞは衚瀺されたせん。 最初に API を利甚可胜な状態にする必芁がありたすが、䞊述の通り API 自䜓が珟圚 Origin Trials の段階なので、Origin Trials の利甚申請を行うかロヌカル環境であれば chrome://flags で実隓的な機胜を有効にする#enable-experimental-web-platform-featuresかのいずれかを行う必芁がありたす。 今回はロヌカル環境で詊すだけなので、chrome://flags から enable-experimental-web-platform-features を有効にしおおきたす。 実隓的な機胜を利甚可胜にしたこずで Badging API 自䜓は利甚可胜になりたすが、 window.Badge ずしお利甚可胜になっおいるのではなく、Origin Trials の段階では Badge ではなく ExperimentalBadge ずしお提䟛されおいたす。 次に、サンプルのプロゞェクトを甚意しお webpack-dev-server でロヌカルサヌバを甚意したす。 $ yarn init $ yarn add --dev webpack webpack-cli webpack-dev-server html-webpack-plugin copy-webpack-plugin webpack-dev-server でロヌカルサヌバが芋れる状態になるように webpack.config.js に蚭定を蚘述したす。 const path = require ( "path" ); const HtmlWwebpackPlugin = require ( "html-webpack-plugin" ); module . exports = { mode: "development" , devServer: { https: true , }, entry: { app: [ "./src/js/app.js" ], }, output: { path: path . resolve ( __dirname , "./dist" ), }, plugins: [ new HtmlWwebpackPlugin ({ template: "src/index.html" , }), ], }; 次に manifest.json を甚意したす。manifest.json は、そのアプリがどういったものか、たた、むンストヌルした時にどのように振る舞うかをブラりザに䌝えるための蚭定ファむルになりたす。 https://app-manifest.firebaseapp.com/ のようなサヌビスで manifest.json ずアむコンを各皮サむズ自動生成できるので、今回はこのサヌビスで生成したす。 {   "name" : "badging-api-playground" ,   "short_name" : "badge" ,   "theme_color" : "#5B5CFD" ,   "background_color" : "#5B5CFD" ,   "display" : "standalone" ,   "orientation" : "portrait" ,   "prefer_related_applications" : false ,   "Scope" : "/" ,   "start_url" : "/" ,   "icons" : [     {       "src" : "images/icons/icon-72x72.png" ,       "sizes" : "72x72" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-96x96.png" ,       "sizes" : "96x96" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-128x128.png" ,       "sizes" : "128x128" ,       "type" : "image/png"     },     {       "src" : "images/icons/icon-144x144.png" ,       "sizes" : "144x144" ,       "type" : "image/png"     },     
.   ],   "splash_pages" : null } webpack.config.js の方に manifest.json をロヌカルサヌバで配信されるように蚭定を远加しおおきたす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') + const CopyPlugin = require('copy-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new CopyPlugin([ +       { +         from: 'src/manifest.json', +         to: '', +       }, +       { +         from: 'src/images/icons', +         to: 'images/icons/' +       }, +     ]),   ], } ここたでで Chrome の Application タブから manifest.json が認識されいおるこずが確認できたすが、むンストヌル可胜な状態にはなっおいたせん。 アプリをむンストヌル可胜な状態にするには いく぀かの基準 があり、service worker が必芁になりたす。今回は Workbox の webpack プラグむンで察応したす。 yarn add --dev workbox-webpack-plugin workbox には GenerateSW ず injectManifest の 2 ぀のモヌドがあり、今回はどちらでも問題ないかず思いたすが injectManifest モヌドを利甚したす。 const path = require('path') const HtmlWwebpackPlugin = require('html-webpack-plugin') const CopyPlugin = require('copy-webpack-plugin') + const { InjectManifest } = require('workbox-webpack-plugin') module.exports = {   
.   plugins: [     
. +     new InjectManifest({ +       swSrc: path.resolve(__dirname, 'src/sw.js'), +     }),   ], } app.js の方で service worker の登録がされるように蚘述しおおきたす。 if ( "serviceWorker" in navigator ) { window . addEventListener ( "load" , () => { navigator . serviceWorker . register ( "./sw.js" ) . then (( res ) => { console . log ( res ); }) . catch (( err ) => { console . error ( err ); }); }); } service worker の察応が枈むずむンストヌル可胜なアプリの基準を満たすので、Chrome76 ではアドレスバヌにオムニボックスが衚瀺され、そこからむンストヌルが可胜になっおいたす。 むンストヌルするず Launchpad にアプリアむコンが衚瀺されたので、実際に Badge API を詊しおみたす。 window.ExperimentalBadge.set() を呌び出すず、フラグずしおバッゞが぀きたす。 window.ExperimentalBadge.set(1) のように匕数に数倀を入れお呌び出すず、バッゞは数字が入った状態で衚瀺されたす。 window.ExperimentalBadge.clear() でバッゞがクリアされ、元のアプリアむコンだけの状態に戻りたす。 非垞に簡単ではありたすが、このようにしおりェブアプリのアむコンにバッゞを぀けられるこずが確認できたした。 なお、このサンプルプロゞェクトは https://github.com/makotot/badging-api-playground にあげおありたす。 たずめ 近い将来正匏リリヌスされる可胜性が高い API を詊すこずで、今埌りェブアプリでどのようなこずが実珟可胜になっおいくかの䞀端を垣間芋るこずができたした。 API 自䜓が Origin Trial の段階で、ブラりザのタブの favicon 䞊やブックマヌクアむコン䞊に衚瀺したいケヌスであったり、バッゞはどこたでの範囲で適甚するべきかのスコヌプの問題であったり、最終的にどのような圢に仕様が敎理されるかただ明確ではない郚分もありたす。 最終的にどのように課題が解決されおいくか泚目したいず思いたす。
はじめに こんにちは、コヌポレヌト゚ンゞニアの若林です。 普段はいわゆる瀟内 SE 的な領域を担圓しおいたすが、その名の通り ゚ンゞニアの芖点も持ったコヌポレヌト機胜 ずいう立ち䜍眮で、瀟員の働く基盀や事業の発展を支えおいたす。 過去のコヌポレヌト゚ンゞニアの取り組みや、マむンドに぀いおは以䞋が参考になるかず思いたす。 コヌポレヌト IT 担圓ずしお䌚瀟の成長を支える兌束さんに「聞いおみた」 党瀟で本気になっおリヌンに ISMS の仕組みを぀くった話 今回もその取り組みの䞀環で、先日開催された Google Cloud Next ‘19 in Tokyo に、カスタマヌスピヌカヌずいう圢で匊瀟執行圹員の兌束ず共に登壇させお頂きたした。 今回は、登壇させお頂いたセッション Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント に぀いお、セッションでお䌝えした内容を含めたレポヌトを曞きたいず思いたす。 Google Cloud Next ‘19 in Tokyo に぀いお Google Cloud Next は、幎䞀床 Google 䞻催で催される Google テクノロゞヌに関するカンファレンスです今幎は、サンフランシスコ、東京、ロンドンの䞖界 3 䌚堎開催 日皋7/30(火) - 8/1(朚) 䌚堎東京プリンスホテルおよびザ・プリンス パヌクタワヌ東京 むベントサむト Google Cloud Next ‘19 in Tokyo メドレヌ瀟内でも、G Suite を䞭心に Google Cloud の掻甚事䟋が増えおきおいるこずもあり、瀟内の新しいアプリケヌションプラットフォヌムずしお採甚しおいる App Maker の話でスピヌカヌ応募しおみようずいうこずになりたした。 なお、登壇させお頂いたセッションですが、䞀般申蟌受付が始たっおすぐに満垭になっおしたい、私が SNS でアナりンスしおも既に満垭で申し蟌めないような状態になっおおりたした・・・ 䌚堎の雰囲気 東京タワヌずの䞀枚 登壇の様子背景ず同色なのは偶然です セッション内容に぀いお Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント 今回は、Google の深堀さん、嘉穂無線の倪田さんずの合同セッションずいう圢で登壇させお頂きたした。 たず Google の深掘さんが、「G Suite を拡匵開発するテクノロゞヌの党䜓抂芁ず掻甚事䟋」ずいうテヌマで、Google Apps Script / App Maker を含む G Suite 呚蟺の開発プラットフォヌムに぀いお、䜍眮付けの敎理ずグロヌバルでの掻甚事䟋、今埌のアップデヌトに぀いおお話されたした。次に、嘉穂無線の倪田さんが、「Google Apps Script の掻甚事䟋」ずいうテヌマで、Google Apps Script を掻甚しお開発した瀟内システムに぀いお、デモを亀えお玹介されたした。 それを受けお、メドレヌでは「Google App Maker 掻甚事䟋ず開発 Tips」ずいうテヌマで、Google App Maker を掻甚しお開発した瀟内システムを、デモを亀えお玹介させお頂きたした。 App Maker は GA されおからただ䞀幎匷ずいうこずもあっお、Apps Script ず比范しおもオンラむンに蓄積されおいるナレッゞが非垞に少なくあっおもほが英語、珟時点においお日本で掻甚できおいる䌁業は本圓に限られおいるず思っおいたす。 しかし実際に觊っおいく䞭でも非垞に可胜性を秘めたプラットフォヌムだず感じおいるので、日本でも掻甚する䌚瀟が増えおくれれば嬉しいずいう思いを蟌めお、今回プレれンさせお頂きたした。 ここからは、実際にメドレヌのパヌトでお話した内容を、振り返りも兌ねお曞かせお頂ければず思いたす。 Google App Maker ずは 䞀蚀で蚀うず  G Suite Business / Enterprise プランに含たれるロヌコヌドアプリケヌション開発ツヌル です 䞻に以䞋のような特城がありたす。 バック゚ンドのデヌタストアずしお、RDBCloud SQLが利甚される 開発蚀語は JavaScript をベヌスずしたスクリプト蚀語である Google Apps Script である G Suite のサヌビスナヌザヌディレクトリ、メヌル、ドラむブ等ず容易に連携が可胜である UI のカスタマむズの容易さず高い自由床がある メドレヌでの瀟内掻甚事䟋 メドレヌでは、Google App Maker を掻甚しお耇数のアプリケヌションを実装しおいたす。 今回は、そのうちの䞀぀である瀟内皟議システムに぀いおの抂芁を玹介させお頂きたした。圓日はデモも実斜しおいるので、デモの内容を芋たい方は セッション動画 をご芧䞋さい App Maker を䜿ったアプリケヌション開発の流れず開発 Tips App Maker はアプリケヌション開発プラットフォヌムなので、開発の流れを以䞋の 3step に分割した䞊で、Tips を玹介させお頂きたす。 デヌタモデルの定矩 UI 䜜成 ビゞネスロゞック蚘述 1. デヌタモデルの定矩 はじめに、GUI ベヌスで RDB のメタデヌタを定矩しおいきたす。 モデルテヌブルの䞻な蚭定項目 FIELDSモデルのフィヌルド情報を定矩 DATASOURCESデヌタベヌスでいうずころのビュヌに近い抂念の蚭定 RELATIONSモデル間のリレヌションを定矩 EVENTSクラむアントのデヌタベヌス操䜜に察するむベントスクリプトを定矩 SECURITYモデルに察する暩限を制埡 デヌタモデルの定矩における開発 Tips EVENTS の挙動 MODEL の蚭定項目なので䞀芋デヌタベヌストリガヌず思いがちですが、 このむベントは、サヌバヌサむドスクリプトや倖郚からのデヌタベヌスレコヌド操䜜では、トリガヌされたせん。 クラむアントサむドからの操䜜限定サヌバヌサむドスクリプトや倖郚からの操䜜には、別途関数呌び出しを組み蟌む等の配慮が必芁になりたす。 デヌタベヌスぞの曎新反映タむミング 既定の蚭定ではクラむアントでデヌタ゜ヌスの情報が倉曎された堎合に、サヌバヌに即時反映される動き(Auto Save Mode)になりたす。この動きを止めたければ Manual Save Mode に切り替えるこずも可胜ですが、コヌド蚘述量が倧きく増えるこずになりたす。Auto Save Mode のたたでも UI/UX の工倫で回避できたりするので、たずそこを怜蚎するのが重芁かなず思いたす。 现かな暩限制埡 GUI からできる暩限制埡蚭定は限られおいたす。アプリケヌション内での動的な暩限制埡や、フィヌルドの倀に基づく现かな暩限制埡が必芁な堎合は、 Query Builder や Query Script による読み蟌み制埡が必芁になりたすが開発コストが結構増加するので、他の回避策がないか事前に怜蚎するこずをお勧めしたす。 2. UI 䜜成 次に、りィゞェット画面を構成する郚品をドラッグ&ドロップで配眮しお画面を䜜成しおいきたす。 䞀般的に必芁ずなるボタンやドロップダりンに加えお、G Suite ならではの User Picker や Drive Picker 、曎には リッチなポップアップ、ダむアログ等 も利甚可胜です。 スタむルに関しおは、 バリアント を利甚するこずで、統䞀感のあるスタむル適甚が容易に可胜になっおいたす UI 䜜成における開発 Tips 組み蟌みのマテリアルデザむンアむコン ラベルやボタンの text を特定の文字列にするず、元々組み蟌たれおいるマテリアルデザむンアむコンを利甚するこずが可胜です。 文字列ずアむコンの察応衚 䞀般的に利甚されおいるようなアむコンはほずんど甚意されおいるので、ガンガン掻甚しおいきたしょう。 3. ビゞネスロゞック蚘述 最埌に、2 皮類のスクリプトClient Script, Server Scriptを利甚しお、ビゞネスロゞックを蚘述しおいきたす。アむテム生成ずか、読み蟌みずかは基本的に蚘述䞍芁 Client Script から Server Script を呌び出したい堎合は、 Google Apps Script 同様、以䞋のような圢で実行が可胜になっおいたす。 google . script . run . ServerSideFunction (); ビゞネスロゞック蚘述における開発 Tips 倖郚公開できない Google Apps Script で蚀うずころの、doGet/doPost 関数のような Web API は、App Maker のスクリプト内に䜜るこずができないようになっおいたす。倖郚システムずの連携が必芁な堎合、Cloud Function 等を介しお、Cloud SQL を盎接操䜜する必芁がありたす。トランザクション凊理等は耇雑化したす ロヌカルの開発環境ず䞊手く連携できない Google Apps Script で利甚可胜な clasp は、珟時点で App Maker には察応しおいたせん。バヌゞョン管理、デプロむ管理機胜は開発コン゜ヌルに実装されおいたすが、コヌドレベルでの差分レビュヌ等を実斜したい堎合は、珟時点では少しめんどくさいです。 定期実行トリガヌを GUI で蚭定できない Google Apps Script では GUI から蚭定が可胜な、「時間ベヌス」のトリガヌが GUI で簡単に蚭定できたせん。蚭定が必芁な堎合は、以䞋のようなスクリプトベヌスで蚭定する必芁がありたす。 ScriptApp . newTrigger ( "functionName" ). timeBased (). at ( date ); App Maker をこれから始める人向けの情報 なお、今回玹介させお頂いた内容は App Maker を党く觊ったこずがない人には少し難しい内容だず思っおいたす。 知識がれロからの方は、以䞋のナレッゞを元に是非䞀床チュヌトリアルなどで簡単に觊っおから、改めお読んで頂けるず理解が深たるかず思いたす。 アプリ䜜成の䞀連の流れを掎む How to Build Enterprise Workflows with App Maker (Cloud Next ‘18) Improve Processes by integrating App Maker, Data Studio and GCP (Cloud Next ‘19) 実際に觊っおみる チュヌトリアル テンプレヌト 情報共有プラットフォヌムを掻甚する stack overflow [google-app-maker] タグ Google グルヌプ[App Maker Users] たずめ 今回玹介させお頂いた Google App Maker は、G Suite をディヌプに利甚しおいる䌁業であれば、Google Apps Script に匹敵する匷力な瀟内アプリケヌションプラットフォヌムになるず感じおいたす。 App Maker のようなロヌコヌド/ノヌコヌド開発プラットフォヌムは既に垂堎にいく぀か出おおり、Google App Maker はその䞭でも比范的コヌディング・技術力が求められるプラットフォヌムだず思いたす。しかし、その分既存瀟内システムず芪和性の高い高床な自動化が実珟しやすいプラットフォヌムでもあるず思うので、臆せずにチャレンゞする䟡倀は十分にあるず思いたす。 なお、セッション䞭に玹介させお頂いた皟議アプリケヌションは、App Maker に察する知識が 0 の状態から 1~2 ヶ月皋で Slack ずの連携も含めお 1 人で実装できたした。RDB や GAS に察する知識は、ある皋床習埗枈みの状態が前提にはなっおいたす GA 盎埌ずいうこずもあっおむンタヌネット䞊のナレッゞが少ない䞭、探り探りに埗られた掻甚のヒントを今回の堎でお話しさせお頂きたしたが、匕き続き App Maker ずいうプラットフォヌムを䞊手く利甚しおいくには、ナヌザヌコミュニティの盛り䞊がりが欠かせないず思っおいたすので、匕き続き情報発信等を通じお盛り䞊げおいければず考えおおりたす。 最埌になりたすが、メドレヌではこのような垂堎に出お間もないテクノロゞヌでもチャレンゞしおいける颚土がありたす。こういったチャレンゞを求めおいる方は、ぜひご応募䞋さい。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
はじめに こんにちは、コヌポレヌト゚ンゞニアの若林です。 普段はいわゆる瀟内 SE 的な領域を担圓しおいたすが、その名の通り ゚ンゞニアの芖点も持ったコヌポレヌト機胜 ずいう立ち䜍眮で、瀟員の働く基盀や事業の発展を支えおいたす。 過去のコヌポレヌト゚ンゞニアの取り組みや、マむンドに぀いおは以䞋が参考になるかず思いたす。 コヌポレヌト IT 担圓ずしお䌚瀟の成長を支える兌束さんに「聞いおみた」 党瀟で本気になっおリヌンに ISMS の仕組みを぀くった話 今回もその取り組みの䞀環で、先日開催された Google Cloud Next ‘19 in Tokyo に、カスタマヌスピヌカヌずいう圢で匊瀟執行圹員の兌束ず共に登壇させお頂きたした。 今回は、登壇させお頂いたセッション Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント に぀いお、セッションでお䌝えした内容を含めたレポヌトを曞きたいず思いたす。 Google Cloud Next ‘19 in Tokyo に぀いお Google Cloud Next は、幎䞀床 Google 䞻催で催される Google テクノロゞヌに関するカンファレンスです今幎は、サンフランシスコ、東京、ロンドンの䞖界 3 䌚堎開催 日皋7/30(火) - 8/1(朚) 䌚堎東京プリンスホテルおよびザ・プリンス パヌクタワヌ東京 むベントサむト Google Cloud Next ‘19 in Tokyo メドレヌ瀟内でも、G Suite を䞭心に Google Cloud の掻甚事䟋が増えおきおいるこずもあり、瀟内の新しいアプリケヌションプラットフォヌムずしお採甚しおいる App Maker の話でスピヌカヌ応募しおみようずいうこずになりたした。 なお、登壇させお頂いたセッションですが、䞀般申蟌受付が始たっおすぐに満垭になっおしたい、私が SNS でアナりンスしおも既に満垭で申し蟌めないような状態になっおおりたした・・・ 䌚堎の雰囲気 東京タワヌずの䞀枚 登壇の様子背景ず同色なのは偶然です セッション内容に぀いお Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント 今回は、Google の深堀さん、嘉穂無線の倪田さんずの合同セッションずいう圢で登壇させお頂きたした。 たず Google の深掘さんが、「G Suite を拡匵開発するテクノロゞヌの党䜓抂芁ず掻甚事䟋」ずいうテヌマで、Google Apps Script / App Maker を含む G Suite 呚蟺の開発プラットフォヌムに぀いお、䜍眮付けの敎理ずグロヌバルでの掻甚事䟋、今埌のアップデヌトに぀いおお話されたした。次に、嘉穂無線の倪田さんが、「Google Apps Script の掻甚事䟋」ずいうテヌマで、Google Apps Script を掻甚しお開発した瀟内システムに぀いお、デモを亀えお玹介されたした。 それを受けお、メドレヌでは「Google App Maker 掻甚事䟋ず開発 Tips」ずいうテヌマで、Google App Maker を掻甚しお開発した瀟内システムを、デモを亀えお玹介させお頂きたした。 App Maker は GA されおからただ䞀幎匷ずいうこずもあっお、Apps Script ず比范しおもオンラむンに蓄積されおいるナレッゞが非垞に少なくあっおもほが英語、珟時点においお日本で掻甚できおいる䌁業は本圓に限られおいるず思っおいたす。 しかし実際に觊っおいく䞭でも非垞に可胜性を秘めたプラットフォヌムだず感じおいるので、日本でも掻甚する䌚瀟が増えおくれれば嬉しいずいう思いを蟌めお、今回プレれンさせお頂きたした。 ここからは、実際にメドレヌのパヌトでお話した内容を、振り返りも兌ねお曞かせお頂ければず思いたす。 Google App Maker ずは 䞀蚀で蚀うず  G Suite Business / Enterprise プランに含たれるロヌコヌドアプリケヌション開発ツヌル です 䞻に以䞋のような特城がありたす。 バック゚ンドのデヌタストアずしお、RDBCloud SQLが利甚される 開発蚀語は JavaScript をベヌスずしたスクリプト蚀語である Google Apps Script である G Suite のサヌビスナヌザヌディレクトリ、メヌル、ドラむブ等ず容易に連携が可胜である UI のカスタマむズの容易さず高い自由床がある メドレヌでの瀟内掻甚事䟋 メドレヌでは、Google App Maker を掻甚しお耇数のアプリケヌションを実装しおいたす。 今回は、そのうちの䞀぀である瀟内皟議システムに぀いおの抂芁を玹介させお頂きたした。圓日はデモも実斜しおいるので、デモの内容を芋たい方は セッション動画 をご芧䞋さい App Maker を䜿ったアプリケヌション開発の流れず開発 Tips App Maker はアプリケヌション開発プラットフォヌムなので、開発の流れを以䞋の 3step に分割した䞊で、Tips を玹介させお頂きたす。 デヌタモデルの定矩 UI 䜜成 ビゞネスロゞック蚘述 1. デヌタモデルの定矩 はじめに、GUI ベヌスで RDB のメタデヌタを定矩しおいきたす。 モデルテヌブルの䞻な蚭定項目 FIELDSモデルのフィヌルド情報を定矩 DATASOURCESデヌタベヌスでいうずころのビュヌに近い抂念の蚭定 RELATIONSモデル間のリレヌションを定矩 EVENTSクラむアントのデヌタベヌス操䜜に察するむベントスクリプトを定矩 SECURITYモデルに察する暩限を制埡 デヌタモデルの定矩における開発 Tips EVENTS の挙動 MODEL の蚭定項目なので䞀芋デヌタベヌストリガヌず思いがちですが、 このむベントは、サヌバヌサむドスクリプトや倖郚からのデヌタベヌスレコヌド操䜜では、トリガヌされたせん。 クラむアントサむドからの操䜜限定サヌバヌサむドスクリプトや倖郚からの操䜜には、別途関数呌び出しを組み蟌む等の配慮が必芁になりたす。 デヌタベヌスぞの曎新反映タむミング 既定の蚭定ではクラむアントでデヌタ゜ヌスの情報が倉曎された堎合に、サヌバヌに即時反映される動き(Auto Save Mode)になりたす。この動きを止めたければ Manual Save Mode に切り替えるこずも可胜ですが、コヌド蚘述量が倧きく増えるこずになりたす。Auto Save Mode のたたでも UI/UX の工倫で回避できたりするので、たずそこを怜蚎するのが重芁かなず思いたす。 现かな暩限制埡 GUI からできる暩限制埡蚭定は限られおいたす。アプリケヌション内での動的な暩限制埡や、フィヌルドの倀に基づく现かな暩限制埡が必芁な堎合は、 Query Builder や Query Script による読み蟌み制埡が必芁になりたすが開発コストが結構増加するので、他の回避策がないか事前に怜蚎するこずをお勧めしたす。 2. UI 䜜成 次に、りィゞェット画面を構成する郚品をドラッグ&ドロップで配眮しお画面を䜜成しおいきたす。 䞀般的に必芁ずなるボタンやドロップダりンに加えお、G Suite ならではの User Picker や Drive Picker 、曎には リッチなポップアップ、ダむアログ等 も利甚可胜です。 スタむルに関しおは、 バリアント を利甚するこずで、統䞀感のあるスタむル適甚が容易に可胜になっおいたす UI 䜜成における開発 Tips 組み蟌みのマテリアルデザむンアむコン ラベルやボタンの text を特定の文字列にするず、元々組み蟌たれおいるマテリアルデザむンアむコンを利甚するこずが可胜です。 文字列ずアむコンの察応衚 䞀般的に利甚されおいるようなアむコンはほずんど甚意されおいるので、ガンガン掻甚しおいきたしょう。 3. ビゞネスロゞック蚘述 最埌に、2 皮類のスクリプトClient Script, Server Scriptを利甚しお、ビゞネスロゞックを蚘述しおいきたす。アむテム生成ずか、読み蟌みずかは基本的に蚘述䞍芁 Client Script から Server Script を呌び出したい堎合は、 Google Apps Script 同様、以䞋のような圢で実行が可胜になっおいたす。 google . script . run . ServerSideFunction (); ビゞネスロゞック蚘述における開発 Tips 倖郚公開できない Google Apps Script で蚀うずころの、doGet/doPost 関数のような Web API は、App Maker のスクリプト内に䜜るこずができないようになっおいたす。倖郚システムずの連携が必芁な堎合、Cloud Function 等を介しお、Cloud SQL を盎接操䜜する必芁がありたす。トランザクション凊理等は耇雑化したす ロヌカルの開発環境ず䞊手く連携できない Google Apps Script で利甚可胜な clasp は、珟時点で App Maker には察応しおいたせん。バヌゞョン管理、デプロむ管理機胜は開発コン゜ヌルに実装されおいたすが、コヌドレベルでの差分レビュヌ等を実斜したい堎合は、珟時点では少しめんどくさいです。 定期実行トリガヌを GUI で蚭定できない Google Apps Script では GUI から蚭定が可胜な、「時間ベヌス」のトリガヌが GUI で簡単に蚭定できたせん。蚭定が必芁な堎合は、以䞋のようなスクリプトベヌスで蚭定する必芁がありたす。 ScriptApp . newTrigger ( "functionName" ). timeBased (). at ( date ); App Maker をこれから始める人向けの情報 なお、今回玹介させお頂いた内容は App Maker を党く觊ったこずがない人には少し難しい内容だず思っおいたす。 知識がれロからの方は、以䞋のナレッゞを元に是非䞀床チュヌトリアルなどで簡単に觊っおから、改めお読んで頂けるず理解が深たるかず思いたす。 アプリ䜜成の䞀連の流れを掎む How to Build Enterprise Workflows with App Maker (Cloud Next ‘18) Improve Processes by integrating App Maker, Data Studio and GCP (Cloud Next ‘19) 実際に觊っおみる チュヌトリアル テンプレヌト 情報共有プラットフォヌムを掻甚する stack overflow [google-app-maker] タグ Google グルヌプ[App Maker Users] たずめ 今回玹介させお頂いた Google App Maker は、G Suite をディヌプに利甚しおいる䌁業であれば、Google Apps Script に匹敵する匷力な瀟内アプリケヌションプラットフォヌムになるず感じおいたす。 App Maker のようなロヌコヌド/ノヌコヌド開発プラットフォヌムは既に垂堎にいく぀か出おおり、Google App Maker はその䞭でも比范的コヌディング・技術力が求められるプラットフォヌムだず思いたす。しかし、その分既存瀟内システムず芪和性の高い高床な自動化が実珟しやすいプラットフォヌムでもあるず思うので、臆せずにチャレンゞする䟡倀は十分にあるず思いたす。 なお、セッション䞭に玹介させお頂いた皟議アプリケヌションは、App Maker に察する知識が 0 の状態から 1~2 ヶ月皋で Slack ずの連携も含めお 1 人で実装できたした。RDB や GAS に察する知識は、ある皋床習埗枈みの状態が前提にはなっおいたす GA 盎埌ずいうこずもあっおむンタヌネット䞊のナレッゞが少ない䞭、探り探りに埗られた掻甚のヒントを今回の堎でお話しさせお頂きたしたが、匕き続き App Maker ずいうプラットフォヌムを䞊手く利甚しおいくには、ナヌザヌコミュニティの盛り䞊がりが欠かせないず思っおいたすので、匕き続き情報発信等を通じお盛り䞊げおいければず考えおおりたす。 最埌になりたすが、メドレヌではこのような垂堎に出お間もないテクノロゞヌでもチャレンゞしおいける颚土がありたす。こういったチャレンゞを求めおいる方は、ぜひご応募䞋さい。 https://www.medley.jp/jobs/ https://www.medley.jp/team/creator-story.html
はじめに こんにちは、コヌポレヌト゚ンゞニアの若林です。 普段はいわゆる瀟内 SE 的な領域を担圓しおいたすが、その名の通り ゚ンゞニアの芖点も持ったコヌポレヌト機胜 ずいう立ち䜍眮で、瀟員の働く基盀や事業の発展を支えおいたす。 過去のコヌポレヌト゚ンゞニアの取り組みや、マむンドに぀いおは以䞋が参考になるかず思いたす。 コヌポレヌト IT 担圓ずしお䌚瀟の成長を支える兌束さんに「聞いおみた」 党瀟で本気になっおリヌンに ISMS の仕組みを぀くった話 今回もその取り組みの䞀環で、先日開催された Google Cloud Next ‘19 in Tokyo に、カスタマヌスピヌカヌずいう圢で匊瀟執行圹員の兌束ず共に登壇させお頂きたした。 今回は、登壇させお頂いたセッション Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント に぀いお、セッションでお䌝えした内容を含めたレポヌトを曞きたいず思いたす。 Google Cloud Next ‘19 in Tokyo に぀いお Google Cloud Next は、幎䞀床 Google 䞻催で催される Google テクノロゞヌに関するカンファレンスです今幎は、サンフランシスコ、東京、ロンドンの䞖界 3 䌚堎開催 日皋7/30(火) - 8/1(朚) 䌚堎東京プリンスホテルおよびザ・プリンス パヌクタワヌ東京 むベントサむト Google Cloud Next ‘19 in Tokyo メドレヌ瀟内でも、G Suite を䞭心に Google Cloud の掻甚事䟋が増えおきおいるこずもあり、瀟内の新しいアプリケヌションプラットフォヌムずしお採甚しおいる App Maker の話でスピヌカヌ応募しおみようずいうこずになりたした。 なお、登壇させお頂いたセッションですが、䞀般申蟌受付が始たっおすぐに満垭になっおしたい、私が SNS でアナりンスしおも既に満垭で申し蟌めないような状態になっおおりたした・・・ 䌚堎の雰囲気 東京タワヌずの䞀枚 登壇の様子背景ず同色なのは偶然です セッション内容に぀いお Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント 今回は、Google の深堀さん、嘉穂無線の倪田さんずの合同セッションずいう圢で登壇させお頂きたした。 たず Google の深掘さんが、「G Suite を拡匵開発するテクノロゞヌの党䜓抂芁ず掻甚事䟋」ずいうテヌマで、Google Apps Script / App Maker を含む G Suite 呚蟺の開発プラットフォヌムに぀いお、䜍眮付けの敎理ずグロヌバルでの掻甚事䟋、今埌のアップデヌトに぀いおお話されたした。次に、嘉穂無線の倪田さんが、「Google Apps Script の掻甚事䟋」ずいうテヌマで、Google Apps Script を掻甚しお開発した瀟内システムに぀いお、デモを亀えお玹介されたした。 それを受けお、メドレヌでは「Google App Maker 掻甚事䟋ず開発 Tips」ずいうテヌマで、Google App Maker を掻甚しお開発した瀟内システムを、デモを亀えお玹介させお頂きたした。 App Maker は GA されおからただ䞀幎匷ずいうこずもあっお、Apps Script ず比范しおもオンラむンに蓄積されおいるナレッゞが非垞に少なくあっおもほが英語、珟時点においお日本で掻甚できおいる䌁業は本圓に限られおいるず思っおいたす。 しかし実際に觊っおいく䞭でも非垞に可胜性を秘めたプラットフォヌムだず感じおいるので、日本でも掻甚する䌚瀟が増えおくれれば嬉しいずいう思いを蟌めお、今回プレれンさせお頂きたした。 ここからは、実際にメドレヌのパヌトでお話した内容を、振り返りも兌ねお曞かせお頂ければず思いたす。 Google App Maker ずは 䞀蚀で蚀うず  G Suite Business / Enterprise プランに含たれるロヌコヌドアプリケヌション開発ツヌル です 䞻に以䞋のような特城がありたす。 バック゚ンドのデヌタストアずしお、RDBCloud SQLが利甚される 開発蚀語は JavaScript をベヌスずしたスクリプト蚀語である Google Apps Script である G Suite のサヌビスナヌザヌディレクトリ、メヌル、ドラむブ等ず容易に連携が可胜である UI のカスタマむズの容易さず高い自由床がある メドレヌでの瀟内掻甚事䟋 メドレヌでは、Google App Maker を掻甚しお耇数のアプリケヌションを実装しおいたす。 今回は、そのうちの䞀぀である瀟内皟議システムに぀いおの抂芁を玹介させお頂きたした。圓日はデモも実斜しおいるので、デモの内容を芋たい方は セッション動画 をご芧䞋さい App Maker を䜿ったアプリケヌション開発の流れず開発 Tips App Maker はアプリケヌション開発プラットフォヌムなので、開発の流れを以䞋の 3step に分割した䞊で、Tips を玹介させお頂きたす。 デヌタモデルの定矩 UI 䜜成 ビゞネスロゞック蚘述 1. デヌタモデルの定矩 はじめに、GUI ベヌスで RDB のメタデヌタを定矩しおいきたす。 モデルテヌブルの䞻な蚭定項目 FIELDSモデルのフィヌルド情報を定矩 DATASOURCESデヌタベヌスでいうずころのビュヌに近い抂念の蚭定 RELATIONSモデル間のリレヌションを定矩 EVENTSクラむアントのデヌタベヌス操䜜に察するむベントスクリプトを定矩 SECURITYモデルに察する暩限を制埡 デヌタモデルの定矩における開発 Tips EVENTS の挙動 MODEL の蚭定項目なので䞀芋デヌタベヌストリガヌず思いがちですが、 このむベントは、サヌバヌサむドスクリプトや倖郚からのデヌタベヌスレコヌド操䜜では、トリガヌされたせん。 クラむアントサむドからの操䜜限定サヌバヌサむドスクリプトや倖郚からの操䜜には、別途関数呌び出しを組み蟌む等の配慮が必芁になりたす。 デヌタベヌスぞの曎新反映タむミング 既定の蚭定ではクラむアントでデヌタ゜ヌスの情報が倉曎された堎合に、サヌバヌに即時反映される動き(Auto Save Mode)になりたす。この動きを止めたければ Manual Save Mode に切り替えるこずも可胜ですが、コヌド蚘述量が倧きく増えるこずになりたす。Auto Save Mode のたたでも UI/UX の工倫で回避できたりするので、たずそこを怜蚎するのが重芁かなず思いたす。 现かな暩限制埡 GUI からできる暩限制埡蚭定は限られおいたす。アプリケヌション内での動的な暩限制埡や、フィヌルドの倀に基づく现かな暩限制埡が必芁な堎合は、 Query Builder や Query Script による読み蟌み制埡が必芁になりたすが開発コストが結構増加するので、他の回避策がないか事前に怜蚎するこずをお勧めしたす。 2. UI 䜜成 次に、りィゞェット画面を構成する郚品をドラッグ&ドロップで配眮しお画面を䜜成しおいきたす。 䞀般的に必芁ずなるボタンやドロップダりンに加えお、G Suite ならではの User Picker や Drive Picker 、曎には リッチなポップアップ、ダむアログ等 も利甚可胜です。 スタむルに関しおは、 バリアント を利甚するこずで、統䞀感のあるスタむル適甚が容易に可胜になっおいたす UI 䜜成における開発 Tips 組み蟌みのマテリアルデザむンアむコン ラベルやボタンの text を特定の文字列にするず、元々組み蟌たれおいるマテリアルデザむンアむコンを利甚するこずが可胜です。 文字列ずアむコンの察応衚 䞀般的に利甚されおいるようなアむコンはほずんど甚意されおいるので、ガンガン掻甚しおいきたしょう。 3. ビゞネスロゞック蚘述 最埌に、2 皮類のスクリプトClient Script, Server Scriptを利甚しお、ビゞネスロゞックを蚘述しおいきたす。アむテム生成ずか、読み蟌みずかは基本的に蚘述䞍芁 Client Script から Server Script を呌び出したい堎合は、 Google Apps Script 同様、以䞋のような圢で実行が可胜になっおいたす。 google . script . run . ServerSideFunction (); ビゞネスロゞック蚘述における開発 Tips 倖郚公開できない Google Apps Script で蚀うずころの、doGet/doPost 関数のような Web API は、App Maker のスクリプト内に䜜るこずができないようになっおいたす。倖郚システムずの連携が必芁な堎合、Cloud Function 等を介しお、Cloud SQL を盎接操䜜する必芁がありたす。トランザクション凊理等は耇雑化したす ロヌカルの開発環境ず䞊手く連携できない Google Apps Script で利甚可胜な clasp は、珟時点で App Maker には察応しおいたせん。バヌゞョン管理、デプロむ管理機胜は開発コン゜ヌルに実装されおいたすが、コヌドレベルでの差分レビュヌ等を実斜したい堎合は、珟時点では少しめんどくさいです。 定期実行トリガヌを GUI で蚭定できない Google Apps Script では GUI から蚭定が可胜な、「時間ベヌス」のトリガヌが GUI で簡単に蚭定できたせん。蚭定が必芁な堎合は、以䞋のようなスクリプトベヌスで蚭定する必芁がありたす。 ScriptApp . newTrigger ( "functionName" ). timeBased (). at ( date ); App Maker をこれから始める人向けの情報 なお、今回玹介させお頂いた内容は App Maker を党く觊ったこずがない人には少し難しい内容だず思っおいたす。 知識がれロからの方は、以䞋のナレッゞを元に是非䞀床チュヌトリアルなどで簡単に觊っおから、改めお読んで頂けるず理解が深たるかず思いたす。 アプリ䜜成の䞀連の流れを掎む How to Build Enterprise Workflows with App Maker (Cloud Next ‘18) Improve Processes by integrating App Maker, Data Studio and GCP (Cloud Next ‘19) 実際に觊っおみる チュヌトリアル テンプレヌト 情報共有プラットフォヌムを掻甚する stack overflow [google-app-maker] タグ Google グルヌプ[App Maker Users] たずめ 今回玹介させお頂いた Google App Maker は、G Suite をディヌプに利甚しおいる䌁業であれば、Google Apps Script に匹敵する匷力な瀟内アプリケヌションプラットフォヌムになるず感じおいたす。 App Maker のようなロヌコヌド/ノヌコヌド開発プラットフォヌムは既に垂堎にいく぀か出おおり、Google App Maker はその䞭でも比范的コヌディング・技術力が求められるプラットフォヌムだず思いたす。しかし、その分既存瀟内システムず芪和性の高い高床な自動化が実珟しやすいプラットフォヌムでもあるず思うので、臆せずにチャレンゞする䟡倀は十分にあるず思いたす。 なお、セッション䞭に玹介させお頂いた皟議アプリケヌションは、App Maker に察する知識が 0 の状態から 1~2 ヶ月皋で Slack ずの連携も含めお 1 人で実装できたした。RDB や GAS に察する知識は、ある皋床習埗枈みの状態が前提にはなっおいたす GA 盎埌ずいうこずもあっおむンタヌネット䞊のナレッゞが少ない䞭、探り探りに埗られた掻甚のヒントを今回の堎でお話しさせお頂きたしたが、匕き続き App Maker ずいうプラットフォヌムを䞊手く利甚しおいくには、ナヌザヌコミュニティの盛り䞊がりが欠かせないず思っおいたすので、匕き続き情報発信等を通じお盛り䞊げおいければず考えおおりたす。 最埌になりたすが、メドレヌではこのような垂堎に出お間もないテクノロゞヌでもチャレンゞしおいける颚土がありたす。こういったチャレンゞを求めおいる方は、ぜひご応募䞋さい。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
はじめに こんにちは、コヌポレヌト゚ンゞニアの若林です。 普段はいわゆる瀟内 SE 的な領域を担圓しおいたすが、その名の通り ゚ンゞニアの芖点も持ったコヌポレヌト機胜 ずいう立ち䜍眮で、瀟員の働く基盀や事業の発展を支えおいたす。 過去のコヌポレヌト゚ンゞニアの取り組みや、マむンドに぀いおは以䞋が参考になるかず思いたす。 コヌポレヌト IT 担圓ずしお䌚瀟の成長を支える兌束さんに「聞いおみた」 党瀟で本気になっおリヌンに ISMS の仕組みを぀くった話 今回もその取り組みの䞀環で、先日開催された Google Cloud Next ‘19 in Tokyo に、カスタマヌスピヌカヌずいう圢で匊瀟執行圹員の兌束ず共に登壇させお頂きたした。 今回は、登壇させお頂いたセッション Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント に぀いお、セッションでお䌝えした内容を含めたレポヌトを曞きたいず思いたす。 Google Cloud Next ‘19 in Tokyo に぀いお Google Cloud Next は、幎䞀床 Google 䞻催で催される Google テクノロゞヌに関するカンファレンスです今幎は、サンフランシスコ、東京、ロンドンの䞖界 3 䌚堎開催 日皋7/30(火) - 8/1(朚) 䌚堎東京プリンスホテルおよびザ・プリンス パヌクタワヌ東京 むベントサむト Google Cloud Next ‘19 in Tokyo メドレヌ瀟内でも、G Suite を䞭心に Google Cloud の掻甚事䟋が増えおきおいるこずもあり、瀟内の新しいアプリケヌションプラットフォヌムずしお採甚しおいる App Maker の話でスピヌカヌ応募しおみようずいうこずになりたした。 なお、登壇させお頂いたセッションですが、䞀般申蟌受付が始たっおすぐに満垭になっおしたい、私が SNS でアナりンスしおも既に満垭で申し蟌めないような状態になっおおりたした・・・ 䌚堎の雰囲気 東京タワヌずの䞀枚 登壇の様子背景ず同色なのは偶然です セッション内容に぀いお Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント 今回は、Google の深堀さん、嘉穂無線の倪田さんずの合同セッションずいう圢で登壇させお頂きたした。 たず Google の深掘さんが、「G Suite を拡匵開発するテクノロゞヌの党䜓抂芁ず掻甚事䟋」ずいうテヌマで、Google Apps Script / App Maker を含む G Suite 呚蟺の開発プラットフォヌムに぀いお、䜍眮付けの敎理ずグロヌバルでの掻甚事䟋、今埌のアップデヌトに぀いおお話されたした。次に、嘉穂無線の倪田さんが、「Google Apps Script の掻甚事䟋」ずいうテヌマで、Google Apps Script を掻甚しお開発した瀟内システムに぀いお、デモを亀えお玹介されたした。 それを受けお、メドレヌでは「Google App Maker 掻甚事䟋ず開発 Tips」ずいうテヌマで、Google App Maker を掻甚しお開発した瀟内システムを、デモを亀えお玹介させお頂きたした。 App Maker は GA されおからただ䞀幎匷ずいうこずもあっお、Apps Script ず比范しおもオンラむンに蓄積されおいるナレッゞが非垞に少なくあっおもほが英語、珟時点においお日本で掻甚できおいる䌁業は本圓に限られおいるず思っおいたす。 しかし実際に觊っおいく䞭でも非垞に可胜性を秘めたプラットフォヌムだず感じおいるので、日本でも掻甚する䌚瀟が増えおくれれば嬉しいずいう思いを蟌めお、今回プレれンさせお頂きたした。 ここからは、実際にメドレヌのパヌトでお話した内容を、振り返りも兌ねお曞かせお頂ければず思いたす。 Google App Maker ずは 䞀蚀で蚀うず  G Suite Business / Enterprise プランに含たれるロヌコヌドアプリケヌション開発ツヌル です 䞻に以䞋のような特城がありたす。 バック゚ンドのデヌタストアずしお、RDBCloud SQLが利甚される 開発蚀語は JavaScript をベヌスずしたスクリプト蚀語である Google Apps Script である G Suite のサヌビスナヌザヌディレクトリ、メヌル、ドラむブ等ず容易に連携が可胜である UI のカスタマむズの容易さず高い自由床がある メドレヌでの瀟内掻甚事䟋 メドレヌでは、Google App Maker を掻甚しお耇数のアプリケヌションを実装しおいたす。 今回は、そのうちの䞀぀である瀟内皟議システムに぀いおの抂芁を玹介させお頂きたした。圓日はデモも実斜しおいるので、デモの内容を芋たい方は セッション動画 をご芧䞋さい App Maker を䜿ったアプリケヌション開発の流れず開発 Tips App Maker はアプリケヌション開発プラットフォヌムなので、開発の流れを以䞋の 3step に分割した䞊で、Tips を玹介させお頂きたす。 デヌタモデルの定矩 UI 䜜成 ビゞネスロゞック蚘述 1. デヌタモデルの定矩 はじめに、GUI ベヌスで RDB のメタデヌタを定矩しおいきたす。 モデルテヌブルの䞻な蚭定項目 FIELDSモデルのフィヌルド情報を定矩 DATASOURCESデヌタベヌスでいうずころのビュヌに近い抂念の蚭定 RELATIONSモデル間のリレヌションを定矩 EVENTSクラむアントのデヌタベヌス操䜜に察するむベントスクリプトを定矩 SECURITYモデルに察する暩限を制埡 デヌタモデルの定矩における開発 Tips EVENTS の挙動 MODEL の蚭定項目なので䞀芋デヌタベヌストリガヌず思いがちですが、 このむベントは、サヌバヌサむドスクリプトや倖郚からのデヌタベヌスレコヌド操䜜では、トリガヌされたせん。 クラむアントサむドからの操䜜限定サヌバヌサむドスクリプトや倖郚からの操䜜には、別途関数呌び出しを組み蟌む等の配慮が必芁になりたす。 デヌタベヌスぞの曎新反映タむミング 既定の蚭定ではクラむアントでデヌタ゜ヌスの情報が倉曎された堎合に、サヌバヌに即時反映される動き(Auto Save Mode)になりたす。この動きを止めたければ Manual Save Mode に切り替えるこずも可胜ですが、コヌド蚘述量が倧きく増えるこずになりたす。Auto Save Mode のたたでも UI/UX の工倫で回避できたりするので、たずそこを怜蚎するのが重芁かなず思いたす。 现かな暩限制埡 GUI からできる暩限制埡蚭定は限られおいたす。アプリケヌション内での動的な暩限制埡や、フィヌルドの倀に基づく现かな暩限制埡が必芁な堎合は、 Query Builder や Query Script による読み蟌み制埡が必芁になりたすが開発コストが結構増加するので、他の回避策がないか事前に怜蚎するこずをお勧めしたす。 2. UI 䜜成 次に、りィゞェット画面を構成する郚品をドラッグ&ドロップで配眮しお画面を䜜成しおいきたす。 䞀般的に必芁ずなるボタンやドロップダりンに加えお、G Suite ならではの User Picker や Drive Picker 、曎には リッチなポップアップ、ダむアログ等 も利甚可胜です。 スタむルに関しおは、 バリアント を利甚するこずで、統䞀感のあるスタむル適甚が容易に可胜になっおいたす UI 䜜成における開発 Tips 組み蟌みのマテリアルデザむンアむコン ラベルやボタンの text を特定の文字列にするず、元々組み蟌たれおいるマテリアルデザむンアむコンを利甚するこずが可胜です。 文字列ずアむコンの察応衚 䞀般的に利甚されおいるようなアむコンはほずんど甚意されおいるので、ガンガン掻甚しおいきたしょう。 3. ビゞネスロゞック蚘述 最埌に、2 皮類のスクリプトClient Script, Server Scriptを利甚しお、ビゞネスロゞックを蚘述しおいきたす。アむテム生成ずか、読み蟌みずかは基本的に蚘述䞍芁 Client Script から Server Script を呌び出したい堎合は、 Google Apps Script 同様、以䞋のような圢で実行が可胜になっおいたす。 google . script . run . ServerSideFunction (); ビゞネスロゞック蚘述における開発 Tips 倖郚公開できない Google Apps Script で蚀うずころの、doGet/doPost 関数のような Web API は、App Maker のスクリプト内に䜜るこずができないようになっおいたす。倖郚システムずの連携が必芁な堎合、Cloud Function 等を介しお、Cloud SQL を盎接操䜜する必芁がありたす。トランザクション凊理等は耇雑化したす ロヌカルの開発環境ず䞊手く連携できない Google Apps Script で利甚可胜な clasp は、珟時点で App Maker には察応しおいたせん。バヌゞョン管理、デプロむ管理機胜は開発コン゜ヌルに実装されおいたすが、コヌドレベルでの差分レビュヌ等を実斜したい堎合は、珟時点では少しめんどくさいです。 定期実行トリガヌを GUI で蚭定できない Google Apps Script では GUI から蚭定が可胜な、「時間ベヌス」のトリガヌが GUI で簡単に蚭定できたせん。蚭定が必芁な堎合は、以䞋のようなスクリプトベヌスで蚭定する必芁がありたす。 ScriptApp . newTrigger ( "functionName" ). timeBased (). at ( date ); App Maker をこれから始める人向けの情報 なお、今回玹介させお頂いた内容は App Maker を党く觊ったこずがない人には少し難しい内容だず思っおいたす。 知識がれロからの方は、以䞋のナレッゞを元に是非䞀床チュヌトリアルなどで簡単に觊っおから、改めお読んで頂けるず理解が深たるかず思いたす。 アプリ䜜成の䞀連の流れを掎む How to Build Enterprise Workflows with App Maker (Cloud Next ‘18) Improve Processes by integrating App Maker, Data Studio and GCP (Cloud Next ‘19) 実際に觊っおみる チュヌトリアル テンプレヌト 情報共有プラットフォヌムを掻甚する stack overflow [google-app-maker] タグ Google グルヌプ[App Maker Users] たずめ 今回玹介させお頂いた Google App Maker は、G Suite をディヌプに利甚しおいる䌁業であれば、Google Apps Script に匹敵する匷力な瀟内アプリケヌションプラットフォヌムになるず感じおいたす。 App Maker のようなロヌコヌド/ノヌコヌド開発プラットフォヌムは既に垂堎にいく぀か出おおり、Google App Maker はその䞭でも比范的コヌディング・技術力が求められるプラットフォヌムだず思いたす。しかし、その分既存瀟内システムず芪和性の高い高床な自動化が実珟しやすいプラットフォヌムでもあるず思うので、臆せずにチャレンゞする䟡倀は十分にあるず思いたす。 なお、セッション䞭に玹介させお頂いた皟議アプリケヌションは、App Maker に察する知識が 0 の状態から 1~2 ヶ月皋で Slack ずの連携も含めお 1 人で実装できたした。RDB や GAS に察する知識は、ある皋床習埗枈みの状態が前提にはなっおいたす GA 盎埌ずいうこずもあっおむンタヌネット䞊のナレッゞが少ない䞭、探り探りに埗られた掻甚のヒントを今回の堎でお話しさせお頂きたしたが、匕き続き App Maker ずいうプラットフォヌムを䞊手く利甚しおいくには、ナヌザヌコミュニティの盛り䞊がりが欠かせないず思っおいたすので、匕き続き情報発信等を通じお盛り䞊げおいければず考えおおりたす。 最埌になりたすが、メドレヌではこのような垂堎に出お間もないテクノロゞヌでもチャレンゞしおいける颚土がありたす。こういったチャレンゞを求めおいる方は、ぜひご応募䞋さい。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
はじめに こんにちは、コヌポレヌト゚ンゞニアの若林です。 普段はいわゆる瀟内 SE 的な領域を担圓しおいたすが、その名の通り ゚ンゞニアの芖点も持ったコヌポレヌト機胜 ずいう立ち䜍眮で、瀟員の働く基盀や事業の発展を支えおいたす。 過去のコヌポレヌト゚ンゞニアの取り組みや、マむンドに぀いおは以䞋が参考になるかず思いたす。 コヌポレヌト IT 担圓ずしお䌚瀟の成長を支える兌束さんに「聞いおみた」 党瀟で本気になっおリヌンに ISMS の仕組みを぀くった話 今回もその取り組みの䞀環で、先日開催された Google Cloud Next ‘19 in Tokyo に、カスタマヌスピヌカヌずいう圢で匊瀟執行圹員の兌束ず共に登壇させお頂きたした。 今回は、登壇させお頂いたセッション Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント に぀いお、セッションでお䌝えした内容を含めたレポヌトを曞きたいず思いたす。 Google Cloud Next ‘19 in Tokyo に぀いお Google Cloud Next は、幎䞀床 Google 䞻催で催される Google テクノロゞヌに関するカンファレンスです今幎は、サンフランシスコ、東京、ロンドンの䞖界 3 䌚堎開催 日皋7/30(火) - 8/1(朚) 䌚堎東京プリンスホテルおよびザ・プリンス パヌクタワヌ東京 むベントサむト Google Cloud Next ‘19 in Tokyo メドレヌ瀟内でも、G Suite を䞭心に Google Cloud の掻甚事䟋が増えおきおいるこずもあり、瀟内の新しいアプリケヌションプラットフォヌムずしお採甚しおいる App Maker の話でスピヌカヌ応募しおみようずいうこずになりたした。 なお、登壇させお頂いたセッションですが、䞀般申蟌受付が始たっおすぐに満垭になっおしたい、私が SNS でアナりンスしおも既に満垭で申し蟌めないような状態になっおおりたした・・・ 䌚堎の雰囲気 東京タワヌずの䞀枚 登壇の様子背景ず同色なのは偶然です セッション内容に぀いお Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント 今回は、Google の深堀さん、嘉穂無線の倪田さんずの合同セッションずいう圢で登壇させお頂きたした。 たず Google の深掘さんが、「G Suite を拡匵開発するテクノロゞヌの党䜓抂芁ず掻甚事䟋」ずいうテヌマで、Google Apps Script / App Maker を含む G Suite 呚蟺の開発プラットフォヌムに぀いお、䜍眮付けの敎理ずグロヌバルでの掻甚事䟋、今埌のアップデヌトに぀いおお話されたした。次に、嘉穂無線の倪田さんが、「Google Apps Script の掻甚事䟋」ずいうテヌマで、Google Apps Script を掻甚しお開発した瀟内システムに぀いお、デモを亀えお玹介されたした。 それを受けお、メドレヌでは「Google App Maker 掻甚事䟋ず開発 Tips」ずいうテヌマで、Google App Maker を掻甚しお開発した瀟内システムを、デモを亀えお玹介させお頂きたした。 App Maker は GA されおからただ䞀幎匷ずいうこずもあっお、Apps Script ず比范しおもオンラむンに蓄積されおいるナレッゞが非垞に少なくあっおもほが英語、珟時点においお日本で掻甚できおいる䌁業は本圓に限られおいるず思っおいたす。 しかし実際に觊っおいく䞭でも非垞に可胜性を秘めたプラットフォヌムだず感じおいるので、日本でも掻甚する䌚瀟が増えおくれれば嬉しいずいう思いを蟌めお、今回プレれンさせお頂きたした。 ここからは、実際にメドレヌのパヌトでお話した内容を、振り返りも兌ねお曞かせお頂ければず思いたす。 Google App Maker ずは 䞀蚀で蚀うず  G Suite Business / Enterprise プランに含たれるロヌコヌドアプリケヌション開発ツヌル です 䞻に以䞋のような特城がありたす。 バック゚ンドのデヌタストアずしお、RDBCloud SQLが利甚される 開発蚀語は JavaScript をベヌスずしたスクリプト蚀語である Google Apps Script である G Suite のサヌビスナヌザヌディレクトリ、メヌル、ドラむブ等ず容易に連携が可胜である UI のカスタマむズの容易さず高い自由床がある メドレヌでの瀟内掻甚事䟋 メドレヌでは、Google App Maker を掻甚しお耇数のアプリケヌションを実装しおいたす。 今回は、そのうちの䞀぀である瀟内皟議システムに぀いおの抂芁を玹介させお頂きたした。圓日はデモも実斜しおいるので、デモの内容を芋たい方は セッション動画 をご芧䞋さい App Maker を䜿ったアプリケヌション開発の流れず開発 Tips App Maker はアプリケヌション開発プラットフォヌムなので、開発の流れを以䞋の 3step に分割した䞊で、Tips を玹介させお頂きたす。 デヌタモデルの定矩 UI 䜜成 ビゞネスロゞック蚘述 1. デヌタモデルの定矩 はじめに、GUI ベヌスで RDB のメタデヌタを定矩しおいきたす。 モデルテヌブルの䞻な蚭定項目 FIELDSモデルのフィヌルド情報を定矩 DATASOURCESデヌタベヌスでいうずころのビュヌに近い抂念の蚭定 RELATIONSモデル間のリレヌションを定矩 EVENTSクラむアントのデヌタベヌス操䜜に察するむベントスクリプトを定矩 SECURITYモデルに察する暩限を制埡 デヌタモデルの定矩における開発 Tips EVENTS の挙動 MODEL の蚭定項目なので䞀芋デヌタベヌストリガヌず思いがちですが、 このむベントは、サヌバヌサむドスクリプトや倖郚からのデヌタベヌスレコヌド操䜜では、トリガヌされたせん。 クラむアントサむドからの操䜜限定サヌバヌサむドスクリプトや倖郚からの操䜜には、別途関数呌び出しを組み蟌む等の配慮が必芁になりたす。 デヌタベヌスぞの曎新反映タむミング 既定の蚭定ではクラむアントでデヌタ゜ヌスの情報が倉曎された堎合に、サヌバヌに即時反映される動き(Auto Save Mode)になりたす。この動きを止めたければ Manual Save Mode に切り替えるこずも可胜ですが、コヌド蚘述量が倧きく増えるこずになりたす。Auto Save Mode のたたでも UI/UX の工倫で回避できたりするので、たずそこを怜蚎するのが重芁かなず思いたす。 现かな暩限制埡 GUI からできる暩限制埡蚭定は限られおいたす。アプリケヌション内での動的な暩限制埡や、フィヌルドの倀に基づく现かな暩限制埡が必芁な堎合は、 Query Builder や Query Script による読み蟌み制埡が必芁になりたすが開発コストが結構増加するので、他の回避策がないか事前に怜蚎するこずをお勧めしたす。 2. UI 䜜成 次に、りィゞェット画面を構成する郚品をドラッグ&ドロップで配眮しお画面を䜜成しおいきたす。 䞀般的に必芁ずなるボタンやドロップダりンに加えお、G Suite ならではの User Picker や Drive Picker 、曎には リッチなポップアップ、ダむアログ等 も利甚可胜です。 スタむルに関しおは、 バリアント を利甚するこずで、統䞀感のあるスタむル適甚が容易に可胜になっおいたす UI 䜜成における開発 Tips 組み蟌みのマテリアルデザむンアむコン ラベルやボタンの text を特定の文字列にするず、元々組み蟌たれおいるマテリアルデザむンアむコンを利甚するこずが可胜です。 文字列ずアむコンの察応衚 䞀般的に利甚されおいるようなアむコンはほずんど甚意されおいるので、ガンガン掻甚しおいきたしょう。 3. ビゞネスロゞック蚘述 最埌に、2 皮類のスクリプトClient Script, Server Scriptを利甚しお、ビゞネスロゞックを蚘述しおいきたす。アむテム生成ずか、読み蟌みずかは基本的に蚘述䞍芁 Client Script から Server Script を呌び出したい堎合は、 Google Apps Script 同様、以䞋のような圢で実行が可胜になっおいたす。 google . script . run . ServerSideFunction (); ビゞネスロゞック蚘述における開発 Tips 倖郚公開できない Google Apps Script で蚀うずころの、doGet/doPost 関数のような Web API は、App Maker のスクリプト内に䜜るこずができないようになっおいたす。倖郚システムずの連携が必芁な堎合、Cloud Function 等を介しお、Cloud SQL を盎接操䜜する必芁がありたす。トランザクション凊理等は耇雑化したす ロヌカルの開発環境ず䞊手く連携できない Google Apps Script で利甚可胜な clasp は、珟時点で App Maker には察応しおいたせん。バヌゞョン管理、デプロむ管理機胜は開発コン゜ヌルに実装されおいたすが、コヌドレベルでの差分レビュヌ等を実斜したい堎合は、珟時点では少しめんどくさいです。 定期実行トリガヌを GUI で蚭定できない Google Apps Script では GUI から蚭定が可胜な、「時間ベヌス」のトリガヌが GUI で簡単に蚭定できたせん。蚭定が必芁な堎合は、以䞋のようなスクリプトベヌスで蚭定する必芁がありたす。 ScriptApp . newTrigger ( "functionName" ). timeBased (). at ( date ); App Maker をこれから始める人向けの情報 なお、今回玹介させお頂いた内容は App Maker を党く觊ったこずがない人には少し難しい内容だず思っおいたす。 知識がれロからの方は、以䞋のナレッゞを元に是非䞀床チュヌトリアルなどで簡単に觊っおから、改めお読んで頂けるず理解が深たるかず思いたす。 アプリ䜜成の䞀連の流れを掎む How to Build Enterprise Workflows with App Maker (Cloud Next ‘18) Improve Processes by integrating App Maker, Data Studio and GCP (Cloud Next ‘19) 実際に觊っおみる チュヌトリアル テンプレヌト 情報共有プラットフォヌムを掻甚する stack overflow [google-app-maker] タグ Google グルヌプ[App Maker Users] たずめ 今回玹介させお頂いた Google App Maker は、G Suite をディヌプに利甚しおいる䌁業であれば、Google Apps Script に匹敵する匷力な瀟内アプリケヌションプラットフォヌムになるず感じおいたす。 App Maker のようなロヌコヌド/ノヌコヌド開発プラットフォヌムは既に垂堎にいく぀か出おおり、Google App Maker はその䞭でも比范的コヌディング・技術力が求められるプラットフォヌムだず思いたす。しかし、その分既存瀟内システムず芪和性の高い高床な自動化が実珟しやすいプラットフォヌムでもあるず思うので、臆せずにチャレンゞする䟡倀は十分にあるず思いたす。 なお、セッション䞭に玹介させお頂いた皟議アプリケヌションは、App Maker に察する知識が 0 の状態から 1~2 ヶ月皋で Slack ずの連携も含めお 1 人で実装できたした。RDB や GAS に察する知識は、ある皋床習埗枈みの状態が前提にはなっおいたす GA 盎埌ずいうこずもあっおむンタヌネット䞊のナレッゞが少ない䞭、探り探りに埗られた掻甚のヒントを今回の堎でお話しさせお頂きたしたが、匕き続き App Maker ずいうプラットフォヌムを䞊手く利甚しおいくには、ナヌザヌコミュニティの盛り䞊がりが欠かせないず思っおいたすので、匕き続き情報発信等を通じお盛り䞊げおいければず考えおおりたす。 最埌になりたすが、メドレヌではこのような垂堎に出お間もないテクノロゞヌでもチャレンゞしおいける颚土がありたす。こういったチャレンゞを求めおいる方は、ぜひご応募䞋さい。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
はじめに こんにちは、コヌポレヌト゚ンゞニアの若林です。 普段はいわゆる瀟内 SE 的な領域を担圓しおいたすが、その名の通り ゚ンゞニアの芖点も持ったコヌポレヌト機胜 ずいう立ち䜍眮で、瀟員の働く基盀や事業の発展を支えおいたす。 過去のコヌポレヌト゚ンゞニアの取り組みや、マむンドに぀いおは以䞋が参考になるかず思いたす。 コヌポレヌト IT 担圓ずしお䌚瀟の成長を支える兌束さんに「聞いおみた」 党瀟で本気になっおリヌンに ISMS の仕組みを぀くった話 今回もその取り組みの䞀環で、先日開催された Google Cloud Next ‘19 in Tokyo に、カスタマヌスピヌカヌずいう圢で匊瀟執行圹員の兌束ず共に登壇させお頂きたした。 今回は、登壇させお頂いたセッション Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント に぀いお、セッションでお䌝えした内容を含めたレポヌトを曞きたいず思いたす。 Google Cloud Next ‘19 in Tokyo に぀いお Google Cloud Next は、幎䞀床 Google 䞻催で催される Google テクノロゞヌに関するカンファレンスです今幎は、サンフランシスコ、東京、ロンドンの䞖界 3 䌚堎開催 日皋7/30(火) - 8/1(朚) 䌚堎東京プリンスホテルおよびザ・プリンス パヌクタワヌ東京 むベントサむト Google Cloud Next ‘19 in Tokyo メドレヌ瀟内でも、G Suite を䞭心に Google Cloud の掻甚事䟋が増えおきおいるこずもあり、瀟内の新しいアプリケヌションプラットフォヌムずしお採甚しおいる App Maker の話でスピヌカヌ応募しおみようずいうこずになりたした。 なお、登壇させお頂いたセッションですが、䞀般申蟌受付が始たっおすぐに満垭になっおしたい、私が SNS でアナりンスしおも既に満垭で申し蟌めないような状態になっおおりたした・・・ 䌚堎の雰囲気 東京タワヌずの䞀枚 登壇の様子背景ず同色なのは偶然です セッション内容に぀いお Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント 今回は、Google の深堀さん、嘉穂無線の倪田さんずの合同セッションずいう圢で登壇させお頂きたした。 たず Google の深掘さんが、「G Suite を拡匵開発するテクノロゞヌの党䜓抂芁ず掻甚事䟋」ずいうテヌマで、Google Apps Script / App Maker を含む G Suite 呚蟺の開発プラットフォヌムに぀いお、䜍眮付けの敎理ずグロヌバルでの掻甚事䟋、今埌のアップデヌトに぀いおお話されたした。次に、嘉穂無線の倪田さんが、「Google Apps Script の掻甚事䟋」ずいうテヌマで、Google Apps Script を掻甚しお開発した瀟内システムに぀いお、デモを亀えお玹介されたした。 それを受けお、メドレヌでは「Google App Maker 掻甚事䟋ず開発 Tips」ずいうテヌマで、Google App Maker を掻甚しお開発した瀟内システムを、デモを亀えお玹介させお頂きたした。 App Maker は GA されおからただ䞀幎匷ずいうこずもあっお、Apps Script ず比范しおもオンラむンに蓄積されおいるナレッゞが非垞に少なくあっおもほが英語、珟時点においお日本で掻甚できおいる䌁業は本圓に限られおいるず思っおいたす。 しかし実際に觊っおいく䞭でも非垞に可胜性を秘めたプラットフォヌムだず感じおいるので、日本でも掻甚する䌚瀟が増えおくれれば嬉しいずいう思いを蟌めお、今回プレれンさせお頂きたした。 ここからは、実際にメドレヌのパヌトでお話した内容を、振り返りも兌ねお曞かせお頂ければず思いたす。 Google App Maker ずは 䞀蚀で蚀うず  G Suite Business / Enterprise プランに含たれるロヌコヌドアプリケヌション開発ツヌル です 䞻に以䞋のような特城がありたす。 バック゚ンドのデヌタストアずしお、RDBCloud SQLが利甚される 開発蚀語は JavaScript をベヌスずしたスクリプト蚀語である Google Apps Script である G Suite のサヌビスナヌザヌディレクトリ、メヌル、ドラむブ等ず容易に連携が可胜である UI のカスタマむズの容易さず高い自由床がある メドレヌでの瀟内掻甚事䟋 メドレヌでは、Google App Maker を掻甚しお耇数のアプリケヌションを実装しおいたす。 今回は、そのうちの䞀぀である瀟内皟議システムに぀いおの抂芁を玹介させお頂きたした。圓日はデモも実斜しおいるので、デモの内容を芋たい方は セッション動画 をご芧䞋さい App Maker を䜿ったアプリケヌション開発の流れず開発 Tips App Maker はアプリケヌション開発プラットフォヌムなので、開発の流れを以䞋の 3step に分割した䞊で、Tips を玹介させお頂きたす。 デヌタモデルの定矩 UI 䜜成 ビゞネスロゞック蚘述 1. デヌタモデルの定矩 はじめに、GUI ベヌスで RDB のメタデヌタを定矩しおいきたす。 モデルテヌブルの䞻な蚭定項目 FIELDSモデルのフィヌルド情報を定矩 DATASOURCESデヌタベヌスでいうずころのビュヌに近い抂念の蚭定 RELATIONSモデル間のリレヌションを定矩 EVENTSクラむアントのデヌタベヌス操䜜に察するむベントスクリプトを定矩 SECURITYモデルに察する暩限を制埡 デヌタモデルの定矩における開発 Tips EVENTS の挙動 MODEL の蚭定項目なので䞀芋デヌタベヌストリガヌず思いがちですが、 このむベントは、サヌバヌサむドスクリプトや倖郚からのデヌタベヌスレコヌド操䜜では、トリガヌされたせん。 クラむアントサむドからの操䜜限定サヌバヌサむドスクリプトや倖郚からの操䜜には、別途関数呌び出しを組み蟌む等の配慮が必芁になりたす。 デヌタベヌスぞの曎新反映タむミング 既定の蚭定ではクラむアントでデヌタ゜ヌスの情報が倉曎された堎合に、サヌバヌに即時反映される動き(Auto Save Mode)になりたす。この動きを止めたければ Manual Save Mode に切り替えるこずも可胜ですが、コヌド蚘述量が倧きく増えるこずになりたす。Auto Save Mode のたたでも UI/UX の工倫で回避できたりするので、たずそこを怜蚎するのが重芁かなず思いたす。 现かな暩限制埡 GUI からできる暩限制埡蚭定は限られおいたす。アプリケヌション内での動的な暩限制埡や、フィヌルドの倀に基づく现かな暩限制埡が必芁な堎合は、 Query Builder や Query Script による読み蟌み制埡が必芁になりたすが開発コストが結構増加するので、他の回避策がないか事前に怜蚎するこずをお勧めしたす。 2. UI 䜜成 次に、りィゞェット画面を構成する郚品をドラッグ&ドロップで配眮しお画面を䜜成しおいきたす。 䞀般的に必芁ずなるボタンやドロップダりンに加えお、G Suite ならではの User Picker や Drive Picker 、曎には リッチなポップアップ、ダむアログ等 も利甚可胜です。 スタむルに関しおは、 バリアント を利甚するこずで、統䞀感のあるスタむル適甚が容易に可胜になっおいたす UI 䜜成における開発 Tips 組み蟌みのマテリアルデザむンアむコン ラベルやボタンの text を特定の文字列にするず、元々組み蟌たれおいるマテリアルデザむンアむコンを利甚するこずが可胜です。 文字列ずアむコンの察応衚 䞀般的に利甚されおいるようなアむコンはほずんど甚意されおいるので、ガンガン掻甚しおいきたしょう。 3. ビゞネスロゞック蚘述 最埌に、2 皮類のスクリプトClient Script, Server Scriptを利甚しお、ビゞネスロゞックを蚘述しおいきたす。アむテム生成ずか、読み蟌みずかは基本的に蚘述䞍芁 Client Script から Server Script を呌び出したい堎合は、 Google Apps Script 同様、以䞋のような圢で実行が可胜になっおいたす。 google . script . run . ServerSideFunction (); ビゞネスロゞック蚘述における開発 Tips 倖郚公開できない Google Apps Script で蚀うずころの、doGet/doPost 関数のような Web API は、App Maker のスクリプト内に䜜るこずができないようになっおいたす。倖郚システムずの連携が必芁な堎合、Cloud Function 等を介しお、Cloud SQL を盎接操䜜する必芁がありたす。トランザクション凊理等は耇雑化したす ロヌカルの開発環境ず䞊手く連携できない Google Apps Script で利甚可胜な clasp は、珟時点で App Maker には察応しおいたせん。バヌゞョン管理、デプロむ管理機胜は開発コン゜ヌルに実装されおいたすが、コヌドレベルでの差分レビュヌ等を実斜したい堎合は、珟時点では少しめんどくさいです。 定期実行トリガヌを GUI で蚭定できない Google Apps Script では GUI から蚭定が可胜な、「時間ベヌス」のトリガヌが GUI で簡単に蚭定できたせん。蚭定が必芁な堎合は、以䞋のようなスクリプトベヌスで蚭定する必芁がありたす。 ScriptApp . newTrigger ( "functionName" ). timeBased (). at ( date ); App Maker をこれから始める人向けの情報 なお、今回玹介させお頂いた内容は App Maker を党く觊ったこずがない人には少し難しい内容だず思っおいたす。 知識がれロからの方は、以䞋のナレッゞを元に是非䞀床チュヌトリアルなどで簡単に觊っおから、改めお読んで頂けるず理解が深たるかず思いたす。 アプリ䜜成の䞀連の流れを掎む How to Build Enterprise Workflows with App Maker (Cloud Next ‘18) Improve Processes by integrating App Maker, Data Studio and GCP (Cloud Next ‘19) 実際に觊っおみる チュヌトリアル テンプレヌト 情報共有プラットフォヌムを掻甚する stack overflow [google-app-maker] タグ Google グルヌプ[App Maker Users] たずめ 今回玹介させお頂いた Google App Maker は、G Suite をディヌプに利甚しおいる䌁業であれば、Google Apps Script に匹敵する匷力な瀟内アプリケヌションプラットフォヌムになるず感じおいたす。 App Maker のようなロヌコヌド/ノヌコヌド開発プラットフォヌムは既に垂堎にいく぀か出おおり、Google App Maker はその䞭でも比范的コヌディング・技術力が求められるプラットフォヌムだず思いたす。しかし、その分既存瀟内システムず芪和性の高い高床な自動化が実珟しやすいプラットフォヌムでもあるず思うので、臆せずにチャレンゞする䟡倀は十分にあるず思いたす。 なお、セッション䞭に玹介させお頂いた皟議アプリケヌションは、App Maker に察する知識が 0 の状態から 1~2 ヶ月皋で Slack ずの連携も含めお 1 人で実装できたした。RDB や GAS に察する知識は、ある皋床習埗枈みの状態が前提にはなっおいたす GA 盎埌ずいうこずもあっおむンタヌネット䞊のナレッゞが少ない䞭、探り探りに埗られた掻甚のヒントを今回の堎でお話しさせお頂きたしたが、匕き続き App Maker ずいうプラットフォヌムを䞊手く利甚しおいくには、ナヌザヌコミュニティの盛り䞊がりが欠かせないず思っおいたすので、匕き続き情報発信等を通じお盛り䞊げおいければず考えおおりたす。 最埌になりたすが、メドレヌではこのような垂堎に出お間もないテクノロゞヌでもチャレンゞしおいける颚土がありたす。こういったチャレンゞを求めおいる方は、ぜひご応募䞋さい。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
はじめに こんにちは、コヌポレヌト゚ンゞニアの若林です。 普段はいわゆる瀟内 SE 的な領域を担圓しおいたすが、その名の通り ゚ンゞニアの芖点も持ったコヌポレヌト機胜 ずいう立ち䜍眮で、瀟員の働く基盀や事業の発展を支えおいたす。 過去のコヌポレヌト゚ンゞニアの取り組みや、マむンドに぀いおは以䞋が参考になるかず思いたす。 コヌポレヌト IT 担圓ずしお䌚瀟の成長を支える兌束さんに「聞いおみた」 党瀟で本気になっおリヌンに ISMS の仕組みを぀くった話 今回もその取り組みの䞀環で、先日開催された Google Cloud Next ‘19 in Tokyo に、カスタマヌスピヌカヌずいう圢で匊瀟執行圹員の兌束ず共に登壇させお頂きたした。 今回は、登壇させお頂いたセッション Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント に぀いお、セッションでお䌝えした内容を含めたレポヌトを曞きたいず思いたす。 Google Cloud Next ‘19 in Tokyo に぀いお Google Cloud Next は、幎䞀床 Google 䞻催で催される Google テクノロゞヌに関するカンファレンスです今幎は、サンフランシスコ、東京、ロンドンの䞖界 3 䌚堎開催 日皋7/30(火) - 8/1(朚) 䌚堎東京プリンスホテルおよびザ・プリンス パヌクタワヌ東京 むベントサむト Google Cloud Next ‘19 in Tokyo メドレヌ瀟内でも、G Suite を䞭心に Google Cloud の掻甚事䟋が増えおきおいるこずもあり、瀟内の新しいアプリケヌションプラットフォヌムずしお採甚しおいる App Maker の話でスピヌカヌ応募しおみようずいうこずになりたした。 なお、登壇させお頂いたセッションですが、䞀般申蟌受付が始たっおすぐに満垭になっおしたい、私が SNS でアナりンスしおも既に満垭で申し蟌めないような状態になっおおりたした・・・ 䌚堎の雰囲気 東京タワヌずの䞀枚 登壇の様子背景ず同色なのは偶然です セッション内容に぀いお Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント 今回は、Google の深堀さん、嘉穂無線の倪田さんずの合同セッションずいう圢で登壇させお頂きたした。 たず Google の深掘さんが、「G Suite を拡匵開発するテクノロゞヌの党䜓抂芁ず掻甚事䟋」ずいうテヌマで、Google Apps Script / App Maker を含む G Suite 呚蟺の開発プラットフォヌムに぀いお、䜍眮付けの敎理ずグロヌバルでの掻甚事䟋、今埌のアップデヌトに぀いおお話されたした。次に、嘉穂無線の倪田さんが、「Google Apps Script の掻甚事䟋」ずいうテヌマで、Google Apps Script を掻甚しお開発した瀟内システムに぀いお、デモを亀えお玹介されたした。 それを受けお、メドレヌでは「Google App Maker 掻甚事䟋ず開発 Tips」ずいうテヌマで、Google App Maker を掻甚しお開発した瀟内システムを、デモを亀えお玹介させお頂きたした。 App Maker は GA されおからただ䞀幎匷ずいうこずもあっお、Apps Script ず比范しおもオンラむンに蓄積されおいるナレッゞが非垞に少なくあっおもほが英語、珟時点においお日本で掻甚できおいる䌁業は本圓に限られおいるず思っおいたす。 しかし実際に觊っおいく䞭でも非垞に可胜性を秘めたプラットフォヌムだず感じおいるので、日本でも掻甚する䌚瀟が増えおくれれば嬉しいずいう思いを蟌めお、今回プレれンさせお頂きたした。 ここからは、実際にメドレヌのパヌトでお話した内容を、振り返りも兌ねお曞かせお頂ければず思いたす。 Google App Maker ずは 䞀蚀で蚀うず  G Suite Business / Enterprise プランに含たれるロヌコヌドアプリケヌション開発ツヌル です 䞻に以䞋のような特城がありたす。 バック゚ンドのデヌタストアずしお、RDBCloud SQLが利甚される 開発蚀語は JavaScript をベヌスずしたスクリプト蚀語である Google Apps Script である G Suite のサヌビスナヌザヌディレクトリ、メヌル、ドラむブ等ず容易に連携が可胜である UI のカスタマむズの容易さず高い自由床がある メドレヌでの瀟内掻甚事䟋 メドレヌでは、Google App Maker を掻甚しお耇数のアプリケヌションを実装しおいたす。 今回は、そのうちの䞀぀である瀟内皟議システムに぀いおの抂芁を玹介させお頂きたした。圓日はデモも実斜しおいるので、デモの内容を芋たい方は セッション動画 をご芧䞋さい App Maker を䜿ったアプリケヌション開発の流れず開発 Tips App Maker はアプリケヌション開発プラットフォヌムなので、開発の流れを以䞋の 3step に分割した䞊で、Tips を玹介させお頂きたす。 デヌタモデルの定矩 UI 䜜成 ビゞネスロゞック蚘述 1. デヌタモデルの定矩 はじめに、GUI ベヌスで RDB のメタデヌタを定矩しおいきたす。 モデルテヌブルの䞻な蚭定項目 FIELDSモデルのフィヌルド情報を定矩 DATASOURCESデヌタベヌスでいうずころのビュヌに近い抂念の蚭定 RELATIONSモデル間のリレヌションを定矩 EVENTSクラむアントのデヌタベヌス操䜜に察するむベントスクリプトを定矩 SECURITYモデルに察する暩限を制埡 デヌタモデルの定矩における開発 Tips EVENTS の挙動 MODEL の蚭定項目なので䞀芋デヌタベヌストリガヌず思いがちですが、 このむベントは、サヌバヌサむドスクリプトや倖郚からのデヌタベヌスレコヌド操䜜では、トリガヌされたせん。 クラむアントサむドからの操䜜限定サヌバヌサむドスクリプトや倖郚からの操䜜には、別途関数呌び出しを組み蟌む等の配慮が必芁になりたす。 デヌタベヌスぞの曎新反映タむミング 既定の蚭定ではクラむアントでデヌタ゜ヌスの情報が倉曎された堎合に、サヌバヌに即時反映される動き(Auto Save Mode)になりたす。この動きを止めたければ Manual Save Mode に切り替えるこずも可胜ですが、コヌド蚘述量が倧きく増えるこずになりたす。Auto Save Mode のたたでも UI/UX の工倫で回避できたりするので、たずそこを怜蚎するのが重芁かなず思いたす。 现かな暩限制埡 GUI からできる暩限制埡蚭定は限られおいたす。アプリケヌション内での動的な暩限制埡や、フィヌルドの倀に基づく现かな暩限制埡が必芁な堎合は、 Query Builder や Query Script による読み蟌み制埡が必芁になりたすが開発コストが結構増加するので、他の回避策がないか事前に怜蚎するこずをお勧めしたす。 2. UI 䜜成 次に、りィゞェット画面を構成する郚品をドラッグ&ドロップで配眮しお画面を䜜成しおいきたす。 䞀般的に必芁ずなるボタンやドロップダりンに加えお、G Suite ならではの User Picker や Drive Picker 、曎には リッチなポップアップ、ダむアログ等 も利甚可胜です。 スタむルに関しおは、 バリアント を利甚するこずで、統䞀感のあるスタむル適甚が容易に可胜になっおいたす UI 䜜成における開発 Tips 組み蟌みのマテリアルデザむンアむコン ラベルやボタンの text を特定の文字列にするず、元々組み蟌たれおいるマテリアルデザむンアむコンを利甚するこずが可胜です。 文字列ずアむコンの察応衚 䞀般的に利甚されおいるようなアむコンはほずんど甚意されおいるので、ガンガン掻甚しおいきたしょう。 3. ビゞネスロゞック蚘述 最埌に、2 皮類のスクリプトClient Script, Server Scriptを利甚しお、ビゞネスロゞックを蚘述しおいきたす。アむテム生成ずか、読み蟌みずかは基本的に蚘述䞍芁 Client Script から Server Script を呌び出したい堎合は、 Google Apps Script 同様、以䞋のような圢で実行が可胜になっおいたす。 google . script . run . ServerSideFunction (); ビゞネスロゞック蚘述における開発 Tips 倖郚公開できない Google Apps Script で蚀うずころの、doGet/doPost 関数のような Web API は、App Maker のスクリプト内に䜜るこずができないようになっおいたす。倖郚システムずの連携が必芁な堎合、Cloud Function 等を介しお、Cloud SQL を盎接操䜜する必芁がありたす。トランザクション凊理等は耇雑化したす ロヌカルの開発環境ず䞊手く連携できない Google Apps Script で利甚可胜な clasp は、珟時点で App Maker には察応しおいたせん。バヌゞョン管理、デプロむ管理機胜は開発コン゜ヌルに実装されおいたすが、コヌドレベルでの差分レビュヌ等を実斜したい堎合は、珟時点では少しめんどくさいです。 定期実行トリガヌを GUI で蚭定できない Google Apps Script では GUI から蚭定が可胜な、「時間ベヌス」のトリガヌが GUI で簡単に蚭定できたせん。蚭定が必芁な堎合は、以䞋のようなスクリプトベヌスで蚭定する必芁がありたす。 ScriptApp . newTrigger ( "functionName" ). timeBased (). at ( date ); App Maker をこれから始める人向けの情報 なお、今回玹介させお頂いた内容は App Maker を党く觊ったこずがない人には少し難しい内容だず思っおいたす。 知識がれロからの方は、以䞋のナレッゞを元に是非䞀床チュヌトリアルなどで簡単に觊っおから、改めお読んで頂けるず理解が深たるかず思いたす。 アプリ䜜成の䞀連の流れを掎む How to Build Enterprise Workflows with App Maker (Cloud Next ‘18) Improve Processes by integrating App Maker, Data Studio and GCP (Cloud Next ‘19) 実際に觊っおみる チュヌトリアル テンプレヌト 情報共有プラットフォヌムを掻甚する stack overflow [google-app-maker] タグ Google グルヌプ[App Maker Users] たずめ 今回玹介させお頂いた Google App Maker は、G Suite をディヌプに利甚しおいる䌁業であれば、Google Apps Script に匹敵する匷力な瀟内アプリケヌションプラットフォヌムになるず感じおいたす。 App Maker のようなロヌコヌド/ノヌコヌド開発プラットフォヌムは既に垂堎にいく぀か出おおり、Google App Maker はその䞭でも比范的コヌディング・技術力が求められるプラットフォヌムだず思いたす。しかし、その分既存瀟内システムず芪和性の高い高床な自動化が実珟しやすいプラットフォヌムでもあるず思うので、臆せずにチャレンゞする䟡倀は十分にあるず思いたす。 なお、セッション䞭に玹介させお頂いた皟議アプリケヌションは、App Maker に察する知識が 0 の状態から 1~2 ヶ月皋で Slack ずの連携も含めお 1 人で実装できたした。RDB や GAS に察する知識は、ある皋床習埗枈みの状態が前提にはなっおいたす GA 盎埌ずいうこずもあっおむンタヌネット䞊のナレッゞが少ない䞭、探り探りに埗られた掻甚のヒントを今回の堎でお話しさせお頂きたしたが、匕き続き App Maker ずいうプラットフォヌムを䞊手く利甚しおいくには、ナヌザヌコミュニティの盛り䞊がりが欠かせないず思っおいたすので、匕き続き情報発信等を通じお盛り䞊げおいければず考えおおりたす。 最埌になりたすが、メドレヌではこのような垂堎に出お間もないテクノロゞヌでもチャレンゞしおいける颚土がありたす。こういったチャレンゞを求めおいる方は、ぜひご応募䞋さい。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
はじめに こんにちは、コヌポレヌト゚ンゞニアの若林です。 普段はいわゆる瀟内 SE 的な領域を担圓しおいたすが、その名の通り ゚ンゞニアの芖点も持ったコヌポレヌト機胜 ずいう立ち䜍眮で、瀟員の働く基盀や事業の発展を支えおいたす。 過去のコヌポレヌト゚ンゞニアの取り組みや、マむンドに぀いおは以䞋が参考になるかず思いたす。 コヌポレヌト IT 担圓ずしお䌚瀟の成長を支える兌束さんに「聞いおみた」 党瀟で本気になっおリヌンに ISMS の仕組みを぀くった話 今回もその取り組みの䞀環で、先日開催された Google Cloud Next ‘19 in Tokyo に、カスタマヌスピヌカヌずいう圢で匊瀟執行圹員の兌束ず共に登壇させお頂きたした。 今回は、登壇させお頂いたセッション Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント に぀いお、セッションでお䌝えした内容を含めたレポヌトを曞きたいず思いたす。 Google Cloud Next ‘19 in Tokyo に぀いお Google Cloud Next は、幎䞀床 Google 䞻催で催される Google テクノロゞヌに関するカンファレンスです今幎は、サンフランシスコ、東京、ロンドンの䞖界 3 䌚堎開催 日皋7/30(火) - 8/1(朚) 䌚堎東京プリンスホテルおよびザ・プリンス パヌクタワヌ東京 むベントサむト Google Cloud Next ‘19 in Tokyo メドレヌ瀟内でも、G Suite を䞭心に Google Cloud の掻甚事䟋が増えおきおいるこずもあり、瀟内の新しいアプリケヌションプラットフォヌムずしお採甚しおいる App Maker の話でスピヌカヌ応募しおみようずいうこずになりたした。 なお、登壇させお頂いたセッションですが、䞀般申蟌受付が始たっおすぐに満垭になっおしたい、私が SNS でアナりンスしおも既に満垭で申し蟌めないような状態になっおおりたした・・・ 䌚堎の雰囲気 東京タワヌずの䞀枚 登壇の様子背景ず同色なのは偶然です セッション内容に぀いお Google Apps Script / AppMaker 最新アップデヌトず掻甚のヒント 今回は、Google の深堀さん、嘉穂無線の倪田さんずの合同セッションずいう圢で登壇させお頂きたした。 たず Google の深掘さんが、「G Suite を拡匵開発するテクノロゞヌの党䜓抂芁ず掻甚事䟋」ずいうテヌマで、Google Apps Script / App Maker を含む G Suite 呚蟺の開発プラットフォヌムに぀いお、䜍眮付けの敎理ずグロヌバルでの掻甚事䟋、今埌のアップデヌトに぀いおお話されたした。次に、嘉穂無線の倪田さんが、「Google Apps Script の掻甚事䟋」ずいうテヌマで、Google Apps Script を掻甚しお開発した瀟内システムに぀いお、デモを亀えお玹介されたした。 それを受けお、メドレヌでは「Google App Maker 掻甚事䟋ず開発 Tips」ずいうテヌマで、Google App Maker を掻甚しお開発した瀟内システムを、デモを亀えお玹介させお頂きたした。 App Maker は GA されおからただ䞀幎匷ずいうこずもあっお、Apps Script ず比范しおもオンラむンに蓄積されおいるナレッゞが非垞に少なくあっおもほが英語、珟時点においお日本で掻甚できおいる䌁業は本圓に限られおいるず思っおいたす。 しかし実際に觊っおいく䞭でも非垞に可胜性を秘めたプラットフォヌムだず感じおいるので、日本でも掻甚する䌚瀟が増えおくれれば嬉しいずいう思いを蟌めお、今回プレれンさせお頂きたした。 ここからは、実際にメドレヌのパヌトでお話した内容を、振り返りも兌ねお曞かせお頂ければず思いたす。 Google App Maker ずは 䞀蚀で蚀うず  G Suite Business / Enterprise プランに含たれるロヌコヌドアプリケヌション開発ツヌル です 䞻に以䞋のような特城がありたす。 バック゚ンドのデヌタストアずしお、RDBCloud SQLが利甚される 開発蚀語は JavaScript をベヌスずしたスクリプト蚀語である Google Apps Script である G Suite のサヌビスナヌザヌディレクトリ、メヌル、ドラむブ等ず容易に連携が可胜である UI のカスタマむズの容易さず高い自由床がある メドレヌでの瀟内掻甚事䟋 メドレヌでは、Google App Maker を掻甚しお耇数のアプリケヌションを実装しおいたす。 今回は、そのうちの䞀぀である瀟内皟議システムに぀いおの抂芁を玹介させお頂きたした。圓日はデモも実斜しおいるので、デモの内容を芋たい方は セッション動画 をご芧䞋さい App Maker を䜿ったアプリケヌション開発の流れず開発 Tips App Maker はアプリケヌション開発プラットフォヌムなので、開発の流れを以䞋の 3step に分割した䞊で、Tips を玹介させお頂きたす。 デヌタモデルの定矩 UI 䜜成 ビゞネスロゞック蚘述 1. デヌタモデルの定矩 はじめに、GUI ベヌスで RDB のメタデヌタを定矩しおいきたす。 モデルテヌブルの䞻な蚭定項目 FIELDSモデルのフィヌルド情報を定矩 DATASOURCESデヌタベヌスでいうずころのビュヌに近い抂念の蚭定 RELATIONSモデル間のリレヌションを定矩 EVENTSクラむアントのデヌタベヌス操䜜に察するむベントスクリプトを定矩 SECURITYモデルに察する暩限を制埡 デヌタモデルの定矩における開発 Tips EVENTS の挙動 MODEL の蚭定項目なので䞀芋デヌタベヌストリガヌず思いがちですが、 このむベントは、サヌバヌサむドスクリプトや倖郚からのデヌタベヌスレコヌド操䜜では、トリガヌされたせん。 クラむアントサむドからの操䜜限定サヌバヌサむドスクリプトや倖郚からの操䜜には、別途関数呌び出しを組み蟌む等の配慮が必芁になりたす。 デヌタベヌスぞの曎新反映タむミング 既定の蚭定ではクラむアントでデヌタ゜ヌスの情報が倉曎された堎合に、サヌバヌに即時反映される動き(Auto Save Mode)になりたす。この動きを止めたければ Manual Save Mode に切り替えるこずも可胜ですが、コヌド蚘述量が倧きく増えるこずになりたす。Auto Save Mode のたたでも UI/UX の工倫で回避できたりするので、たずそこを怜蚎するのが重芁かなず思いたす。 现かな暩限制埡 GUI からできる暩限制埡蚭定は限られおいたす。アプリケヌション内での動的な暩限制埡や、フィヌルドの倀に基づく现かな暩限制埡が必芁な堎合は、 Query Builder や Query Script による読み蟌み制埡が必芁になりたすが開発コストが結構増加するので、他の回避策がないか事前に怜蚎するこずをお勧めしたす。 2. UI 䜜成 次に、りィゞェット画面を構成する郚品をドラッグ&ドロップで配眮しお画面を䜜成しおいきたす。 䞀般的に必芁ずなるボタンやドロップダりンに加えお、G Suite ならではの User Picker や Drive Picker 、曎には リッチなポップアップ、ダむアログ等 も利甚可胜です。 スタむルに関しおは、 バリアント を利甚するこずで、統䞀感のあるスタむル適甚が容易に可胜になっおいたす UI 䜜成における開発 Tips 組み蟌みのマテリアルデザむンアむコン ラベルやボタンの text を特定の文字列にするず、元々組み蟌たれおいるマテリアルデザむンアむコンを利甚するこずが可胜です。 文字列ずアむコンの察応衚 䞀般的に利甚されおいるようなアむコンはほずんど甚意されおいるので、ガンガン掻甚しおいきたしょう。 3. ビゞネスロゞック蚘述 最埌に、2 皮類のスクリプトClient Script, Server Scriptを利甚しお、ビゞネスロゞックを蚘述しおいきたす。アむテム生成ずか、読み蟌みずかは基本的に蚘述䞍芁 Client Script から Server Script を呌び出したい堎合は、 Google Apps Script 同様、以䞋のような圢で実行が可胜になっおいたす。 google . script . run . ServerSideFunction (); ビゞネスロゞック蚘述における開発 Tips 倖郚公開できない Google Apps Script で蚀うずころの、doGet/doPost 関数のような Web API は、App Maker のスクリプト内に䜜るこずができないようになっおいたす。倖郚システムずの連携が必芁な堎合、Cloud Function 等を介しお、Cloud SQL を盎接操䜜する必芁がありたす。トランザクション凊理等は耇雑化したす ロヌカルの開発環境ず䞊手く連携できない Google Apps Script で利甚可胜な clasp は、珟時点で App Maker には察応しおいたせん。バヌゞョン管理、デプロむ管理機胜は開発コン゜ヌルに実装されおいたすが、コヌドレベルでの差分レビュヌ等を実斜したい堎合は、珟時点では少しめんどくさいです。 定期実行トリガヌを GUI で蚭定できない Google Apps Script では GUI から蚭定が可胜な、「時間ベヌス」のトリガヌが GUI で簡単に蚭定できたせん。蚭定が必芁な堎合は、以䞋のようなスクリプトベヌスで蚭定する必芁がありたす。 ScriptApp . newTrigger ( "functionName" ). timeBased (). at ( date ); App Maker をこれから始める人向けの情報 なお、今回玹介させお頂いた内容は App Maker を党く觊ったこずがない人には少し難しい内容だず思っおいたす。 知識がれロからの方は、以䞋のナレッゞを元に是非䞀床チュヌトリアルなどで簡単に觊っおから、改めお読んで頂けるず理解が深たるかず思いたす。 アプリ䜜成の䞀連の流れを掎む How to Build Enterprise Workflows with App Maker (Cloud Next ‘18) Improve Processes by integrating App Maker, Data Studio and GCP (Cloud Next ‘19) 実際に觊っおみる チュヌトリアル テンプレヌト 情報共有プラットフォヌムを掻甚する stack overflow [google-app-maker] タグ Google グルヌプ[App Maker Users] たずめ 今回玹介させお頂いた Google App Maker は、G Suite をディヌプに利甚しおいる䌁業であれば、Google Apps Script に匹敵する匷力な瀟内アプリケヌションプラットフォヌムになるず感じおいたす。 App Maker のようなロヌコヌド/ノヌコヌド開発プラットフォヌムは既に垂堎にいく぀か出おおり、Google App Maker はその䞭でも比范的コヌディング・技術力が求められるプラットフォヌムだず思いたす。しかし、その分既存瀟内システムず芪和性の高い高床な自動化が実珟しやすいプラットフォヌムでもあるず思うので、臆せずにチャレンゞする䟡倀は十分にあるず思いたす。 なお、セッション䞭に玹介させお頂いた皟議アプリケヌションは、App Maker に察する知識が 0 の状態から 1~2 ヶ月皋で Slack ずの連携も含めお 1 人で実装できたした。RDB や GAS に察する知識は、ある皋床習埗枈みの状態が前提にはなっおいたす GA 盎埌ずいうこずもあっおむンタヌネット䞊のナレッゞが少ない䞭、探り探りに埗られた掻甚のヒントを今回の堎でお話しさせお頂きたしたが、匕き続き App Maker ずいうプラットフォヌムを䞊手く利甚しおいくには、ナヌザヌコミュニティの盛り䞊がりが欠かせないず思っおいたすので、匕き続き情報発信等を通じお盛り䞊げおいければず考えおおりたす。 最埌になりたすが、メドレヌではこのような垂堎に出お間もないテクノロゞヌでもチャレンゞしおいける颚土がありたす。こういったチャレンゞを求めおいる方は、ぜひご応募䞋さい。 募集の䞀芧 | 株匏䌚瀟メドレヌ メドレヌの採甚情報はこちらからご確認ください。 www.medley.jp メンバヌのストヌリヌ | 株匏䌚瀟メドレヌ メンバヌのストヌリヌ 家族や友人が病気になった時に救いの手を差しのべる医療の力。... www.medley.jp
みなさん、こんにちは。開発郚゚ンゞニア平朚です。 少しレポヌトたで間が空いおしたいたしたが、去る 7/2(月)に゜ラシティカンファレンスセンタヌで開催された Developers Summit 2019 Summer にメドレヌが協賛させおいただきたした。 たた、匊瀟の開発郚長である田䞭が SI × Web の総合力で切り拓く新しい゚ンゞニアのキャリアパス ずいうタむトルのセッションでお話をさせおいただきたしたので、レポヌトを曞きたいず思いたす。 䌚堎の雰囲気 䌚堎入口の立お看板がステキでした 䌚堎ですがやはり今回も来堎者が倚く、セッション前には列が出来おいたした。䌑憩時間䞭のブヌスにも人だかりずいった感じで熱気を感じたした。 次のセッション埅ちで長蛇の列が ブヌスも人が切れたせんでした しかしながら、運営が倧倉にスムヌズだったので倧きな混乱もなく次々ず快適にセッションが芋られるのは、やはり今たでの経隓によるものだろうなヌず感じたした。 印象に残ったセッション 色々ずセッションを芋たしたが、個人的にはやはり、 @t-wada さんのセッションは䜕床芋おも惹き蟌たれるなず今回も拝芋しお感じたした。 今回の内容を聞くず䟋え、党くテストを導入しおいないようなプロゞェクトだったずしおも「明日からちょっずず぀やっおいこう」ず勇気をもらえるような内容でした。 ゚ンゞニアのキャリアパス いよいよ、匊瀟田䞭のセッションです。残念ながら、資料は非公開ずさせおいただいおいたす 。申し蚳ありたせん。 内容ずしおは、少し前たではいわゆる SIer ず Web 系ずいう 2 ぀の領域で結構明確に壁を感じるこずもあったず思いたす。しかし、近幎 X-Tech などの文脈では、関連省庁の法什やガむドラむンなどを遵守し぀぀、䜿いやすい UI ぞの萜ずし蟌みやマネヌゞドサヌビスを䜿甚したむンフラの構築などを蚭蚈する必芁がありたす。これらの蚭蚈の䞊で、Web サヌビスずしお高速に PDCA を回しサヌビスを改善しおいくずいう胜力も他方で必芁になりたす。 こういった背景により、きっちりずした芁件定矩や蚭蚈する胜力を求められる SIer 的な芁玠ず手を動かしお早くサヌビスを改善するサむクルを回す胜力が必芁な Web 的な芁玠ずいう、それぞれの埗意領域をミックスした゚ンゞニアが求められおいるのではないかずいうお話をさせおいただきたした。 途䞭田䞭のキャリア倉遷や、匊瀟の CLINICS を䟋に取り具䜓的にどのような胜力を求められるのか?ずいうこずをお話させおいただきたした。 終了埌のアンケヌトなど拝芋する限り、やはり業界の括りに囚われがちなずころも倚いなか、キャリアパスの䞀぀の実䟋ずしお、ご奜評をいただいたのは嬉しい限りでした。 たずめ メドレヌの゚ンゞニアやデザむナヌは、きっちりず法什やガむドラむンを守り぀぀、その抂念をプロダクトの蚭蚈に萜しこみ、出来るだけ早く PDCA を回し、早く確実に実装するこずを目指しおいたす。Developers Summit 2019 Summer のような倚皮倚様なキャリアの方々が来堎するむベントで、このようなお話をさせおいただいたのはずおも有意矩だったず感じおいたす。 セッションが無事終了し、ほっず䞀息付きながらメドレヌロゎず䞀緒に â–Œ メドレヌっおどんな䌚瀟気になった方はこちら メドレヌで働く | 株匏䌚瀟メドレヌ メドレヌの組織文化や募集芁項をご玹介したす www.medley.jp
みなさん、こんにちは。開発郚゚ンゞニア平朚です。 少しレポヌトたで間が空いおしたいたしたが、去る 7/2(月)に゜ラシティカンファレンスセンタヌで開催された Developers Summit 2019 Summer にメドレヌが協賛させおいただきたした。 たた、匊瀟の開発郚長である田䞭が SI × Web の総合力で切り拓く新しい゚ンゞニアのキャリアパス ずいうタむトルのセッションでお話をさせおいただきたしたので、レポヌトを曞きたいず思いたす。 䌚堎の雰囲気 䌚堎入口の立お看板がステキでした 䌚堎ですがやはり今回も来堎者が倚く、セッション前には列が出来おいたした。䌑憩時間䞭のブヌスにも人だかりずいった感じで熱気を感じたした。 次のセッション埅ちで長蛇の列が ブヌスも人が切れたせんでした しかしながら、運営が倧倉にスムヌズだったので倧きな混乱もなく次々ず快適にセッションが芋られるのは、やはり今たでの経隓によるものだろうなヌず感じたした。 印象に残ったセッション 色々ずセッションを芋たしたが、個人的にはやはり、 @t-wada さんのセッションは䜕床芋おも惹き蟌たれるなず今回も拝芋しお感じたした。 今回の内容を聞くず䟋え、党くテストを導入しおいないようなプロゞェクトだったずしおも「明日からちょっずず぀やっおいこう」ず勇気をもらえるような内容でした。 ゚ンゞニアのキャリアパス いよいよ、匊瀟田䞭のセッションです。残念ながら、資料は非公開ずさせおいただいおいたす 。申し蚳ありたせん。 内容ずしおは、少し前たではいわゆる SIer ず Web 系ずいう 2 ぀の領域で結構明確に壁を感じるこずもあったず思いたす。しかし、近幎 X-Tech などの文脈では、関連省庁の法什やガむドラむンなどを遵守し぀぀、䜿いやすい UI ぞの萜ずし蟌みやマネヌゞドサヌビスを䜿甚したむンフラの構築などを蚭蚈する必芁がありたす。これらの蚭蚈の䞊で、Web サヌビスずしお高速に PDCA を回しサヌビスを改善しおいくずいう胜力も他方で必芁になりたす。 こういった背景により、きっちりずした芁件定矩や蚭蚈する胜力を求められる SIer 的な芁玠ず手を動かしお早くサヌビスを改善するサむクルを回す胜力が必芁な Web 的な芁玠ずいう、それぞれの埗意領域をミックスした゚ンゞニアが求められおいるのではないかずいうお話をさせおいただきたした。 途䞭田䞭のキャリア倉遷や、匊瀟の CLINICS を䟋に取り具䜓的にどのような胜力を求められるのか?ずいうこずをお話させおいただきたした。 終了埌のアンケヌトなど拝芋する限り、やはり業界の括りに囚われがちなずころも倚いなか、キャリアパスの䞀぀の実䟋ずしお、ご奜評をいただいたのは嬉しい限りでした。 たずめ メドレヌの゚ンゞニアやデザむナヌは、きっちりず法什やガむドラむンを守り぀぀、その抂念をプロダクトの蚭蚈に萜しこみ、出来るだけ早く PDCA を回し、早く確実に実装するこずを目指しおいたす。Developers Summit 2019 Summer のような倚皮倚様なキャリアの方々が来堎するむベントで、このようなお話をさせおいただいたのはずおも有意矩だったず感じおいたす。 セッションが無事終了し、ほっず䞀息付きながらメドレヌロゎず䞀緒に â–Œ メドレヌっおどんな䌚瀟気になった方はこちら https://www.medley.jp/team/
みなさん、こんにちは。開発郚゚ンゞニア平朚です。 少しレポヌトたで間が空いおしたいたしたが、去る 7/2(月)に゜ラシティカンファレンスセンタヌで開催された Developers Summit 2019 Summer にメドレヌが協賛させおいただきたした。 たた、匊瀟の開発郚長である田䞭が SI × Web の総合力で切り拓く新しい゚ンゞニアのキャリアパス ずいうタむトルのセッションでお話をさせおいただきたしたので、レポヌトを曞きたいず思いたす。 䌚堎の雰囲気 䌚堎入口の立お看板がステキでした 䌚堎ですがやはり今回も来堎者が倚く、セッション前には列が出来おいたした。䌑憩時間䞭のブヌスにも人だかりずいった感じで熱気を感じたした。 次のセッション埅ちで長蛇の列が ブヌスも人が切れたせんでした しかしながら、運営が倧倉にスムヌズだったので倧きな混乱もなく次々ず快適にセッションが芋られるのは、やはり今たでの経隓によるものだろうなヌず感じたした。 印象に残ったセッション 色々ずセッションを芋たしたが、個人的にはやはり、 @t-wada さんのセッションは䜕床芋おも惹き蟌たれるなず今回も拝芋しお感じたした。 今回の内容を聞くず䟋え、党くテストを導入しおいないようなプロゞェクトだったずしおも「明日からちょっずず぀やっおいこう」ず勇気をもらえるような内容でした。 ゚ンゞニアのキャリアパス いよいよ、匊瀟田䞭のセッションです。残念ながら、資料は非公開ずさせおいただいおいたす 。申し蚳ありたせん。 内容ずしおは、少し前たではいわゆる SIer ず Web 系ずいう 2 ぀の領域で結構明確に壁を感じるこずもあったず思いたす。しかし、近幎 X-Tech などの文脈では、関連省庁の法什やガむドラむンなどを遵守し぀぀、䜿いやすい UI ぞの萜ずし蟌みやマネヌゞドサヌビスを䜿甚したむンフラの構築などを蚭蚈する必芁がありたす。これらの蚭蚈の䞊で、Web サヌビスずしお高速に PDCA を回しサヌビスを改善しおいくずいう胜力も他方で必芁になりたす。 こういった背景により、きっちりずした芁件定矩や蚭蚈する胜力を求められる SIer 的な芁玠ず手を動かしお早くサヌビスを改善するサむクルを回す胜力が必芁な Web 的な芁玠ずいう、それぞれの埗意領域をミックスした゚ンゞニアが求められおいるのではないかずいうお話をさせおいただきたした。 途䞭田䞭のキャリア倉遷や、匊瀟の CLINICS を䟋に取り具䜓的にどのような胜力を求められるのか?ずいうこずをお話させおいただきたした。 終了埌のアンケヌトなど拝芋する限り、やはり業界の括りに囚われがちなずころも倚いなか、キャリアパスの䞀぀の実䟋ずしお、ご奜評をいただいたのは嬉しい限りでした。 たずめ メドレヌの゚ンゞニアやデザむナヌは、きっちりず法什やガむドラむンを守り぀぀、その抂念をプロダクトの蚭蚈に萜しこみ、出来るだけ早く PDCA を回し、早く確実に実装するこずを目指しおいたす。Developers Summit 2019 Summer のような倚皮倚様なキャリアの方々が来堎するむベントで、このようなお話をさせおいただいたのはずおも有意矩だったず感じおいたす。 セッションが無事終了し、ほっず䞀息付きながらメドレヌロゎず䞀緒に â–Œ メドレヌっおどんな䌚瀟気になった方はこちら メドレヌで働く | 株匏䌚瀟メドレヌ メドレヌの組織文化や募集芁項をご玹介したす www.medley.jp
みなさん、こんにちは。開発郚゚ンゞニア平朚です。 少しレポヌトたで間が空いおしたいたしたが、去る 7/2(月)に゜ラシティカンファレンスセンタヌで開催された Developers Summit 2019 Summer にメドレヌが協賛させおいただきたした。 たた、匊瀟の開発郚長である田䞭が SI × Web の総合力で切り拓く新しい゚ンゞニアのキャリアパス ずいうタむトルのセッションでお話をさせおいただきたしたので、レポヌトを曞きたいず思いたす。 䌚堎の雰囲気 䌚堎入口の立お看板がステキでした 䌚堎ですがやはり今回も来堎者が倚く、セッション前には列が出来おいたした。䌑憩時間䞭のブヌスにも人だかりずいった感じで熱気を感じたした。 次のセッション埅ちで長蛇の列が ブヌスも人が切れたせんでした しかしながら、運営が倧倉にスムヌズだったので倧きな混乱もなく次々ず快適にセッションが芋られるのは、やはり今たでの経隓によるものだろうなヌず感じたした。 印象に残ったセッション 色々ずセッションを芋たしたが、個人的にはやはり、 @t-wada さんのセッションは䜕床芋おも惹き蟌たれるなず今回も拝芋しお感じたした。 今回の内容を聞くず䟋え、党くテストを導入しおいないようなプロゞェクトだったずしおも「明日からちょっずず぀やっおいこう」ず勇気をもらえるような内容でした。 ゚ンゞニアのキャリアパス いよいよ、匊瀟田䞭のセッションです。残念ながら、資料は非公開ずさせおいただいおいたす 。申し蚳ありたせん。 内容ずしおは、少し前たではいわゆる SIer ず Web 系ずいう 2 ぀の領域で結構明確に壁を感じるこずもあったず思いたす。しかし、近幎 X-Tech などの文脈では、関連省庁の法什やガむドラむンなどを遵守し぀぀、䜿いやすい UI ぞの萜ずし蟌みやマネヌゞドサヌビスを䜿甚したむンフラの構築などを蚭蚈する必芁がありたす。これらの蚭蚈の䞊で、Web サヌビスずしお高速に PDCA を回しサヌビスを改善しおいくずいう胜力も他方で必芁になりたす。 こういった背景により、きっちりずした芁件定矩や蚭蚈する胜力を求められる SIer 的な芁玠ず手を動かしお早くサヌビスを改善するサむクルを回す胜力が必芁な Web 的な芁玠ずいう、それぞれの埗意領域をミックスした゚ンゞニアが求められおいるのではないかずいうお話をさせおいただきたした。 途䞭田䞭のキャリア倉遷や、匊瀟の CLINICS を䟋に取り具䜓的にどのような胜力を求められるのか?ずいうこずをお話させおいただきたした。 終了埌のアンケヌトなど拝芋する限り、やはり業界の括りに囚われがちなずころも倚いなか、キャリアパスの䞀぀の実䟋ずしお、ご奜評をいただいたのは嬉しい限りでした。 たずめ メドレヌの゚ンゞニアやデザむナヌは、きっちりず法什やガむドラむンを守り぀぀、その抂念をプロダクトの蚭蚈に萜しこみ、出来るだけ早く PDCA を回し、早く確実に実装するこずを目指しおいたす。Developers Summit 2019 Summer のような倚皮倚様なキャリアの方々が来堎するむベントで、このようなお話をさせおいただいたのはずおも有意矩だったず感じおいたす。 セッションが無事終了し、ほっず䞀息付きながらメドレヌロゎず䞀緒に â–Œ メドレヌっおどんな䌚瀟気になった方はこちら メドレヌで働く | 株匏䌚瀟メドレヌ メドレヌの組織文化や募集芁項をご玹介したす www.medley.jp
みなさん、こんにちは。開発郚゚ンゞニア平朚です。 少しレポヌトたで間が空いおしたいたしたが、去る 7/2(月)に゜ラシティカンファレンスセンタヌで開催された Developers Summit 2019 Summer にメドレヌが協賛させおいただきたした。 たた、匊瀟の開発郚長である田䞭が SI × Web の総合力で切り拓く新しい゚ンゞニアのキャリアパス ずいうタむトルのセッションでお話をさせおいただきたしたので、レポヌトを曞きたいず思いたす。 䌚堎の雰囲気 䌚堎入口の立お看板がステキでした 䌚堎ですがやはり今回も来堎者が倚く、セッション前には列が出来おいたした。䌑憩時間䞭のブヌスにも人だかりずいった感じで熱気を感じたした。 次のセッション埅ちで長蛇の列が ブヌスも人が切れたせんでした しかしながら、運営が倧倉にスムヌズだったので倧きな混乱もなく次々ず快適にセッションが芋られるのは、やはり今たでの経隓によるものだろうなヌず感じたした。 印象に残ったセッション 色々ずセッションを芋たしたが、個人的にはやはり、 @t-wada さんのセッションは䜕床芋おも惹き蟌たれるなず今回も拝芋しお感じたした。 今回の内容を聞くず䟋え、党くテストを導入しおいないようなプロゞェクトだったずしおも「明日からちょっずず぀やっおいこう」ず勇気をもらえるような内容でした。 ゚ンゞニアのキャリアパス いよいよ、匊瀟田䞭のセッションです。残念ながら、資料は非公開ずさせおいただいおいたす 。申し蚳ありたせん。 内容ずしおは、少し前たではいわゆる SIer ず Web 系ずいう 2 ぀の領域で結構明確に壁を感じるこずもあったず思いたす。しかし、近幎 X-Tech などの文脈では、関連省庁の法什やガむドラむンなどを遵守し぀぀、䜿いやすい UI ぞの萜ずし蟌みやマネヌゞドサヌビスを䜿甚したむンフラの構築などを蚭蚈する必芁がありたす。これらの蚭蚈の䞊で、Web サヌビスずしお高速に PDCA を回しサヌビスを改善しおいくずいう胜力も他方で必芁になりたす。 こういった背景により、きっちりずした芁件定矩や蚭蚈する胜力を求められる SIer 的な芁玠ず手を動かしお早くサヌビスを改善するサむクルを回す胜力が必芁な Web 的な芁玠ずいう、それぞれの埗意領域をミックスした゚ンゞニアが求められおいるのではないかずいうお話をさせおいただきたした。 途䞭田䞭のキャリア倉遷や、匊瀟の CLINICS を䟋に取り具䜓的にどのような胜力を求められるのか?ずいうこずをお話させおいただきたした。 終了埌のアンケヌトなど拝芋する限り、やはり業界の括りに囚われがちなずころも倚いなか、キャリアパスの䞀぀の実䟋ずしお、ご奜評をいただいたのは嬉しい限りでした。 たずめ メドレヌの゚ンゞニアやデザむナヌは、きっちりず法什やガむドラむンを守り぀぀、その抂念をプロダクトの蚭蚈に萜しこみ、出来るだけ早く PDCA を回し、早く確実に実装するこずを目指しおいたす。Developers Summit 2019 Summer のような倚皮倚様なキャリアの方々が来堎するむベントで、このようなお話をさせおいただいたのはずおも有意矩だったず感じおいたす。 セッションが無事終了し、ほっず䞀息付きながらメドレヌロゎず䞀緒に â–Œ メドレヌっおどんな䌚瀟気になった方はこちら メドレヌで働く | 株匏䌚瀟メドレヌ メドレヌの組織文化や募集芁項をご玹介したす www.medley.jp