2016-05-02 11 views
0

私はの元でXamarin.Formsを使わずに書かれたアプリを使って保守と開発を継承し、AndroidとiOSのUIレイヤーをプラットフォーム固有の方法でやっていますプロジェクトと私のビジネスロジックのための共有プロジェクトです。元々はXamarin.FormsプロジェクトではないXamarin.Formsを使用

アプリ画面のほとんどはかなり単純であり、私は、プラットフォーム固有のUIコードと口論時間の不均衡な金額を費やすことを考えると、私は誰もいなかったプロジェクトに統合するXamarin.Formsと経験を持っているかどうか尋ねると思いましたもともとXamarin.Formsを使用していました。

それはおそらく、特定のAndroidまたはiOSのアクティビティ画面内で手動でホストすることにより、Xamarin.Formsで特定の画面を置き換えるすることが可能であった場合、私は思っていました。

私は共有Xamarin.Forms "ページ"として次の機能画面を統合することから始めたいと思います。

誰もこれまでにこのようなことをしたことがありますか?

+0

興味深い質問:

まで混合するための2つのミニマルな例があります。私は最近、フォームの非フォームアプリケーションの単純な画面のすべてを再作成し、より複雑なものをカスタムレンダラとして添付しました。それはあなたのための選択肢ですか? –

+0

総リファクタリングは現在のところオプションではありませんが、ローリングリファクタリングは可能です。だから私はネイティブではなくXFでシンプルな新機能を実装したいのです。私たちは、search-with-a-searchbox-and-buttonのシンプルなリストビューについて言及しています。画面は、複雑な方法では相互に実際にはやり取りしません。 – bpylearner

答えて

1

これは、アプリケーションの再設計のために行っています。私たちはMvvmCrossとネイティブUIを使ってこのアプリを開発し、Xamarin.Formsに移しました。私たちはすべてのビューを捨てましたが、ViewModelsは保持しました。つまり、UIレイヤーが(データバインディングを使用して)ViewModelレイヤーから切り離されている場合、完全に切り替えるのは簡単です。

フォームとネイティブのアクティビティ/ ViewControllerを混在させることはお勧めできません。ナビゲーションを適切に処理すると痛い(特にアンドロイドの下で)ことがあります。 1つの画面に複雑なものがある場合は、これをカスタムレンダラを持つカスタム要素で移動する必要があります。

+0

悲しいことに、このアプリは、スパゲッティのコードでは適切なMVC/MVVM実装から遠く離れています。私の場合、メインアプリは実際には、アプリケーションの残りの部分とほとんどやり取りをしない他のアクティビティを呼び出すハブです。そして、それは絶対に複雑なものではありません。それがXFが主要な候補者になる理由です。 – bpylearner

+0

リンクされた例を見てください。あなたのページが本当に独立しているなら、それはうまくいくかもしれません。 –

+0

私はすでにそれに乗っています。サンプルをありがとう。 – bpylearner

関連する問題