ノーコード開発にはデメリットやできないことがある。【実際にWebエンジニアが使ってみた】
今回は、現在注目されているノーコード開発についての記事になります。
ノーコード開発といえば「非ITエンジニアでも開発が行える」「開発コストを圧倒的に抑えることができる」といったメリットがあり、ここに惹かれた方が多くいるのではないでしょうか。
ですが、そのようなメリットの裏にはいくつものデメリットが隠れています。
そのため、ノーコード開発を勉強してみたいという方やノーコードで開発案件を発注したいという方は、ノーコード開発のメリットとデメリットをきちんと理解するべきでしょう。
この記事を読めば、ノーコード開発のメリットとデメリットがわかります。
Webエンジニアである僕が、ノーコードツール(Bubble)でのシステム開発案件を経験したうえで執筆しています。
先に軽く紹介しておきます。
- 短期間で開発できる
- 開発費用が抑えられる
- 学習コストが低い
- プログラマー以外でも開発できる
- 自由度や拡張性が低い
- アプリの実行速度が遅い
- 大規模開発には不向き
- プラットフォームに依存する
- 日本語の情報が少ない
それでは詳しく見ていきましょう。
ノーコード開発(NoCode)とは?
ノーコード開発とは、その名の通りコードを書かないアプリケーション開発のことを指します。
従来の開発手法であればアプリケーションを開発するうえで「コーディング」や「プログラミング」といったコードを書く作業が必要になりますが、ノーコード開発ではそのようなコードを書く作業が必要ありません。
代わりに、専用のノーコードツールを用いてドラッグ&ドロップといった簡単なマウス操作を行い、直感的にアプリケーション開発を行っていきます。
そのため、少し勉強すれば非ITエンジニアでもアプリ開発が可能です。
ノーコード開発のメリット【プログラミングと比較】
デメリットをきちんと理解したうえで改めてメリットを見れば、ノーコード開発の本当の魅力が良くわかるでしょう。
- 短期間で開発できる
- 開発費用が抑えられる
- 学習コストが低い
- プログラマー以外でも開発できる
それぞれ解説します。
メリット①:短期間で開発できる
ノーコード開発は、短期間で素早くアプリ開発を行えるというメリットがあります。
この理由には面倒な環境構築をすっ飛ばしてすぐにアプリ開発を行える点もありますが、なによりパーツのドラッグ&ドロップと用意された処理の選択で開発が行える点が大きいと感じました。
さまざまな制約はありますが、その制約内でなら素早くアプリ開発を行うことができるでしょう。
メリット②:開発コストが抑えられる
ノーコード開発は開発コストが抑えられます。
ここでの開発コストとは、開発の手間と費用のことです。
まず、開発の手間はプログラミングを用いた開発に比べ圧倒的に減ります。(メリット①で説明した通り)
その結果、開発に割く人員や期間が少なく抑えられるため、開発費用を抑えられるのです。
開発者にとっても発注者にとっても嬉しいメリットですね。
メリット③:学習コストが低い
ノーコード開発は、ITエンジニアでなくとも簡単に習得できるほど学習コストが低いです。
先ほど日本語の情報が少ないとは書いたものの、そもそも勉強することが少ないので大したデメリットではありません。
プログラミングを用いた開発を行う場合、プログラミング言語やフレームワークのスキルはもちろん、コンピューターサイエンスにおける様々な知識が必要になるため、ちょっと勉強しただけではアプリ開発ができるようにはなりません。
一方ノーコード開発は、非ITエンジニア向けに作られているため、そのようなスキルや知識のハードルが非常に低く設定されています。
もちろん良いアプリを開発するにはデータベースの知識やセキュリティなど勉強したほうが良いと思いますが、それでも圧倒的に学習コストが低いと言えるでしょう。
メリット④:プログラマー以外でも開発できる
ノーコードツールを使えばプログラマー以外でも開発ができます。
そのため、以下のようなことが可能になります。
- プログラマー不在だけど自社で開発を行う
- 開発は業者に任せて保守運用は自社の社員(非エンジニア)に任せる
これまでのシステム開発と保守運用の流れを大きく変えることのできる存在といっても良いでしょう。
ノーコード開発のデメリット【プログラミングと比較】
非常に魅力的なノーコード開発ですが、やはりプログラミングを用いた開発を経験した身からするとデメリットと感じる部分がありました。
そんなノーコード開発のデメリットについてまとめました。
- 自由度や拡張性が低い
- アプリの実行速度が遅い
- 大規模開発には不向き
- プラットフォームに依存する
- 日本語の情報が少ない
それぞれ解説します。
デメリット①:自由度や拡張性が低い
ノーコード開発は、プログラミングを用いた開発よりも自由度や拡張性が低くなります。
要は、思い通りの実装をするのが難しい場合があるということです。
例えば、「独自のアニメーションを実装したい」「独自のデータ加工を行いたい」といった場合に手が止まりました。
コードをかける場合「ないんなら自前で実装しちゃおう」となるわけですが、ノーコードの場合そうはいきません。
プラグイン等の拡張機能があればそれを探してきて使うという選択肢がありますが、ない場合はノーコードツールが対応してくれるのを待つしかありません。
つまり、どこまで行っても「ツールがあらかじめ用意してくれた機能を組み合わせる止まり」なんです。
そのため、独自のアニメーションやアルゴリズムなどを必要とするアプリ開発はまだまだ苦手です。
デメリット②:アプリの実行速度が遅い
大抵の場合、ノーコードツールで開発したアプリはプログラミングで開発したアプリより動作が重いです。
この理由には、制約によりコードが冗長化しまうことや、内部で生成されるコードに余計なコードが含まれてしまうことが挙げられます。(最適化されていないということ)
理由はどうであれば、動作が遅くなるのはユーザーに不快感を与えてしまう可能性があるのでデメリットですよね。
そのため、高い実行速度を求める場合ノーコード開発は適していません。
デメリット③:大規模開発には不向き
ノーコード開発は大規模開発に不向きです。
この理由は先ほど説明した自由度や拡張性の低さにあり、大規模開発において要求される複雑な機能を実装できない場合が多いからです。
さらに、チーム開発環境も整っていないため、複数人で開発するのが苦手というのもあるでしょう。
ノーコードツールで大規模開発を行うようになるのはまだ先の話です。
デメリット④:プラットフォームに依存する
ノーコード開発はノーコードツールに依存した開発になります。
そのため、ノーコードツールを提供する企業が潰れてしまった場合などで、アプリやノーコードツール自体が使えなくなる可能性も考えられます。
デメリット⑤:日本語の情報が少ない
ノーコード開発はまだまだ発展途上であり、開発者も多くありません。
特に海外製のノーコードツールは日本語の情報が少なく、勉強するのにも苦労します。
これについては、ノーコードがもっと有名になり開発者が増えることで改善されるでしょう。
ノーコード開発を学ぶには
ノーコード開発に興味を持ち勉強してみたいという方は、まずは「Bubble」「Adalo」といった人気のノーコードツールに触れてみると良いでしょう。
勉強方法としては、YouTubeの解説動画を見るのがおすすめですが、英語が苦手でない方は公式ドキュメントを見ながら勉強するのも良いでしょう。
また、私や運営主も受講したNoCodeCampというようなノーコードツールのスクールもあるので、本気で学びたい方は選択肢の一つでしょう。