I've used AppSheet to build two prototypes of apps. Here are my rough thoughts:
- It's extremely powerful. You can do so much, so quickly, once you know what you're doing. You can iterate so fast.
- No-code doesn't mean no-thinking-like-a-coder, or no-debugging. You still need to do database design. And you still need to debug things when you break it. Debugging excel formulas kind of sucks, but AppSheet's test formula feature makes it ok.
- It's easy to silently break things with AppSheet. No unit tests, no nothing. I'm very scared to update things like my column header names in the google sheet out of fear that I'll break things. It's not super easy to tell when things are referenced.
- It's scary to make changes because there isn't an easy way to roll back with precision. AppSheet does let you rollback the app, but since there's no notion of database migrations, you can totally break your app by rolling back and then having the google sheet be all out of whack. Furthermore, there's no way to explicitly commit the app at versions, with a commit message. That would be useful. I've learned to be very cautious when doing refactors that involve the google sheet.
- I'm not looking forward to doing performance debugging. To make my prototype, I've written quite a few Excel-type formulas to computer virtual columns etc, many of which iterate the entire dataset in linear time. Processing the query on each row would then run in quadratic time. For now it seems to be fine, but I wouldn't be surprised if the app starts to feel sluggish. The problem is there is no rigorous way to do performance measurements on nocode, and the ability to not roll back and try different versions (easily) exacerbates the issue.