ノーコード/ローコード開発ツールが、ITの民主化を促すとして注目を集めている。ノーコードとローコードの違い、メリットやデメリット、導入形態、開発作業のイメージ、導入する際に気を付けるポイントなどを総整理する。
近年「ノーコード」「ローコード」という用語を頻繁に耳にするようになった。一般的にノーコードとは、プログラムコードを記述するコーディング作業なしに画面設計のみでアプリを利用できるツールや環境のことを指し、ローコードはわずかなコーディング作業のみでアプリ開発が可能なツールや環境を指す。こうしたアプリ開発の手法が注目を集める背景には、システム開発に掛けられる人手や予算に限りがある一方で、IT化による業務効率化の必要性が増し、ビジネス環境の変化に併せてスピード開発が求められている実情がある。
ノーコード開発ツールのメリットの一つは、プログラム開発言語の知識を持たない業務部門の担当者であっても、自らアプリを開発できることだ。多くの企業では、経理や財務、顧客管理などの基幹業務にパッケージソフトウェア製品やスクラッチ開発のアプリを導入していても、それらでは網羅できないデータ管理や導入後の運用変更などのスキマ作業を業務担当者がExcelやAccessを用いて補っている。ExcelやAccessは複数人で情報を共有する用途には向いておらず、バージョン管理の面でも課題が多い。ノーコード開発ツールは、こうしたスキマ作業のニーズを、情報システム部門やエンジニアに依存することなく、業務部門が自ら解決するための手段として期待を集めている。これによってIT人材不足を解消でき、場合によっては外部委託にかかる時間やコストの削減にもつながる。
一方のローコード開発ツールは、ノーコード開発の要素に加えてより高度なカスタマイズや、自動化処理機能、他システムとの柔軟な連携などが可能だ。さらにJavaScriptなどプログラム言語を追加機能として実装することで拡張性も広がり、プロの開発者が短期間で業務アプリを開発するための手段としても広く採用されている。さらに、最終的にプログラム言語でスクラッチ開発をする場合でも、ローコードツールを用いてシステムのモックアップやプロトタイプを短期間のうちに開発し、業務部門のユーザーに都度確認しながら仕様を固めるというアジャイル開発の用途にも活用されている。現場の要望を即時に反映して、よりニーズにマッチしたアプリを作成できるとの期待が強い。
ローコードとノーコードはひとくくりで語られることが多いが、それぞれ何ができるのか。
従来、Webブラウザで操作するタイプの業務アプリを作成する際は、基本設計や詳細設計を行った上で、JavaやC#などのプログラミング言語を使い、適宜データベースサーバを介して特定のデータを呼び出すSQLなどの処理を記述、HTMLなどでUI(ユーザインタフェース)を記述する。情報システム部門は、アプリケーションサーバ、データベースサーバ、ウェブサーバなどを用意する必要がある。一方、ノーコード開発ツールではこれらの複雑な準備作業が不要だ。
ノーコード開発ツールは、アプリ画面のテンプレートや機能の部品が、ほぼ完成済の状態で用意されている。ユーザーはGUI操作で、テンプレートや機能の部品を組み合わせてアプリを作成できる。クラウド型の場合には、サービス事業者のクラウド環境にインフラが用意されている場合が多く、そこにデータをインポートして処理を定義するというのが一般的な使い方だ。
コーディング作業が不要なため、「Excel」や「PowerPoint」を使える程度のITリテラシーがあれば短期間の学習で必要なスキルを習得できる。ただしノーコード開発ツールは、既存のテンプレートや部品で用意されていない機能や動作などは実装できず、デザインにも制限がある。そのためUIが画一的になり、操作性や利便性も犠牲になることがある。
一方ローコード開発ツールは、ノーコード開発ツールと同様のシンプルかつ高速な開発環境を提供しつつ、プログラミングによる機能拡張をある程度許容しているのが特徴だ。出来合いの部品やテンプレートではカバーされていないビジネスロジックを実装したり、見た目やユーザービリティに工夫を凝らしたUIを作り込んだりできる。ただ経験のないユーザーには少し学習時間が必要となり、使い手をある程度選ぶツールだ。
サイボウズの「kintone」やClarisの「FileMaker」などは、コーディングを必要としないノーコードツールとして使えると同時に、ローコードツールとしてプログラミングによるカスタマイズも可能だ。これらを活用する場合は、ノーコードとローコードの線引きを意識する必要はあまりないかもしれない。
ノーコード/ローコード開発ツールの導入形態は、ソフトウェアパッケージをオンプレミスに導入する場合と、SaaS(Software as a Service)とPaaS(Platform as a Service)といったクラウドサービスとして利用する場合に大別できる。医療機関や官公庁など機密データを扱う組織においては、インターネットに接続しないオンプレミスでのネットワーク環境で利用したいという要望が多い。
もっとも、クラウドサービスを利用する場合は、全てのデータをインターネット経由で外部のデータセンターに格納するが、ISO27001などの第三者機関の認証を受けたデータセンターサービスであれば「自社で運用するよりも安全」と判断できるかもしれない。早い段階でセキュリティレベルや取り扱うデータの内容を整理しておくことをお勧めする。
また、クラウドサービスは導入やバックアップ、セキュリティメンテナンスなどの運用が容易なため、業務部門の担当者がアプリ開発する場合に適している。
ノーコード開発ツールを使った開発作業のイメージを、FileMakerを例にとって説明しよう。FileMakerは独自のデータベースエンジン層とビジネスロジック層とレイアウト層の3層構造を備えており、簡単にデータベースと連携したアプリを構築できる。
例えば、Excelで蓄積されているデータがあるならば、そのExcelシートをドラッグ&ドロップするだけでデータを取り込みデータベース化できる。
次に画面UIを作成する。画面のテンプレートを呼び出し、ボタンやボタンバー、入力フィールド、グラフなどのパーツもドラッグ&ドロップ操作で画面をデザインする。別途JPEG画像などを挿入することが可能だ。さらに、データベースの各データ項目を画面上にどのように配置するかを指定する。
画面パーツを配置したら、それらが操作された際に実行したい処理を指定する。これがいわゆる「ロジックを作る」作業だ。従来はプログラムコードを記述する必要があるが、あらかじめ用意されている機能の部品を指定し、処理する順番に並べてわずかな設定を施せばよい。「メール送信ボタン」を実装したければ、ボタンを配置し、そのパーツに対して「メール送信機能の部品」を選択し、「宛先、タイトル、メール本文」などに指定したフィールドを差し込んで、添付ファイルを加えるなどの処理を施せば、1クリックで「指定した顧客に資料を送付する」という処理を実現できる。
このようにデータベースの参照や更新、それに付随した簡単な処理というシンプルな機能を備えた業務アプリであれば、コーディング作業なしに開発が可能だ。ちなみに、FileMakerではさらにノーコードの領域に踏み込んで、「郵便番号を入れたら住所が表示される」といったようなスクリプトを独自に作成し、その処理を組み込める。
なお、個人商店のオーナーがFileMakerを使って1人で顧客管理や売上げ管理を行うためのアプリを開発するなど、中小企業や商店で活用されるケースがあるという。
ノーコード/ローコードで業務アプリを開発できるツールとしては、前述したFileMakerやkintoneの他にも、Microsoftの「Power Apps」やGoogleが2020年に買収した「AppSheet」などがある。自社に合ったツールを選ぶ際に、留意すべきポイントをまとめた。
ノーコード/ローコード開発ツールでは、あらかじめ用意されている画面テンプレートやサンプルをベースに、画面パーツや処理の部品を組み合わせてしてアプリを完成させる。ここでいうサンプルとは、「勤怠入力管理」「資産管理」「名刺作成」など業務別に用意されているアプリのひな形のことだ。自社のニーズや業種・業態にマッチしたテンプレート、サンプルを豊富に揃えるツールを選びたい。
ツールの利用方法や開発ノウハウなど、開発作業を進める際に必要な情報がオンラインマニュアルなどで整理されていることが望ましい。インターネットで多くの開発者が情報を発信し、ユーザーコミュニティでの情報交換が活発に行われているツールを選べば、情報を得られずに苦労することもないだろう。
ツールによっては、「PC向け」「タブレット向け」「スマートフォン向け」など複数プラットフォーム向けのアプリを一度に開発できる。WindowsやMac OSなど異なるOSのネイティブアプリを同時に開発できる場合もある。サポートすべきプラットフォームを明確化してツールを選びたい。また、モバイル環境で利用を想定する場合に、圏外でもアプリが利用可能であるかも重要な指標になることがある。
ツールによっては、アプリの開発事体は容易な一方で、他のシステムとの連携のハードルが高い場合がある。システム連携のニーズがある場合は、標準機能として連携インタフェースを備えるローコードツールを選ぶ方が得策かもしれない。ツールによっては、 プラグインやAPI連携の機能をオプションとして販売している場合もある。FileMakerの場合は、「Claris Connect」という機能を利用すれば、電子契約サービスやチャットツール、オンラインストレージといったクラウドサービスの他、オンプレミスのアプリとの連携が可能になる。
ノーコード/ローコード開発ツールは処理のオーバーヘッドが高く、数百万件のレコードを処理する場合などは、レイテンシが大きくなり遅延が発生しがちだ。高速処理が求められるミッションクリティカルなアプリの開発には向いていない
多くのノーコード/ローコード開発ツールはExcelやCSVファイルをデータベース化させる機能を持っているが、ツールによっては、Excelファイルそのもののデータをきちんと整理しておかないとうまく取り込めない場合があるので注意が必要だ。
なお業務部門の担当者が開発や運用を担う場合でも、IT部門の関与なしに独断で開発を進めることはITガバナンスの観点から望ましくない。社内のセキュリティポリシーなどに準拠して設計や開発を行う必要があるため、業務部門の担当者が自ら開発作業を行う場合も、IT部門との協力体制を築くべきだ。
Copyright © ITmedia, Inc. All Rights Reserved.
製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます。