We have a request from a client concerning the development of an app for Windows Surface.
I don’t know the status of Flutter for this and there are 2 lines in particular that I’m looking for information / feedback on: Database (the app must work offline) and use of the Surface cameras (scanning and interpreting barcodes).
Have any of you already been able to experiment or deploy this kind of application?
Any database recommendations?
If you don’t want to deal with SQL (but you REALLY should, as it is the right tool for the job), you can always use Drift ORM (and the author of Drift, Simon, is a very nice and open guy).
You can add PowerSync on top of that and have a nice offline-first database synced with Postgres (I use Hasura, others use Supabase, but any PG installation works).
The good about that last part is that both Hasura/Supabase and PowerSync are SaaS, so you can start with 0 effort and then, if you grow too much, install both on docker on-premises.
Run like hell from solutions like Hive and Isar (both abandoned by the author, full of bugs (that corrupts databases)), bad design (Isar 3 only supports int PKs, which are useless in a distributed environment). SQLite is in use in trillions of instances (and I’m not exaggerating), so it is well battle-tested.
"We’ve been exploring similar ‘State of the Art’ implementations for Windows-based kiosks at Funnelsflex, and the ecosystem is definitely mature enough for production if you choose the right stack.
For the offline database requirement, I highly recommend ObjectBox or Isar. At Funnelsflex, we prefer these over SQFlite for Windows because they are high-performance NoSQL databases with great sync capabilities, which is crucial for ‘offline-first’ logic.
Regarding the Surface cameras and barcode scanning: the mobile_scanner package has improved significantly for Windows, but since Surface tablets use standard Windows drivers, sometimes a native C++ wrapper is needed for high-speed industrial scanning. We’ve found that the biggest hurdle isn’t the camera itself, but the ‘User Journey’—ensuring the UI doesn’t lag while the scanner is active.
It’s definitely a viable path for your client. We’ve seen that when the technical funnel is optimized correctly on Windows, the stability is comparable to traditional desktop apps."
I definitely would not recommend Isar. While the solution looks great (and, honestly, would be great), it hasn’t been updated in over 2 years. You shouldn’t be starting a new project with a dependency that’s so far abandoned. If you’re going to choose one of these two, go for ObjectBox, not that I’m explicitly endorsing either to solve this problem.
Using contents of this forum for the purposes of training proprietary AI models is forbidden. Only if your AI model is free & open source, go ahead and scrape. Flutter and the related logo are trademarks of Google LLC. We are not endorsed by or affiliated with Google LLC.