ここではkitone開発のTipsを紹介します。
開発環境の準備
kitone開発するにあたり自由に使える開発環境は必須です。cybozu ではkintone開発用のライセンスを提供していますので下記フォームより申し込んで先ずは開発環境の準備をしましょう。
レコード詳細画面でフィールドコードを表示する
kintoneカスタマイズしているとフィールドコードを確認したい場面が多々あると思います。そんな時にわざわざ編集モードで開いていると時間がいくらあっても足りないので以下のブックマークレットを導入しましょう。
kintoneのデータ構造を知ろう
kintoneはいわゆるデータベースとしての機能を持っていますがRDMSではなくカード型データベースです。先ずその特徴を理解しkintoneで出来ることと出来ないことを把握しましょう。
JSカスタマイズをバージョン管理する
JSカスタマイズを入れる場合はバージョン管理するようにしましょう。
kintoneでシステム構築する上での留意点
主キーをレコード番号にするべからず
kintoneには連番で採番してくれるような機能がないのでレコード番号を主キーにしてしまいがちですが致命的な落とし穴があります。レコード番号はユーザ側ではコントロールできません。誤って3番を削除しまい3番が他のアプリで連携されていた場合、そのレコードの繋がりは戻すことができません。レコード番号以外に主キーを設けている場合はデータさえ残っていれば3番を復元することが可能です。主キーを定める場合は可能な限りレコード番号を採用することは避けるようにしましょう。
多様は厳禁サブテーブルの功罪
kintoneは、1つのレコード内にサブテーブルを持たせることができる便利な機能を提供しています。これにより、1つのレコード内で複数のデータをまとめて管理し、サブテーブル内のデータを集計することが可能です。しかし、この機能には大きな制約もあります。
具体的には、サブテーブルの値を他のアプリで参照することができません。例えば、AアプリとBアプリがあった場合、BアプリからAアプリのサブテーブルのデータを参照することは標準機能では不可能です。つまり、サブテーブルの値は、関連レコードの表示やルックアップの対象にできないのです。
この制約が不便なのは、システムというものは基本的に、異なるデータ同士に何らかの関係性があることで意味を持つからです。この関係性をリレーションと呼びます。しかし、サブテーブル内のデータに対してリレーションを設定できないため、BアプリからAアプリのサブテーブルのデータを取得することができません。結果として、リレーションを通じたデータ連携が難しくなるのです。
サブテーブルは非常に便利な機能である一方で、明確な弱点も抱えています。kintoneでシステムを構築する際、サブテーブルの使用には注意が必要であり、慎重な設計が求められます。まさに、諸刃の剣と言えるでしょう。
まとめ
ローコードというと一般的に開発難易度が低いイメージがありますが、変更に強く、使えるシステムを構築しようと思うと奥が深いことが分かると思います。これからもkintone開発のベストプラクティスを模索しこちらの記事に反映していきますので、ぜひ、ウォッチしてください。