我应该等待AutoView吗?

时间:2012-11-14 08:43:30

标签: mvvmcross

我正在研究一个项目,我们正在使用MvvmCross框架。该项目应在二月份完成。我们想知道我们是否应该等待AutoView作为跨平台的UI解决方案,或者将在2月即将推出?

我们现在遇到的问题是我们希望能够动态构建BindableListView。然后列表中的每个项目都可以有不同的布局和视图集,例如,当我有任意顺序的字符串和整数列表列表时,BindableListView将为每个字符串显示一个TextView,为每个int显示一个数字选择器。

这样的事情:

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();
    }
}

使用AutoView可以实现这一点吗?或者我们应该寻找不同的解决方案吗?

1 个答案:

答案 0 :(得分:3)

简单的答案 - 如果它是一个有紧迫期限的真实项目......可能不是。


更长的答案......

何时可以使用自动查看功能?

AutoViews仅适用于Droid'本周' - 这包括对话框,菜单和列表屏幕的自动选项。

对于Touch,我预计AutoView会在2-3周内到达 - 但这项工作可能会在某些方面影响到Droid工作 - 例如某些类和方法可能需要调整。

对于WP和WinRT,时间表目前不太清楚。有几个人在WP.Dialog端口上工作,这些的时间表还不清楚......

整个AutoView包何时可用? API何时稳定?将有多少样品?何时提供文件?我不知道。希望在12月底,1月初 - 但是这里需要考虑外部因素(包括在异步/等待到达MonoTouch / Droid时会发生的一些MvvmCross添加)。


自动查看的用途是什么?

My main focus for autoviews允许快速跨平台开发 - 因此它们将提供一种快速的方法来在4个平台上启动和运行UI。

这些用户界面是可换肤的 - 例如在MonoTouch上使用UIAppearance并在MonoDroid上使用自定义axml。这些UI也是可扩展和可覆盖的 - 不会锁定AutoView方法。

很可能这些用户界面足够好'为许多客户发货 - 例如像TweetStation这样的应用程序(以及更多其他应用程序)已经展示了MonoTouch.Dialog如何生成非常漂亮的完成应用程序,我希望AutoViews能够提供相同的功能。

但是,AutoView UI永远不会像每个平台上的完整自定义UI那样强大或灵活 - 因此很多应用程序也不想使用AutoViews - 或者想要覆盖它们的重要部分。


我今天可以使用AutoView吗?

可是:

  • 仅限于Droid
  • 您需要乐意使用PCL进行开发(AutoViews目前仅存在于vNextDialog分支中)
  • 您需要在未来几周内期待一些命名空间,类和方法更改(例如,目前我们在FooBar命名空间中使用MonoDroid.Dialog)
  • 您可能希望分叉存储库以使自己与这些更改隔离开来。
  • 使用AutoViews也有一些小的性能损失 - 使用反射构建的UI总是比直接代码慢(这不是一个很大的惩罚,但如果你是一个喜欢制作你的低级开发人员代码真的飞,然后你宁愿避开反射)。