5

私は現在プロジェクトに取り組んでおり、MvvmCrossフレームワークを使用しています。プロジェクトは2月に行う必要があります。クロスプラットフォームのUIソリューションとしてAutoViewを待つべきか、それとも2月になるのか疑問に思っていました。

現在の問題は、BindableListViewを動的に構築できるようにしたいということです。次に、リスト内のすべてのアイテムが異なるレイアウトとそのビューのセットを持つ可能性があります。たとえば、文字列と整数のリストを任意の順序でリストすると、BindableListViewはすべての文字列に対してTextViewを表示し、すべてのintに対してnumberpickerを表示します。

このようなもの:

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でも可能でしょうか?それとも、別の解決策を探す必要がありますか?

4

1 に答える 1

3

簡単な答え-締め切りが迫っている実際のプロジェクトの場合は...おそらくそうではありません。


長い答え...

自動表示はいつ利用可能になりますか?

AutoViewsはDroidでのみ利用可能になります'今週'-これには、ダイアログ、メニュー、リスト画面の自動オプションが含まれます。

Touchの場合、AutoViewsは2〜3週間以内に到着すると思いますが、この作業はいくつかの点でDroidの作業に影響を与える可能性があります。たとえば、一部のクラスとメソッドを微調整する必要がある場合があります。

WPおよびWinRTの場合、タイムラインは現在あまり明確ではありません。WP.Dialogポートに取り組んでいる人が何人かいますが、これらのタイムラインは不明です...

AutoViewパッケージ全体が利用可能になるのはいつですか?APIはいつ安定しますか?サンプルはいくつありますか?ドキュメントはいつ提供されますか?知らない。うまくいけば、12月下旬、1月上旬ですが、ここで考慮すべき外部要因があります(MonoTouch / Droidの非同期/待機時に発生するMvvmCrossの追加を含む)。


自動表示は何に使用されますか?

自動ビューの私の主な焦点は、迅速なクロスプラットフォーム開発を可能にすることです-したがって、自動ビューは、4つのプラットフォームでUIを起動して実行するための迅速な方法を提供します。

これらのUIはスキニング可能になります。たとえば、MonoTouchでUIAppearanceを使用し、MonoDroidでカスタムaxmlを使用します。これらのUIも拡張可能でオーバーライド可能であり、AutoViewアプローチへのロックインはありません。

これらのUIは、多くの顧客に出荷するのに「十分」である可能性があります。たとえば、TweetStationなどのアプリ(およびその他多数)は、MonoTouch.Dialogが非常に優れた完成したアプリを作成する方法を示しています。AutoViewsからも同じことを期待しています。 。

ただし、AutoView UIは、各プラットフォームの完全なカスタムUIほど強力または柔軟になることはありません。そのため、多くのアプリもAutoViewを使用したくないか、それらの重要な部分をオーバーライドしたいと考えています。


今日AutoViewsを使用できますか?

はい。

だが:

  • ドロイドのみ
  • 開発にPCLを使用することに満足する必要があります(AutoViewsは現在vNextDialogブランチにのみ存在します)
  • 今後数週間で名前空間、クラス、メソッドの変更を期待する必要があります(たとえば、現在FooBar名前空間でMonoDroid.Dialogを使用しています)
  • おそらく、リポジトリをフォークして、これらの変更から自分を隔離したいと思うでしょう。
  • AutoViewsを使用することには、パフォーマンス上の小さなペナルティもいくつかあります。UIは、直接コードよりも常に遅いリフレクションを使用して構築されます(これは大きなペナルティではありませんが、コードを実際に飛ばすのが好きな低レベルの開発者の場合は、その後、反射を避けて操縦することをお勧めします)。
于 2012-11-14T09:16:22.263 に答える