I am working on a project right now and we are using the MvvmCross framework. The project should be done in february. We were wondering if we should wait for AutoView as a cross platform UI solution, or would february be to soon?
The problem we have right now is that we want to be able to build a BindableListView dynamically. Then every item in the list could have a different layout and its set of views, for example when I have a list of list of strings and integers in any order, the BindableListView would show a TextView for every string and a numberpicker for every int.
Something like this:
public ElementDescription DefaultView()
{
var auto = new RootAuto(caption: "TestRootElement")
{
new SectionAuto(header: "Test Info")
{
foreach(item s in list)
{
if(s.GetType() == typeof(string) )
new StringAuto();
if(s.GetType() == typeof(int)
new IntAuto();
}
};
return auto.ToElementDescription();
}
}
Would this even be possible with AutoView? Or should we look for a different solution?
Simple answer – If it’s for a real project with a pressing deadline… probably not.
Longer answers…
When will autoview be available?
AutoViews will be available for Droid only ‘this week’ – this includes automatic options for dialog, menu and list screens.
For Touch, I’d expect AutoViews to arrive within 2-3 weeks – but this work may impact back onto the Droid work in some ways – e.g. some classes and methods may need to be tweaked.
For WP and for WinRT, the timeline is currently less clear. There are a couple of people working on WP.Dialog ports and the timeline for these is unclear…
When will the entire AutoView package be available? When will the API be stable? How many samples will be around? When will documentation be supplied? I don’t know. Hopefully late December, early January – but there are external factors to consider here (including some MvvmCross additions that will happen when async/await arrive for MonoTouch/Droid).
What will autoviews be used for?
My main focus for autoviews is to allow rapid cross platform development – so they will provide a quick way to get UIs up and running on 4 platforms.
These UIs will be skinnable – e.g. using UIAppearance on MonoTouch and using custom axml on MonoDroid. These UIs will also be extensible and override-able – there will be no lock-in to the AutoView approach.
It may well be that these UIs are ‘good enough’ to ship for many customers – e.g. apps like TweetStation (and plenty more besides) have shown how MonoTouch.Dialog can produce really very nice finished apps, and I hope for the same from AutoViews.
However, AutoView UIs will never be as powerful or flexible as full custom UIs on each platform – so many apps will also not want to use AutoViews – or will want to override significant parts of them.
Can I use AutoViews today?
Yes.
But: