kintone hack
王者の流儀
- はじめに知っておきたいワンランク上のアプリ作成 -
Kintone Corporation
⼭下 ⻯
2回⽬の kintone 転職を経て、
現在サンフランシスコ勤務
Kintone Corporation ⼭下 ⻯
kintone 歴 7 年
ドローン& AI
(エッジコンピューティング)
去年の kintone hack
kintone hack 2018
チャンプ
基本にかえる
Every company is becoming
a software company today
すべての企業がソフトウェア会社になっていく
Every company is becoming
a software company today
すべての企業がソフトウェア会社になっていく
世界中のすべての企業・チームにとって
「kintone でアプリを作って
運⽤していく」
がグローバルスタンダードになる?!
Every company is becoming
a software company today
すべての企業がソフトウェア会社になっていく
kintone をよりより活⽤していく!
そのために・・・
kintone であれば
誰でも簡単にアプリが作れる
今回の
フォーカス
kintone の 3 ⼤要素(おさらい)
データ
(アプリ)
プロセス管理 コミュニケーション
kintone 標準機能と API(おさらい)
ユーザー・組織
データ
(アプリ)
プロセス
管理
コミュニケーション
• 各画⾯のイベントと処理
• プロキシによる外部連携
kintone
JavaScript
API
• レコードやスペースの操作
• アプリ操作(デプロイ)
kintone
REST API
• ユーザーや組織の操作
User API
UI / アクセス権/グラフ・集計
kintone アプリの強化ステップ
STEP1
STEP2
STEP3
STEP4
ノンプログラミング
プラグイン
連携サービス
個別
カスタマイズ
簡単ではあるけど、落し⽳に落ちてることも
誰でも簡単にドラッグ&ドロップでアプリが作れる
後から簡単に修正もできる
プラグインや連携サービス、カスタマイズで拡張できる
⾃由度が⾼過ぎて気付いたらイタズラにフィールドが増えてしまった
⼀度データを⼊れると修正しづらいケースに遭遇することがある
無茶苦茶動きが遅い
実際に困った例
レコード番号による
多段ルックアップ
簡単ではあるけど、落し⽳に落ちてることも
誰でも簡単にドラッグ&ドロップでアプリが作れる
後から簡単に修正もできる
プラグインや連携サービス、カスタマイズで拡張できる
⾃由度が⾼過ぎて気付いたらイタズラにフィールドが増えてしまった
⼀度データを⼊れると修正しづらいケースに遭遇することがある
無茶苦茶動きが遅い
落し⽳に落ちないように
するためには?
理論と経験に裏打ちされた
⼀定の知識に基づいた設計を⾏う
先々の変化・
拡張に備えて
アプリ最適化
レコメンデーション
今回の
hack
アプリ最適化レコメンデーション
アプリ最適化
レコメンデーション
業種
職種
(部署)
⽤途
既存アプリ
最適化アプリ
情報ソースを⼊⼒して、レコメンドを受ける!
・・・
レコメンデーション AI の処理
業種
職種
(部署)
① 業種・職種から
鉄板アプリをレコメンド
② 更に鉄板項⽬・連携を
レコメンド
③ 同時にアプリ設計レビュー
デモンストレーション
コマンドで API を実⾏
⽇付フォーマットや通貨単位、時差
アプリや項⽬
レコメンド適⽤が対話式か強制か
対象アプリの所在
結果
今回織り込んだ
レビューの観点
今回織り込んだレビュー観点
1. データ構造の基本的な設計ポイント
2. パフォーマンスを考慮した設計ポイント
データ構造の基本的な設計ポイント(例)
重複禁⽌のキーフィールドの設定
適切なアプリの分割
適切なアプリの関連付け
主キー
正規化
結合
データ構造の基本的な設計ポイント(例)
従来の RDB の世界観に類似の概念が既にある
重複禁⽌のキーフィールドの設定
• ⽂字列 1 ⾏フィールド、重複禁⽌(出来れば必須も)
• 必ず⼊⼒されて、カブリにくくて、検索しやすいデータ項⽬
• 名前
• ⾃動採番値
アプリへの設定⽅法
利⽤⽅法
• ルックアップ、関連レコードのキーフィールド
• CSV、API を利⽤したデータ連携・メンテナンス
• データ移⾏・リストア
重複禁⽌のキーフィールドの設定
注意点
アンチパターン
• レコード番号で代⽤しない
• 64 ⽂字以下である必要性がある
アプリの分割と
関連付け
会社名 部署名 担当者名
林⽥商会 営業 下⼭ 達⼠
林⽥商会 経理 森 惇
林⽥商会 総務 末永 妃⾥
新⼭物産 営業 ⾦⼦ 真帆
新⼭物産 開発 佐々⽊ 樹⾥
⼭本電気 営業 清⽥ 誠⼀
⽥端⾷品 営業 岩沢 友也
顧客リスト(現状)
会社名 部署名 担当者名 会社名‒担当者名※
林⽥商会 営業 下⼭ 達⼠ 林⽥商会-下⼭ 達⼠
林⽥商会 経理 森 惇 林⽥商会-森 惇
林⽥商会 総務 末永 妃⾥ 林⽥商会-末永 妃⾥
新⼭物産 営業 ⾦⼦ 真帆 新⼭物産-⾦⼦ 真帆
新⼭物産 開発 佐々⽊ 樹⾥ 新⼭物産-佐々⽊ 樹⾥
⼭本電気 営業 清⽥ 誠⼀ ⼭本電気-清⽥ 誠⼀
⽥端⾷品 営業 岩沢 友也 ⽥端⾷品-岩沢 友也
アプリの分割と
関連付け
会社名 部署名 担当者名
林⽥商会 営業 下⼭ 達⼠
林⽥商会 経理 森 惇
林⽥商会 総務 末永 妃⾥
新⼭物産 営業 ⾦⼦ 真帆
新⼭物産 開発 佐々⽊ 樹⾥
⼭本電気 営業 清⽥ 誠⼀
⽥端⾷品 営業 岩沢 友也
顧客リスト(現状)
会社名 ※
林⽥商会
新⼭物産
⼭本電気
⽥端⾷品
顧客企業マスタ
顧客担当者マスタ
分割
会社名 部署名 担当者名 会社名‒担当者名※
林⽥商会 営業 下⼭ 達⼠ 林⽥商会-下⼭ 達⼠
林⽥商会 経理 森 惇 林⽥商会-森 惇
林⽥商会 総務 末永 妃⾥ 林⽥商会-末永 妃⾥
新⼭物産 営業 ⾦⼦ 真帆 新⼭物産-⾦⼦ 真帆
新⼭物産 開発 佐々⽊ 樹⾥ 新⼭物産-佐々⽊ 樹⾥
⼭本電気 営業 清⽥ 誠⼀ ⼭本電気-清⽥ 誠⼀
⽥端⾷品 営業 岩沢 友也 ⽥端⾷品-岩沢 友也
アプリの分割と
関連付け
会社名 部署名 担当者名
林⽥商会 営業 下⼭ 達⼠
林⽥商会 経理 森 惇
林⽥商会 総務 末永 妃⾥
新⼭物産 営業 ⾦⼦ 真帆
新⼭物産 開発 佐々⽊ 樹⾥
⼭本電気 営業 清⽥ 誠⼀
⽥端⾷品 営業 岩沢 友也
顧客リスト(現状)
会社名 ※
林⽥商会
新⼭物産
⼭本電気
⽥端⾷品
顧客企業マスタ
顧客担当者マスタ
ルックアップ
分割
会社名 部署名 担当者名 会社名‒担当者名※
林⽥商会 営業 下⼭ 達⼠ 林⽥商会-下⼭ 達⼠
林⽥商会 経理 森 惇 林⽥商会-森 惇
林⽥商会 総務 末永 妃⾥ 林⽥商会-末永 妃⾥
新⼭物産 営業 ⾦⼦ 真帆 新⼭物産-⾦⼦ 真帆
新⼭物産 開発 佐々⽊ 樹⾥ 新⼭物産-佐々⽊ 樹⾥
⼭本電気 営業 清⽥ 誠⼀ ⼭本電気-清⽥ 誠⼀
⽥端⾷品 営業 岩沢 友也 ⽥端⾷品-岩沢 友也
アプリの分割と
関連付け
会社名 部署名 担当者名
林⽥商会 営業 下⼭ 達⼠
林⽥商会 経理 森 惇
林⽥商会 総務 末永 妃⾥
新⼭物産 営業 ⾦⼦ 真帆
新⼭物産 開発 佐々⽊ 樹⾥
⼭本電気 営業 清⽥ 誠⼀
⽥端⾷品 営業 岩沢 友也
顧客リスト(現状)
会社名 ※
林⽥商会
新⼭物産
⼭本電気
⽥端⾷品
顧客企業マスタ
顧客担当者マスタ
ルックアップ
分割
案件管理
プロジェクト管理
ルックアップ
パフォーマンスを考慮した設計ポイント
• レコード数
• フィールド数
ボリュームに関連するもの
• アクセス権
• 関連レコード
機能に関連するもの
どうやって知⾒を得るか?
データ構造 パフォーマンス
cybozu developer network
Twitter
まとめ
すべての企業がソフトウェア会社になっていく時代に備えて、
kintone でも基本的な設計を
意識したアプリ作成を!
新しい勇者の誕⽣に
ご期待ください!

kintone hack 王者の流儀 - はじめに知っておきたいワンランク上のアプリ作成 -