昨今、ノーコードやローコードと言った技術ワードに注目が集まっています。すべて自分で開発していくスタイルとは異なり、ローコードはコーディング量を圧倒的に減らし、ノーコードはコーディングを行わないのが特徴です。
しかし、そんなローコード開発であっても、技術的なことを全く知らなくて良い訳ではありません。むしろ他の知識が大事になることも多いでしょう。この記事ではそうしたローコードで必要になる技術やスキルについて、アプリ開発という視点から解説します。
知識
サーバーに関する知識
多くのアプリにおいて、サーバーとの連携機能は必須になっています。データの保存や取得、写真ファイルのアップロードなど様々な場面でサーバーが必要になります。
アプリ開発時においては、このサーバーとHTTPで通信を行います。皆さんがWebブラウザで使っている仕組みと同じです。
そのため、アプリ内で作成したデータを誰かと共有したり、別なデバイスでも見たいと思ったならばサーバーを用意する必要があります。
もし自分たちで用意できない場合にはニフクラ mobile backendやFirebaseといったmBaaS(mobile Backend as a Service)を採用するのも良いでしょう。
ネットワークに関する知識
スマートフォンでは、常時インターネットに接続されているのが当たり前だと思われるかも知れません。
しかし、モバイルネットワークはオフィスや自宅の常時接続と比べて不安定です。
5Gや4Gの切り替えや、地下鉄などの電波の悪いところ、無料WiFiに接続してパスワード入力が求められるなどネットワーク速度が変化することはままあります。
そのため、ネットワークの状態を判断して処理を止めたり、キューに入れて後で処理するといった判断が求められます。もちろんネットワーク接続に失敗した時のエラー処理も考えなければなりません。
フレームワークに関する知識
MonacaはWeb技術でアプリ開発を行えますが、素のHTMLをそのまま使うのは避けた方が良いでしょう。UIが貧相であったり、アプリらしいUXを提供するのが難しいからです。そこで、モバイルアプリ用のフレームワークを採用しましょう。
有名なところではOnsen UIやFramework7、Ionic Frameworkが知られています。これらのUIフレームワークを使うことで、見た目がネイティブアプリ風になるのはもちろんのこと、画面遷移もアプリ風に使いやすいものになります。
ハードウェアに関する知識
スマートフォンやタブレットには多種多様な機能が備わっています。
NFCやBluetooth、生体認証、ヘルスケア、位置情報、プッシュ通知など様々な機能があり、それらを使いこなすことでリッチなアプリを開発できます。
ただし、これらの機能を使うためには必要な手順や仕組みがあります。
最近ではプライバシーも強化されており、誰でも制限なく使えるものではありません。
それだけにこうした機能の利用法や、何ができて何ができないのかを正しく把握する必要があるでしょう。
OSに関する知識
スマートフォンのOSと言えばiOSとAndroidがほとんどです。
しかし、AppleのデバイスにはiOSとiPadOSがあり、さらにWatchOS、tvOSなども存在します。
AndroidはOSは統一されていますが、バージョンやデバイスの種類が豊富で、ハードウェアも多種多様です。カメラがないものもあれば、Google PlayがないKindle Fireのようなデバイスもあります。
最近ではWindowsでもAndroidアプリが動作するようになったり、CarPlayやAndroid Autoのように車でも利用できるようになっています。実行環境(OS)に関する知識は手持ちのデバイス以上のことを把握していなければならないでしょう。
DB設計に関する知識
サーバーを利用する場合、多くでデータベースを利用するでしょう。現在、多くのデータベースはRDBMS(リレーショナルデータベース)となっており、適切なテーブル設計が求められます。その出来如何でパフォーマンスが大きく違ってくるでしょう。
前述のmBaaSや、ドキュメント型データベースを利用する場合には、スキーマレスでテーブル設計が不要な場合もあります。そうしたデータベースの場合は、RDBMSとは異なる概念でデータ設計を行う必要があり、こちらもまた異なる知識が求められます。
画面設計に関する知識
ローコードで素早くアプリを作れるとしても、デザインやUXに関する部分は大事になります。
使いやすいアプリやデータ入力方法、閲覧機能について考えなければ、使いやすいアプリにはならないでしょう。特に無闇に画面を増やしたり、機能を盛り込みすぎるのは良くありません。
現在使っているアプリをよく観察し、機能をどこまで削れるのか、本当に必要な表示項目は何かを見極める必要があります。それが使いやすい、使いづらいアプリの分かれ目になるでしょう。
スキル
ビジネスロジック設計
ローコードで求められるのはプログラミング知識よりも、業務や事業におけるビジネスロジックの設計能力です。
開発については、工数を大幅に下げられる一方で、ビジネスロジックに関する工数は変わりません。
むしろ多くのローコードで開発されるアプリが業務系であることを踏まえると、ビジネスロジック設計こそ肝になります。
要件定義
業務で利用するアプリなどの場合、様々な部署やロールに関わる可能性があります。
そうした関係者の意見をとりまとめ、使ってもらえるアプリにするための要件定義は簡単なものではありません。
開発工程に入るとローコードプラットフォームはスピードアップできますので、まずしっかりとした要件定義が重要になります。
業務分析
ビジネスロジックを設計、分析する上で大事になるのが業務分析です。
ただ担当者の話を聞くだけでなく、実際に現場を訪れたり、同行するなどして実態に合わせた業務分析が求められます。
そうした実態を観察することで、本当に求められている機能が可視化されるでしょう。
まとめ
ローコードでアプリを開発する際に求められるのはプログラミング能力よりも、業務分析やロジック設計と言ったビジネスに即したスキルになります。さらにアプリ開発以外の技術的要素(ネットワーク、サーバー、データベースなど)の知識も必要です。これらの能力を兼ね備えていないと、アプリ開発が難航してしまうでしょう。
今や誰もが持っているスマートフォンを使うことで、業務効率は大幅に改善できます。しかし、それも適切なアプリがあってこそです。そのためにも今回紹介したスキル、知識を獲得してアプリ開発プロジェクトをスムーズに展開してください。