見出し画像

ノーコード/ローコードツールの選定

市場にあふれるノーコード/ローコードツール

前回の記事までは、Excelを使ったデータ運用とその限界についてお話してきました。もし、あなたの業務がExcelだけではメリットよりもデメリットの方が上回っていると感じた場合、そしてExcelには不適当と思われるデータの管理・運用を考えている場合は、ノーコード/ローコードツールの導入を検討しましょう。 では、市場にはどのようなノーコード/ローコード製品があるのでしょうか?ネットで少し検索したところ、30製品以上あることがわかりました。このブログは「自分の知識・経験を自分の言葉で書く」ことで皆様にとって有用な情報であることを目指していますが、私が使ったことのない製品は、ネットで調べた上で私の印象を述べることにします。実際に私が使ったことのある製品は、使ってみての経験を交えてご紹介します。

  • 業務フローを自動化したい(RPA)

    • NTT AT WinActor

    • IFTTT / Make

    • “退屈なことはPythonにやらせよう”

  • データベース導入の敷居を下げる(DB寄り)

    • Claris FileMaker

    • Google AppSheet

    • サイボウズ Kintone

Claris FileMaker

1980年代の設立当初からAppleの子会社であるクラリス社が提供している、カード型データベースです。当初はローカルPC上で動くアプリだったのですが、近年はクラウド上で動くようになり、更に専用iPhone/iPad向けアプリを提供したことで、歴史がありながらも時代の変化にうまく対応している印象です。
Android向けアプリを提供していないのは、Appleの子会社なので仕方がありません。ですので、ユーザーには全員iPadを持たせる、といったハードウェアも含めたシステムの構築が必要になります。しかしその労力・費用のリターンは大きく、例えば「顧客にタッチペンで署名をしてもらう」や「建設現場で施工の証拠写真を撮影する」といった「文字ではないバイナリデータ」の格納もFileMakerは得意です。
また、iPadにの内蔵カメラでQRコードを読み取り、DBに紐付けられたデータを表示する、といったことも比較的かんたんに実現可能です。

FileMakerは以前は「カード型データベース」と呼ばれる簡易なデータベース構造でした。これは今日一般的なリレーショナル・データベースとは違い、複雑なデータ間の関係は作れないものの、扱いが簡単というメリットがあり、導入時にすぐに作成できるメリットがあります。それがバージョンアップを重ねるうちにリレーショナル・データベースの機能も取り込み、現在ではSQLの一部も使えるようになっています。それまではFileMaker Scriptと呼ばれる独自言語のみ実装されていました。これはSQLのような「クエリ言語」とは異なり、ロジック記述言語として未だに有効です。
Kintoneと比較した時の明らかなアドバンテージとしては、豊富な関数が標準で実装されていることと、充実した印刷機能があることです。逆に、Kintoneと比べた時のデメリットは「不特定多数のユーザーに対してデータの閲覧・編集ができない」ことです。Kintoneもデフォルトの機能ではできませんが、kViewerなどのサードパーティー製のソリューションを採用することでそれが可能になっています。

Google AppSheet

これは、「スマホアプリが簡単に作れるツール」でありながら、真の意味でのデータベースです。このAppSheetに比べれば、FileMakerやKintoneは画面作成機能がある分、「DB機能+画面作成機能を持った製品」と呼べるのですが、AppSheetは基本的に、画面作成機能がありません。それなのになぜスマホアプリが簡単に作れるかというと、開発者がモデリングしたデータ構造を自動的にレイアウトして表示しているからです。つまり開発者の作業時間の100%は、ひたすらデータモデリングに費やすだけです。
そこそこのバリデーション処理が内蔵されており、また、ExcelやDBを直接参照する機能もありますし、内蔵DBも存在します。専用のスマホアプリによってカメラ機能やQRコード読み取りができる点はFileMakerと競合します(高めのプランへの加入必要)。
また、ユーザー一人あたりの料金はKintoneとほぼ同額であるところから、Kintoneとも競合します。どうしてもコードを書きたい場合は、Google Apps Script(≒ JavaScript)を書くこともできます。とにかく「画面作成機能がない」と聞くと、OracleやPostgresのようなRDBMSを思い出させますがそうではなく「自動的に画面を作成する機能がある」という非常にユニークな機能により、要件とハマればすぐに専用スマホアプリの作成ができるでしょう。

サイボウズ Kintone

Kintoneを説明するなら「カード型とリレーショナルの中間のようなデータベース機能と画面作成機能、それに申請承認機能」を合わせた製品、といえます。 Kintoneを導入するメリットを挙げるなら、以下のようになると思います:

  • 豊富なプラグインによるエコシステムが存在すること

  • それなりに歴史があり、ネットで検索すれば大抵の問題は解決策が見つかること

  • マウス操作のみでフォームを作れるため、画面作成の手間がかからない

  • (SaaSのため)インフラ整備の手間がかからない

  • DB、画面、バックエンドロジックのメンテナンスから解放される

Kintoneを中心としたプラグインによるエコシステムが存在しているので、必要な機能が基本機能になくても、プラグインを探せば大抵のニーズには答えてくれるため、安心です。

Microsoft Power Apps

