プログラミングが世の中に浸透してきて、テック系のプログラミングスクールも人気です。転職でも未経験でプログラミング業界へ転職する人も増えていますね。プログラミングができる人材は貴重ですし、優秀な人は大手や起業するのでエンジニアの人材確保は大変です。また、アプリの開発期間などを見ても工期は短く単価も安くなってハードになっています。
そこで、最近人気なのが「ノーコード系の開発ツール」です。
プログラミングがそこまで得意じゃない初心者から中級者でもそれなりのアプリが作れるので人気なんですね。
今回は、iosアプリ開発やandroidアプリ開発に便利なNoCode(ノーコード・ローコード)系の開発ツールを調べてみました。
ノーコード開発/ローコード開発のメリット
・開発コストや納期を短縮できる
・コーディングに比べてGUIで把握できるのでメンテナンスは比較的しやすい
・プログラム初心者でもある程度のクオリティのアプリが開発できる
※データベースや外部サービスの知識は必要
・デザイナーなしでエンジニア一人でそこそこ見た目の良いUIのアプリを開発できる
ノーコード開発/ローコード開発のデメリット
・自由度が低いのでデザインの制限や複雑な動作が実現できない
・ノーコード開発ツールの使い方や制限を覚える必要がある
・ノーコード開発ツールの利用料がかかる
・ノーコードサービスに依存するのでサービス終了でアプリが使えなくなる可能性が高い
・日本語対応が乏しく、情報がまだ少ない、歴史が浅いためツールのバグが多い
・ノーコードツールを使える人材が少ないので、担当者に依存する
代表的なノーコード/ローコード開発ツール
ノーコード系には、業務向けのノーコードツールと一般向けのノーコードツールがあります。
業務向けは、Yapli(ヤプリ)やセールスフォース、アステリア、プラティオ、Notionといった開発ツールがあります。こちらは社内業務や基幹業務、店舗向けなので、目的や用途を選びます。
今回は、簡単そうなAdaloと、これから人気がでそうなFlutterFlowを触ってみました。
ノーコード/ローコード開発ツール | 特徴 |
---|---|
Adalo | 開発が簡単で使いやすい コーディングできないのでできる事が限定される ios、androidアプリ開発OK。ストア公開可能 |
FlutterFlow | 開発は難しい(firebaseなどの外部データベース設定も必要) コーディング、ソースコードダウンロード可能(有料ver) |
AppSheet | 開発は少し難しい Googlespreadsheetoをデータベース使用 UIがわりと柔軟 |
Microsoft Power App | 開発は少し難しい マイクロソフト軽ツールvisualstudioなどの雰囲気がある UIがイマイチ |
Bubble | 開発が少し難しいが拡張ができるので色々複雑なことができる Webサービス向け 人気が高くユーザー数が多い |
Glide |
Adalo(アダロ)
Adaloは日本でも人気のあるアプリ開発ツールです。ノーコードは海外でも注目されていて、Adaloには22万人のユーザーがいて1000名程度が有料プランを利用しているそうです。まだ年商数億程度かもしれませんが、今後成長を期待できる会社です。
以前は動作速度が遅かったのですが、2022年の8月にバージョンアップをしてかなり使い勝手が良くスピードアップしました。
リストのレコード読み込み遅延を86%削減などのパフォーマンスアップの詳細はこちらで見れます。以前はかなり遅かったのがわかりますね。これからAdaloを使って開発する人には朗報です。
Adaloの操作性と画面コンポーネント
ノーコード開発ツールの中で一番シンプルですね。初心者でも使いやすく、UI部品を画面にドラッグアンドドロップしていくだけで、アプリ開発が簡単にできます。
パーツはリストビューやカレンダー、デートピッカーなど一般的なものは揃っています。ただ、Calendar stirpのようにバグのある部品もあり、日本語対応や日付表示は微妙ですね。
自分でコンポーネントを開発することもできますし、マーケットプレイスで販売購入もできます。私は、カレンダーコンポーネントにバグがあったのでNoCodeMonkeyのコンポーネントと購入してみました。(Adaloの有料プランに加入しないとコンポーネントの受け渡しができない仕組みになってます)
画面の入力チェックなどもFormをカスタマイズすると複雑になるため、画面に部品をたくさん配置するよりは、お金を払って入力チェックコンポーネントを購入したほうが早いと思います。
Adaloのデータベース
データベースはAdaloの管理画面から操作できて簡単です。
データ追加なども簡単ですし、1:Nなどのリレーションシップを貼ることもできます。(フォーラムによると多対多のような設計はせずjoinテーブルを使うと良いらしい)もちろんコーディングやSQLは全くできないので、かなり制限があります。
例えば、データベースのインサートや削除もアクションを1個ずつ設定したり、条件フィルターもA equal Bのように1個ずつ設定していくので、コーディングなら1行で出来るものも手間がかなりかかりますね。
アプリが完成したら管理画面で設定をし公開可能です。(別途、Appleのデベロッパー登録や申請手続きは必要)
Adaloのデータベースが遅い理由
AdaloのデータベースはAWSを使っていてUSリージョンとフォーラムで書かれていましたが、日本などアジアから遅いのはそれも原因なのかもしれません。フォーラムによると東京からのレイテンシーは結構あります。
本番環境・テスト/開発環境のような切り分けができない
アプリをリリースするときに気がついたのですが、Adaloのデータベースには本番環境のような概念がなく、開発環境で使っているデータベースがそのまま本番環境になってしまいます。本番用プロジェクトを作って本番と開発で分けておくにもプロジェクトのコピー機能はないので不便ですね。(1画面づつ新規プロジェクトにコピーはできたので地道に貼り付けるしかない?)
Adaloの料金
Adaloは料金プランが変更されました。
Freeプラン、Starterプラン、Professionalプラン、Teamプラン、Businessプランの5つです。
Starterプランは、Google/Appleへの申請・公開が1つできますが、Custom Actionや外部データベースとの連携、GoogleマップやCollectionAPIが使えるのはProプランなので、有料プランを検討している人はProプランにする人が多いと思います。
円安なのでプロプランだと月額7500円かかり、AdaloDBを使っている場合、アプリをリリースしてもずっと契約しないといけないので、個人で使うにはちょっと高いかなという印象です。
公式サイト:https://www.adalo.com/
NoCodeMonekyのTwitter:https://twitter.com/NoCode_Monkey
NoCodeMonkeyのAdaloコンポーネント:https://www.nocodemonkey.io/store
ProgramFlowのAdaloコンポーネント:https://adalo.pragmaflowservers.com/
adalomaticのコンポーネント:https://components.adalomatic.com/
Adalo連携特化のAPIサービス:https://abracadalo.com/#how-it-works
キナリさんのTwitterも参考になりました:https://twitter.com/kinari_kuramoto
FlutterFlow
FlutterFlowは、Flutterアプリを開発できるノーコード(ローコード)開発ツールです。
自由度が高い分、初心者向けではなく中級者以上のスキルが必要になります。
Googleが開発しているので、完成度は高いです。ベースがFlutterなのでiOSアプリやAndroidアプリも作れますし、WEB、Mac、Windowsアプリなども開発可能です。
FlutterFlow3.0になって完成度が高まり、今後は利用者も増えてくると思います。
自由度が高く、アニメーションなども使えるのでハイクオリティなモバイルアプリが作れますね。ヌルヌル動くアプリはFlutterベースのアプリがおすすめです。
ただ、画面が複雑なためAdaloと違って初期設定やUI作成になれるまで時間がかかります。試しにサンプルのTodoを動かしてみましたが、Firebaseの設定、デプロイ(数分)と結構な手間はかかりました(通常の開発に比べれば超簡単ですがw)
FlutterFlowのデータベース
他に気になる点としては、データベースがGoogleのFirebaseメインな点。Googleの開発ツールなので仕方ありませんが、設定して導入するまでの敷居は結構高いですね。
他にもFirebaseの料金もかかりますし、アプリ開発ではFirebaseの設定をして連携がマストです。
まだ日本語の資料も少ないので初心者は躓きやすいですね。
FlutterFlowの料金
FlutterFlowのメリットの一つとして、ソースコードをダウンロード出来る点ですね。
スタンダード版の有料プランから可能ですが、ノーコードのコーディングができない弱点を補ってくれるので、もし開発側にバグなどがあっても、ソースコードをダウンロードすればこちらでいじって対処することもできます。
FlutterFlowでモックアップだけざっくり作って、その後の開発はソースをダウンロードしてローカル開発へ移行もできるので柔軟なアプリ開発ができますね。
公式サイト:https://flutterflow.io/
実用では難しいかも。ノーコード開発の現状
今回、ノーコード開発ツールを触ってみて、AdaloやAppSheetのようなシンプルだけど複雑なものが作れないツールは、モックアップや趣味のアプリに向いていると思いました。
実際にAdaloでリリースしてユーザーが増えてきたら、Flutterでアプリを作り直したというケースもあります。
スタートアップで市場の反応を見たいときや、エンジニアが趣味でアプリを作るのに適しているのかなと。
逆にFlutterFlowのようなローコード開発ツールは、途中でダウンロードしてコーディングを加えられるので、かなり将来性を感じました。こちらのほうがエンジニアやプログラマーが仕事で使うのに向いているツールで、開発コストや納期を短くしつつ、拡張性を高めています。
ただ、FlutterFlowは難易度が結構高いので、Flutterができるプログラマーじゃないと厳しいですね。アプリ開発の初心者がいきなりFlutterFlowを使ってアプリをリリースするのはハードルが高い印象でした。
東京23区で小学生の子供が楽しく学べるプログラミング教室
東京23区で小学生の子供が楽しく学べるプログラミング教室