Hello! I am reimplementing a WM application for the Android platform and had a question for the gurus on the sub.
Our applications are usually implemented directly with the customer (ie not via an App Store). As we go through the requirements discovery process there are customisations which we need to make to the core application.
Some customisations are workflow related – ie we want to enter this field first, followed by this other field (eg customer 1 asks for the order of data entry to be: product -> quantity -> location, while customer 2 asks for the sequence location-> product-> quantity ).
Other customisations are to do with what is displayed on the screen, eg customer 1 wants to see a grid which shows location, product, quantity while another wishes to see product, batch number, location, quantity
In the WM version we had a simpler paradigm where we bound a grid view directly to "data tables" returned from the server. The definition of the columns was also returned in a datatable (so the customer could change the grid definitions themselves if they desired).
Under Android, it appears we need to "hard code" the data to bind on the screen via ViewModel objects with specific properties and then hard code the columns in the XAML, and hard code the mapping between the server's representation of the data and the ViewModel's properties.
It appears then that our implementation process will need to evolve. For example, we might need to set up custom XAML and/or ViewModel objects per implementation.
Are there any "best practices" for this approach (ie where 75% of the code is reused but 25% is different)? Can we simply "reference" the "core" product file and override classes/XAML where necessary? Does Android provide a class factory pattern we could use for this?
Would anyone be kind enough to point me to any literature /previous discussions on this topic?