Microsoft Power Platformの一部として公開されているPower Appsは、基本的にノーコードでカスタムアプリケーションを作成できるところまでは他の競合サービスと変わりませんが、カスタムコンポーネントの作成ができるなど、かなりの拡張性を考慮に入れているところが特徴です。これを強みと見るか、「結局コードを書く羽目になったらせっかくのローコード/ノーコードの特徴がスポイルされる」と考えるのかはユースケースに依ります。なるべくノーコードで実現できそうな用途を見つけ、どうしてもコードを書かなければならない場合は書く、沢山書きそうな場合は別のソリューションを検討する、といった見極めが、便利に利用できるかを決定すると思われます。

PALSYS Wagby

Wagbyは、従来のフルスクラッチによるWebシステム開発の代替を想定したノーコードツールです。 これは他のノーコードツールとは少し用途が異なり、「Javaによるフルスクラッチ開発」からの乗り換えを想定しているところが、例えばGoogle AppSheetのような「モバイルアプリを簡単に作成する」といった競合と異なる点です。
また、Wagbyは一般的なRDBMSによるデータ保存を想定しており、WebインターフェースはそのRDBと強く関連付けされています。「データモデリングもWagbyで行い、そこにデータを入力する画面としてWebインターフェースも構築できるようになっている」という見方もできます。これはデータモデリングから入る従来のソフトウェア開発工程を強く意識した結果であると見られます。
その反面、ビジネスロジックの実装はノーコードでは対応できず、ブロックを組み合わせるような「スクリプト」と呼ばれるビジュアルプログラミング環境もあります。しかしこれで複雑なビジネスロジックを表現するのは難しいかと思われます。 「複雑なビジネスロジックは別システムで行うから、Wagbyはとにかく別システムで扱うためのデータを保存するテーブル定義と画面だけ素早く実装したい」といった用途にはマッチするでしょう。

NTT AT WinActor

コードを(なるべく)書かず、今まで人間が操作していたマニュアル操作をフローチャート図を書いて自動化するためのツールです。これがノーコードではなくローコードである理由は、予め用意されたアクションにはない独自のアクションを定義しようとすると、VBAの関数を書かされることになるからです。
また、多くのケースで必要になるであろう処理は予め用意されているのですが、それ以外の処理を行いたいとか、少し複雑で規模の大きなフローを作ろうとすると、変数は256個しか使えない制限により苦労することになるでしょう。このようなツールで開発することを指定された場合、私のようなソフトウェア・エンジニアからすると「コードを書いたほうが早いんだけどな…」と思いがちです。しかしWinActorの基本機能のみで処理を自動化できそうな場合や、様々な理由によりソフトウェア・エンジニアを確保できなかった場合、社員がWinActorなら大得意だった場合、販売代理店が有利な条件を言ってきた場合などは検討する必要があります。

WinActorはその製品名からもわかるように、動作環境はWindows専用です。もし今後、あなたの業務フローをクラウド化する場合はWindowsが動く仮想マシンをクラウドサービス上で選ばなければならず、価格面の選択肢が減ることになることにも注意してください。 それ以外の場合は、無料で手に入る「スクリプト言語」でコードを書いたほうが安く、早い場合があります。

IFTTT / Make

https://www.make.com/en

IFTTTとMakeは全く別のサービスですが、ここではひとまとめに紹介します。 これらはトリガーとなるイベントを感知した時に何をするのかを一直線に指定して、実行します。 IFTTTとはIf This Then That(もしこれなら、あれをしろ)の略であり、名前の通りの処理しか行なえません。これらの使いみちとしては、Google Driveの特定の場所にファイルが保存されたらそれをSlackに通知してメッセージを表示する、といった用途が考えられます。 Makeも基本的にIFTTTと用途は同じですが、インターフェースがわかりやすく柔軟ですので、今から使うならインターフェースがモダンで、無料枠も充実したMakeをお勧めします。

“退屈なことはPythonにやらせよう”

「退屈なことはPythonにやらせよう」とは本の題名ですが、要するにマニュアル操作をコードで記述して自動化しよう、ということです。Pythonを選んだのは単にそれが最も普及しているスクリプト言語だから代名詞にしただけであり、Pythonに特別な何かがあるわけではありません。

ノーコード/ローコードを実現するために必要なのはツール(言語)の表現力です。あるシステム記述言語が、ある処理を表現するのにコードを10行書いたとします。もしPyrhonなどのスクリプト言語が、同様の処理を1行で書くことができればその言語は「表現力が高い」ということができますし、それこそが「ローコード」です。 Pythonと同様、スクリプト言語に分類される言語としてRubyがあります。これは設計者が日本人ということもあり、日本語文字コードを扱う場合、少し簡単にコードを書けるかもしれません。

Python3なら、基本的にUTF-8を扱う場合は特に気にする必要はないのですが、Windowsばかりの現場で未だに使われているShift-JIS文字コードのデータを扱う場合は、少し気をつける必要があります。
このように、ローコード/ノーコードツールといっても製品の得意分野はさまざまで、要件に一番合った製品を選ぶ必要があります。もし製品の選定が不安でしたら、ヴィップシステムがお客様の要件を丁寧にヒアリングし、細部まで検討した上でお客様に最適なソリューションを提供いたします!

お問い合わせ

Kintone導入検討時のご相談から、導入後の利活用・定着化に至るまで、私たちは、お客様と「伴走」しながら思いを込めてサポートいたします。ご相談無料ですので、ぜひお気軽にお問い合わせください。

記事作成
Kintone推進チーム
使用した画像
UnsplashArnold Franciscaが撮影した写真