はじめに
私はSalesforceエンジニアですが、案件の関係でkintoneを勉強しています。
勉強する前は、Salesforceとkintoneはどちらもクラウドサービスで、類似した製品という印象でした。
しかし、ちゃんと勉強してみるとかなり違うことがわかりました。
今日は、私なりに感じたkintoneとSalesforceの違いについてまとめていきたいと思います。
kintone用語
kintoneとSalesforceは当然用語が違います。
Salesforceを勉強し始めたときは、Salesforceの用語ってちょっとクセがあるなーと感じていたのですが、kintoneもなかなかクセがあります 笑
- ポータル
kintoneにログインして一番最初に開かれる画面です。ここから様々な画面に遷移できます。
Salesforceでいうところの「ホーム画面」になります。 - アプリ
業務システムのことを「アプリ」と呼びます。具体的には、1つのDBテーブルに関連する画面や機能が1つのまとまりになった単位です。Salesforceでいうところの「オブジェクト」になります。
1テーブルの単位で「アプリ」と呼ぶ点にいちばんクセを感じています 笑 - スペース
チーム内でのコミュニケーションを取ることができる場所です。任意のチーム単位で作成することができます。
チームメンバーでチャットをすることもできますし、スペース専用のポータルやアプリを設定することができます。
アプリの閲覧権限を制御する時に便利な機能になります。
kintoneはSalesforceのように複雑な権限設定をすることが難しいので、スペースという機能があるのかなと推測しています。
kintoneができること
ノーコードでシステム開発ができる
この点がkintoneの最も大きな特徴で、kintoneサービスを提供しているサイボウズ社が提唱している主要なコンセプトの1つです。
Salesforceも標準機能だけ使えばノーコードで実装できる点は同じですが、kintoneは標準機能による設定画面からもプログラミング要素を極力排除しており、ITに明るくない人でもシステムが作れるようになっています。
例えば、Salesforceでは各オブジェクトや項目にAPI参照名、いわゆる物理名を設定し、それは英数字で設定しなくてはなりません。kintoneでも物理名の設定は必要ですが、日本語でもいいんです!さすが日本生まれのノーコードツールですね。
物理名が日本語だと、論理名と物理名を同じ値に設定できて、数式等で項目を参照する際にとてもわかりやすくなります。これはプログラミングを知らない人にとってはかなりメリットなのではないかと思います。
レコードのプロセスやステータスに応じた管理ができる
kintoneには、プロセスという機能が備わっています。
例えば、レコードの承認プロセスを設定し、承認者になったらそのユーザーに通知するといったプロセスを組むことができます。ステータスの変更と同時に特定のユーザーに通知するといったこともできます。
これらの機能については、Salesforceにも承認プロセスという機能がありますし、どちらかというとSalesofrceの方が難しいことができます。しかし、Excel等でデータ管理をしていたらできないことです。
標準機能だけでは実現できることが限られていますが、プラグインによる機能拡張は可能です。
追加機能のプラグインが豊富
kintoneの標準機能で実現できることは正直言って十分とは言えません。しかし、それを保管するプラグインがたくさんあり、プラグインを使いこなすことがkintoneを使いこなすことに繋がってきます。
プラグインには無料のものと有料のものがあるので、予算に応じてプラグインを選択していくことになります。
低予算でシステム開発ができる
kintoneのライセンス料はとてもリーズナブルで、1ユーザーあたり月額1500円です。プランにもよりますが、Salesforceの1/10以下になるのでしょうか・・ 価格面は圧倒的ですね。
ただし、kintoneは標準機能でできることの範囲が限られており、プラグインの導入がほぼ必須なのですが、プラグインの種類によっては有料であるため、追加料金は考慮する必要があります。仮に有料プラグインを複数導入しても、Salesforceのライセンス料を超えることはないと思います。
##kintoneではできないこと
アプリに複数の画面レイアウトを設定できない
kintoneはアプリに対して1つの画面しかつくることができず、Salesforceのようにレコードタイプによって画面レイアウトを切り替えるといったことができません。そのため、部署やロール毎に画面の表示を切り替えることに関しては柔軟に対応できません。
画面を切り替えることはできませんが、項目単位の参照権限の設定は可能です。
アプリ同士のリレーションが基本的には1対1のみ
kintoneはアプリ同士のリレーションについて細かく設定することができないため、アプリ同士のリレーションは基本的に1対1になります。レコードにテーブルフィールドを設置することで1対多のようなデータの持ち方を実現することは可能です。
ただ、一般的なシステムの1対多と異なる点は、子レコードを変更しても親レコードで参照している値が更新されないことです。そのため、子レコードの更新に伴って親レコードの参照項目も更新するような仕様を実現するのは標準機能では難しいです。(プラグインを使えばできるかも)
標準機能で実現できる範囲が小さい
今までのご説明でも「プラグイン」というワードがたくさん出てきたように、kintoneは標準機能で実現できることに限りがあり、実現したい仕様によってはプラグインの導入やCSS、JavaScriptを用いた開発が必要になる場合が多々あります。Excelで管理しているものをkintoneに移行するのであれば標準機能で実装可能かもしれませんが、業務システムを作りたいとなると、ほとんどの場合追加実装やプラグインが必要になると思います。
kintoneで業務システムを開発したい場合は、標準機能だけでは実現できないことを認識しておいたほうがいいかもしれません。
おわりに
今回は、Salesforceエンジニアである私が感じた、kintoneとSalesforceの違いについて解説してみました。
比較されることが多い2製品ですが、比べてみると結構違うなと感じています。
最後までお読みいただきありがとうございました。