はじめに
ノーコードと言われるツールが、ここ近年好調のようで、わりとユーザー数を伸ばしているようです。ノーコードとは、コードを書かずにWebシステムが構築できるツールのことです。コードを書かないため、非エンジニアでもシステムが構築できてしまいます。これが一番の大きな特徴です。ノーコードによって、既存のエンジニアの仕事が奪われるのではと囁かれていますが、実際のところどうなのでしょうか。未来の事は誰にも分かりませんが、現時点での、ノーコードを触った自分の印象を書いてみます。
感想
ラクスが出している楽楽販売というノーコードツールを使ったことがあります。テレビCMも行っているため、聞いたことがある人はそこそこ多いでしょう。ノーコードツールの中では有名な部類に入ると思います。このツールを使った感想はと言えば、一言で率直に言って、「確かに便利!」です。簡単な業務管理系のWebシステムなら、ノーコードツールを使えば簡単に構築できてしまいます。サーバーはノーコードを開発しているベンダーが運営、管理をしています。よって、ノーコードツールを触る上で、インフラの知識は一切不要です。既に出来上がっているシステムを使っているような感じです。デプロイといった作業も発生しません。ユーザーは、サーバーOSが何であろうが、ストレージが何であろうが、言語が何であろうが、一切気にする必要はありません。
エンジニアがノーコードツールを積極的に使いたいとは思うことは、まずないでしょう。エンジニアはコードを書いてなんぼだからです。ノーコードツールは単純な処理であれば、簡単に実装できます。しかし、少し複雑な処理を行いたいとなると、途端に実装できなくなります。ツールそのものがパッケージ化されているため、カスタマイズできる範囲に大きな制限がかかることになります。痒いところに手を届かすことはできません。
何ができるのか
ノーコードツールを使うと、簡単なCRUD機能を持つWebアプリをサクッと作ることができます。ノーコードツールで作れるのは、本当に単純な機能だけです。多少語弊はあるかも分かりませんが、ノーコードツールで作れるアプリは、RailsのScaffoldで作られるようなWebアプリといっていいでしょう。ノーコードツールを使って、一番便利だと感じたことは、簡単にテーブル設計ができるところです。テーブルの作成、削除がワンクリックで行えます。CUIでCreate tableとか、Drop tableといったSQL文を実行することはありません。SQL文の知識も、ストレージの知識も不要です。カラムの追加や削除もGUIの操作だけで行えます。カラムの位置の移動が、マウスのドラック操作だけで行えます。この便利さには流石に「おーっ」と唸り声が上がりました。カラムの数値型、テキスト型などのデータ型は、プルダウンメニューからの選択で設定することができます。外部キーの設定もGUIの操作で、付け外しが自由自在に行えます。「折角設定したのに、後から仕様変更かよ、めんどくせー」といったことが一切発生しません。それくらいの自由度合です。開発の前段階で作成したテーブルを、開発途中にメンテナンスすることが、本当に一瞬です。この辺りの便利さは、本当に素晴らしいの一言です。エンジニアとしては、寧ろ、RDBのクライアントツールとして提供してもらいたいくらいです。入力画面、一覧画面といった、フロントエンドの作成も、マウスの操作だけで簡単に作成することができます。
すぐに使えるようになるのか
ノーコードツールは、エンジニアであれば、短時間でマスターできるようになります。ただし、最初は、使い方に慣れる必要があるため、ある程度のトレーニングは必要になります。非エンジニアであれば、トレーニングに多少時間を要することになります。しかし、マスターすることは、さほど難しい話ではありません。ノーコードツールをマスターするために、エンジニア程の知識は必要ありませんが、データベースの簡単な概念は理解しておく必要があります。内部結合、外部結合の概念は理解する必要があります。SQLの文法までは知る必要はありません。他にも、クエリ―、ユニーク制約、ユーザー管理、ロール管理、システム権限など、データベースを学習する時に出てくる、基本的な概念は理解している必要があります。非エンジニアでも使えるとは言ったが、基本的なIT知識は持っていないと、流石に使えるようになるの難しいとはいえるでしょう。テーブル設計の他に、GUIの操作だけでバッチ処理を構築することができます。条件分岐(If文、Swich文)、データ検索(AndとOrの違い)をGUIを使って作成し、処理が流れる順番を設定することができす。この辺りは、基本的なプログラミングの文法だけは知っておくことに越したことはないと言えます。
将来性
ノーコードはまだ出てきたばかりです。現時点のノーコードの機能だけでは、エンジニアにとって脅威感は殆どゼロです。ノーコードの機能の性能が飛躍的に向上して、複雑なことがノーコードだけで実現できるようになれば、多少は脅威感は出てくるかも分かりません。ただし、ノーコードの機能が向上することとと、非エンジニアがノーコードを使えるようになることは諸刃の剣とも言えます。システム音痴でも、圧倒的な低工数で、優秀なエンジニアが作成したWebアプリと同程度のものが作成できる日がくれば、それは確かに脅威でしょう。しかし、忘れてはいけないことは、どんなツールであっても、使うのはあくまでも人だということです。システム音痴が音痴のままでいる限り、ITリテラシーの低い人が、ITに何の興味、関心も抱かないままでいる限り、どのような高性能のツールが出てきたところで、エンジニアには何の脅威にもならないと思います。