On Sat, 24 Aug 2019 19:31:23 -0700 (PDT)
Laban <
laba...@gmail.com> wrote:
> We have a mobile warehouse management system with a large number of complex
> data entry forms, data grids with easy sorting, filtering, paging, etc.)
I'd suggest not to ask the crowd but to perform an experiment.
Get flutter's 'hello app' and re-make (simply in main) your most dense layout.
[
https://flutter.dev/docs/development/ui/layout]
Then likely make this mock live (ie. entry fields should take input and an experienced
**user** should be asked whether new ui behavior would pass with her/him)
Then and only then you may decide whether Flutter UI features are mature enough
for your use case and **for your users** and whether your developers are comfortable
with new ways to produce app layout. The "user experience" part will be really tough,
considering domain, where users got old app in the muscle-memory and any change
matters (tenth of seconds at every field sums up to seconds per order shipped what
might aflict their wages).
> A few additional details:
> * The app will make REST-calls to a Web API back-end and also store data
> locally in SQLite or similar.
Here you need not to experiment. It just works. Dart ecosystem Flutter uses
was first built for this class of tasks.
> * We need fine-grained control over screen layouts, including positioning
> of fields horizontally and vertically (including padding between textboxes,
> etc.). E.g. There might be several shorter input fields horizontally on
> one row, followed by a couple of longer input fields on their own rows,
> followed by a data grid with 4-6 columns, followed by 3-4 buttons
> underneath the grid (used to bring up details or invoke other forms for
> actions specific to the selected grid record). Having a layout manager
> capable of this would of course be preferred.
In Flutter you build layout right in code with enormous help of tools
It is all code, so you have precise (or precise enough) control. But
you for sure will have hard time to reimplement many WinForms
behaviors your users are accustomed to. Like partial selects and
focus order. (IMPO Flutter is now very rough on edges regarding
textual data input).
> LayoutControl), we would rather not do "manual positioning" for obvious
> reasons (though if that is the only choice, we might need to).
Everything in Flutter is code-positioned, and it is a strength, albeit sometimes
irritating one ;). HotReload being at developer fingers often makes this workflow
faster than entering bunch of constraints.
> Lastly, it would be a huge help to have commercial-grade component
> libraries available, in particular a full-featured data grid which supports
> databinding, sorting, filtering, custom coloring of cells (and rows based)
> on whatever criteria, etc.
Not yet. WinForms are over 20yo, Flutter is walking in public like a two ;)
Should you invest in Flutter? Its up to your architects to decide.
If you do, you will be early to the mobile/desktop/web UI off single codebase.
Hope this helps,
> Laban
--
Wojciech S. Czarnecki
<< ^oo^ >> OHIR-RIPE