ノーコード、ローコードというのが最近の流行り(というか、バズワード)のようだ。次のような定義らしい。
- ノーコード
- (専用ツールを使って)コードを書かずにプログラムを作成する事。
- ローコード
- (専用ツールを使って)極少量のコーディングのみでプログラムを作成する事。
「いや、そんなん昔から有るじゃん。RPGツクールとか」とも思うが、またRPGツクールのような物はジェネレータと呼んでいた記憶もあるが、それは言ってはいけないのだろう。まぁ所詮はバズワード。
……ところで、既存の、通常のコーディングでプログラムを作成する事は何と言えば良いのだろう?lowの逆だし、ハイコードだろうか?
閑話休題。幾つかノーコード、或いはローコードツールと呼べそうな物を使ってみたので、ノーコード/ローコードツールについての所感を記しておきたいと思う。使ってみたのは次の物:
- IFTTT
- ノーコード、ローコード両方
- Glide
- ノーコード
- Integromat
- ノーコード?
- Automate
- ノーコード?
簡単だが制約が厳しい
ノーコード/ローコードツールの売り文句として先ず上がるのが、「簡単にプログラム(アプリ)が作成できますよ!」という物。確かに簡単だった。普通にコーディングする場合とは比べ物にならない位に手軽。ただし、「出来ない事」が多く、簡単にその制約に引っかかる。これが「PRGツクールでアクションゲームを作りたい」というような類であれば、目的外の事をさせようとしている訳なので「出来ない」と言われても納得出来るのだが、割と初歩的に思える事が出来なかったりする。簡単なノーコード/ローコードツールであれば「出来ない」という事にも直ぐに気付けるのだが、IntegromatやAutomateレベルの複雑なシステムとなると「出来ない」事がなかなか分からない。「まさか、こんな簡単な事が出来ない筈がない」と長時間に渡って調べ尽くして、結局「不可能」と結論付けられるとグッタリ疲れる。この調査時間と「不可能」となる可能性を考えると、普通にコードを書いた方が早かったのでは……?と首を捻りたくなる事もある。
継続的な改修を予定するシステムや、非開発者が仕様を決めるケースには向かないと感じる。前者は何処かのタイミングで制約に引っかかるし、後者は「何が出来て何が出来ないか」を理解できない(理解する機会がない)ので、「ツールの制約上、無理です」となった時に、費用や工期でトラブルを抱える事になりそう。
ノーコード開発ツールはこの先生きのこれるか?
かなり微妙だと感じる。
ローコードツールにも言える事ではあるのだが、その簡便さは実現できる物事の柔軟性を犠牲にする事で成り立っている。ノーコードツールの利便性を上げようとすると、ローコードツール化させるしかなくなってくるだろう。元来はノーコードツールであったIFTTTがProアカウント(課金アカウント)用に新設したfilter機能がローコードによる機能である事が、これを端的に表している。競合ツールとの競争に晒され、全てはローコードツールになる。
ローコード開発ツールはこの先生きのこれるか?
ノーコードよりは期待出来る。ただし、今の勢力は保てまい。どの程度下火になるかは、先に挙げた「制約」を如何に克服出来るかにかかってくる。単に「出来なかった事が出来るようになる」だけでは無意味で、これに「簡単に」が両立していなければならない。操作が複雑になるようなら、「既存の(開発者を容易に確保でき、ほぼ制約を考えずに済む)ハイコードでいいじゃん」となってしまう。
ローコードツールは、いい意味でも悪い意味でもPHP的な立場になるだろうと考えている。確かに「簡単に」プログラム開発を行う事が出来るようになるが、その「簡単」が何を犠牲にした上で成り立っている物かを理解出来ていなければならない。そうでなければ、その成果物は容易にクソコードに化けるだろう。