NoCode開発でのメリットデメリットは有ると思います。
今回はそのデメリットの面に注目して、記載していきます。
先日、少しNoCodeの開発でご質問をいただくことがありました。
そこで、「システム知ってる方だと陥りやすい罠だなー」と思う所があり、少しまとめてみました。
まず、以前の記事
にも書いた
・IPaaSを使うと、トランザクションのランニングコストが高くなりがち
・データ型がプラットフォーム依存
等が有ります。この辺は、想像しやすい所だと思います。
さて、今回お話ししたい、NoCodeの弱点(特徴)は
・データ中心型のシステムに向かない
・プラットフォーム同士の独立性を少なからず尊重する必要が有る
ということです。
SIをやられている方は特にそうだと思いますが、同期ミスなどをさせないように、データは以下のように「一カ所で管理したい!!」と思いがちです。
ですが、IPaaSの発想でそれをやろうとすると、プラットフォーム間のトランザクションが増えてしまいがちです。
例えば、カベウチを例で取りますと「専門家(利用者)のデータを中心にDBを用意して、そこに保存したい」と思ってしまいがちです。(私もそう考えました。)
ですが、もしそれをやってしまうと、
「画面を表示(参照)するだけで、中心のDBに毎回トランザクション(費用)が発生する。」
という様な状況になってしまいます。
もちろん、
・有料IPaasでなく無料のプラグイン的なもので利用出来るDBを利用する
・DBから受け取ったデータを表示する為に少しコードを書く
とか色々回避方法は「頑張れます」。
ですが、マンパワー的なコストから考えても、あまりお勧め出来ません。
それぞれの「プラットフォームを尊重」した方が、NoCodeの良さが出ると思います。
今までシステム開発を行ってきた方は、少しムズムズするかもしれませんが、
「それぞれのプラットフォームで利用するデータは、なるべくそのプラットフォームで所持する。」
「変更が発生した時のみに、プラットフォーム間で同期が必要なら同期を取る。」
くらいの発想に慣れていくのが良いと思います。
無理にプラットフォーム間をガチガチに結合(同期)させない、といった所でしょうか。
逆に、「データ中心型で作らないと駄目だ」となるような時は、コーディングしたシステム開発を行うぐらいに、サービスが成長してきたのかもしれません。
その時は、システム開発に投資を行うべきでしょう!!