ローコード開発とは何か?メリットとデメリットを解説

2020年3月27日

ローコード開発の概要

ローコード開発とは、アプリケーションやソフトウェア開発に対する視覚的な開発手法です。高い知識や経験を持たなくても、開発業務に従事できるようになるため、ローコード開発は近年注目されている開発手法です。

ローコード開発のプラットフォーム

ローコード開発では、開発プラットフォーム(開発ツール)を使用していきます。
例えばIoT製品を開発する手段として注目されているNode-Redもローコード開発のためのプラットフォームの1つと言えるでしょう。
Node-Redのチュートリアル動画を見ると分かるように、ドラッグアンドドロップで動作や機能を組み立て、ソフトウェアやアプリケーションを開発していきます。

ローコード開発の開発手法

ローコード開発ではプログラムコードを書いていく通常の開発手法とは異なり、開発手順を省略することができます。
例えばプログラムコードを書いて開発していく場合は以下のような手順で開発が進められていきます[1]What Is Low-Code? [2020 Update] を参考に作成

  1. 要件定義
  2. 外部設計
  3. バックエンドのフレームワークの選定
  4. サードパーティーのAPIの選定
  5. フロントエンドのフレームワークの選定
  6. 運用の策定
  7. 画面設計
  8. フロントエンドの構築
  9. テスト項目の策定
  10. 業務フローの策定
  11. 内部設計
  12. バックエンドの構築
  13. テスト
  14. セキュリティテスト
  15. リリース

一方で、ローコード開発を取り入れた場合は、以下のような開発手順となります。

  1. 要件定義
  2. サードパーティーのAPIの選定
  3. 内部設計
  4. 開発
  5. APIの連携
  6. テスト
  7. リリース

プログラムコードを開発する場合と比べ、バックエンド・フロントエンドのフレームワークを考える工程が省略でき、あらかじめ環境が整っているので、外部設計をする必要もありません。
このようにローコード開発では開発手順を省略でき、すばやくソフトウェアやアプリケーションを構築することができます。
また、必要以上に技術選定に時間をとられず、開発に集中できることもローコード開発の魅力です。

ローコード開発のメリット

既述の開発手順の省略だけでなく、ローコード開発には様々なメリットがあります。
ローコード開発のメリットは、プログラマーの経験が低くてもソフトウェアやアプリケーションの開発ができることです。
ローコード開発ではロジックと開発プラットフォームの操作方法さえ知っていれば、プログラミングをしたことがない人でもアプリケーションの開発ができることもあります。
また、その開発ツールの体得もプログラミング言語を1から学ぶより簡単であるため、教育コストも低く抑えられるというメリットがあります。

ローコード開発のデメリット

ローコード開発のデメリット、あるいは弱点は、完全にプログラマーの手を借りなくて済むというわけにはいかないことです。
何かしら開発に問題が発生した場合、問題を解決するには経験とスキルのあるプログラマーが必要であることです。
また、ローコード開発のプラットフォームで構築した内容はプログラミングコードに変換する必要があります。この変換作業をするにも知識と経験のあるプログラマーの存在が不可欠です。
また、ローコード開発のプラットフォームを使用することで、開発内容はある程度制限されます。型にはまった内容をすばやく作成するには適していますが、完全に自由な設計・開発を行う場合にはローコード開発は不適です。
さらに、中身の分からないローコード開発のプラットフォームを使用して開発したソフトウェアやアプリケーションは、セキュリティ対策がどこまで充実しているかわからず、セキュリティ面に不安が残ってしまいます。

ローコードとノーコードの違い

ローコードと似た開発のアイデアとして「ノーコード開発」というものがあります。
その名の通りコードが全くない、つまりプログラミングを全くしないという開発手法です。
例えば近年プログラミング教材として注目されている「スクラッチ」はノーコード開発と言えるかもしれません。

このローコード開発とノーコード開発には明確な線引きがあるというわけではないですが、いくつかの相違点があります[2] Low-code development platform – Wikipedia
最も大きな相違点はその目的です。ノーコード開発は決められたアプリケーションをプログラミングを知らない一般ユーザーでも開発できるようにしています。先ほどのスクラッチも決められた環境の中でのみ遊べるプログラムを構築することができ、ターゲットはプログラミング言語を知らない子供たちです。
一方でローコード開発では開発の効率化を目的とし、ドラッグアンドドロップで開発できるようなプラットフォームを使用します。
そのため、ノーコード開発では全くプログラミング言語をしらなくともアプリケーション開発ができるのに対し、ローコード開発ではある程度プログラミングの知識を必要とします。
こうした相違点をまとめると、以下のようになります。

ローコード開発ノーコード開発
主な目的業務の効率化プログラミングを知らない人でもアプリケーションを作れるようにする
対象とする主なユーザープログラマープログラミングを知らないユーザー
開発できるもの制限なしあらかじめ決められたアプリケーションのみ

参考