ノーコード開発やローコード開発が盛り上がりを見せていますが、いろんなツールが出てきており、どれを選ぶかを考えるだけでも1日が過ぎてしまいます。「ノーコードツールを試してみた」という記事は増えてきたものの、本気で開発に使えるのかどうかというところまではいまいちわからないところも事実です。
そこで今回は、実際にAppgyverという去年SAPに買収されたノーコードツールを使ってガチで予約アプリを開発してみたので、ノーコードツールでどこまで開発できるのか?そしてどんな課題があるのかということについて分かったことをまとめてみました!
ノーコードツールで開発しようかどうか迷っている人の判断材料になればうれしいです。
結論としては、ノーコードツールを使っていいかどうかの基準はアプリの画面数とロジックの複雑度合によって決まるので、個人で行う小規模開発であれば問題なく使えるものである、になります。
今回作ったアプリの仕様
- 飲食店のテイクアウトの予約ができるアプリ
- ユーザー登録が必要
- 各商品の1日の販売個数に上限があり予約時にチェックが必要(★難しいポイント①)
- 自分の予約履歴をマイページから確認できる
- ユーザーは翌日以降の注文をマイページからキャンセルすることができる(★難しいポイント②)
- デザインは最低限見やすいものであること
- お店側のページは別途あり、メニューの登録編集や予約の管理が可能
- メニューにはセットなどのオプションを追加することができる(★難しいポイント③)
ノーコードツールを使って感じたメリット
- 環境用意などの前準備が不要!
- Excelの関数を書く感じでロジックを書くことができる!
- 変更がすぐに画面イメージとして反映される
- プレビューツールが充実していてすぐにテスト可能!
- 1日でかなり本格的なプロトタイプができる!
ノーコードツールを使って感じたデメリット
- 使えるコンポーネント(UI・ロジック)が限られているために出来ることも限られる
- ロジックが複雑になると一気に難しくなる
- データ構造が複雑になるとロジックも複雑になる
- 複雑なロジックを実現するためにテクニックが必要
- firebaseを使う場合にはRestAPIの使い方をマスターする必要がある
- コードのテキスト検索ができないので、画面数が増えてくると修正工数が膨らむ(ドキュメントの重要性UP)
- 画面を機能を増やすと開発画面が重くなる(ブラウザベースのため)
- 同時共同開発機能がまだ整備されていない
- 変更履歴がGitのように追えない
ノーコードツールを使って開発してもいいアプリ
- プロトタイプ用である
- 個人開発で10画面以内で、データ構造がシンプルである(ネストがない)
- 更新系のデータ操作が少なく、作成・削除がメインである(firebaseを使う場合)
- 複雑なチェックロジックがない
- 一度構築したら機能追加や改修が少ない
ノーコードツールを使って開発してはダメなアプリ
- 10画面以上ある
- チームで開発する、または、開発する予定がある
- 機能追加や改修が頻繁に入る
- データの更新処理が多い場合(firebaseを使う場合)
- データ構造が複雑である
- 複雑なチェックロジックがある
- 複数のデータソースがある場合
ノーコードツールを使って開発してみた所感
今流行りのノーコードですが、よくも悪くも癖のあるツールです。もともとコーディングできる人の場合は、複雑な画面や処理を開発しようとしたときに「コーディング出来たら簡単に書けるのに…」と思う場面も多いように感じました。
ノーコードツールを使う場合は、開発に着手する前の設計がより重要になります。行き当たりばったりで作り始ると、おそらくどんどんと複雑さが増していき、ある段階で開発できないという状況に陥る可能性が高いです。それを回避するために事前に設計を検討して、複雑になりすぎる部分はないか、それをサーバ側に寄せることはできないかということを決めておいたほうがうまくいきやすいです。逆説出来ですが、すぐに作れるからこそ、慎重に考えて作らないといけないということです。
ノーコードツールとを使うときに注意しないといけないこと
ノーコードツールを使ってアプリ開発経験のない人が”ちゃんとした”アプリを開発して維持していくことはかなり難易度が高いと思うので、設計とコーディングができるエンジニアが開発工数を下げるためにシンプルなアプリを開発するためのツールとして使う、というのが現実的なラインなのではないかなと思いました。ただ、もしかしたら他のノーコードツールでは事情が異なるかもしれないので、それはツールごとの特性を確認していく必要がありそうです。
データベース設計については、ノーコードツールを使うかどうかにかかわらず必要になるものなので、特に最初はしっかりと作るべきですね。
サービスとして拡大していく予定がある場合は、最初は小規模だったとしてもノーコードツールは検証用にとどめておいたほうがいいですね。「ある程度まではノーコードツールで」という考え方もあると思いますが、作り直しの工数がかなりかかってしまうと思うので初めからコーディングしておいたほうがいいですね。
個人開発で、更新頻度も少なめ、さらにいろんなアプリをリリースしていきたいということであればノーコードツールは非常に役に立つので、そういった場面では活用できると思います。