将android应用程序移植到xamarin或windows本机问题

将android应用程序移植到xamarin或windows本机问题,xamarin,windows-phone,Xamarin,Windows Phone,所以,我已经开发了一段时间的android应用程序,我被要求尝试将这个应用程序移植到windows phone上。为了减少维护同一应用程序的两个不同版本的麻烦,我决定尝试将此应用程序移植到xamarin中,因为我听说它的性能比混合应用程序更好。以下是我关于xamarin的问题:- 我想在我的跨平台应用程序中保持我在原始应用程序中的相同外观和感觉,同时在windows版本中使其与众不同。我能做些什么来达到这个效果 由于在尝试创建普通应用程序时遇到了更多问题,因此将此应用程序移植到windows p

所以,我已经开发了一段时间的android应用程序,我被要求尝试将这个应用程序移植到windows phone上。为了减少维护同一应用程序的两个不同版本的麻烦,我决定尝试将此应用程序移植到xamarin中,因为我听说它的性能比混合应用程序更好。以下是我关于xamarin的问题:-

  • 我想在我的跨平台应用程序中保持我在原始应用程序中的相同外观和感觉,同时在windows版本中使其与众不同。我能做些什么来达到这个效果

  • 由于在尝试创建普通应用程序时遇到了更多问题,因此将此应用程序移植到windows phone native对我来说是否更好

  • 发布xamarin应用程序时,Windows应用商店是否有任何限制


  • Xamarin并没有真正涵盖Windows UWP应用程序,只是因为它们有在该平台上运行的UI框架Xamarin.Forms。这意味着,您正在制作的是本机Windows UWP应用程序

    Xamarin最擅长的是当您开始瞄准多个平台,并且您已经以一种可以在支持的平台上重用的方式构建了代码。例如,可以将您的大部分逻辑和行为放入一个可移植的类库/NETStandard库,并在应用程序中使用它

    为应用程序创建与平台无关的逻辑和行为的典型模式是称为模型-视图-视图-模型的模式,其中视图特定于平台,而模型和视图模型通常与平台无关。ViewModel是行为所在的位置,它将模型与视图联系在一起。 通常,ViewModel不会直接知道视图,但中间会有一个层(粘合),例如XAML或来自MvvmCross、MvvmLight或ReactiveUI的绑定引擎来命名一些MVVM库

    Xamarin提供的是为Android和iOS编写C#代码的能力,这使您能够在这两个平台以及所有Windows平台之间共享代码。因此,UI在很大程度上依赖于每个平台本身。
    当然,您可以使用Xamarin.Forms作为UI抽象层,该层使用本机UI控件生成本机UI,以在所有目标平台上获得类似的应用。

    Xamarin并没有真正涵盖Windows UWP应用程序,只是认为它们有在该平台上运行的UI框架Xamarin.Forms。这意味着,您正在制作的是本机Windows UWP应用程序

    Xamarin最擅长的是当您开始瞄准多个平台,并且您已经以一种可以在支持的平台上重用的方式构建了代码。例如,可以将您的大部分逻辑和行为放入一个可移植的类库/NETStandard库,并在应用程序中使用它

    为应用程序创建与平台无关的逻辑和行为的典型模式是称为模型-视图-视图-模型的模式,其中视图特定于平台,而模型和视图模型通常与平台无关。ViewModel是行为所在的位置,它将模型与视图联系在一起。 通常,ViewModel不会直接知道视图,但中间会有一个层(粘合),例如XAML或来自MvvmCross、MvvmLight或ReactiveUI的绑定引擎来命名一些MVVM库

    Xamarin提供的是为Android和iOS编写C#代码的能力,这使您能够在这两个平台以及所有Windows平台之间共享代码。因此,UI在很大程度上依赖于每个平台本身。
    当然,您可以使用Xamarin.Forms作为UI抽象层,它使用本机UI控件生成本机UI,以便在所有目标平台上获得类似的应用程序。

    首先,您需要知道有不同风格的Xamarin开发,他们将共享或多或少的内容

    如果使用Xamarin表单,则会有一个与任何平台(在其中创建视图和类别)无关的主项目,以及使控件适应每个本机样式的特定平台项目

    如果您使用Xamarin Classic进行开发,您将拥有一个共享项目,其中您只开发与数据相关的类,以及具有自己的视图和类的特定平台项目,这些视图和类具有本机友好控件和本机类似函数,但我认为,没有直接的Xamarin Clasic Windows项目

    因此,如果您只想拥有两个看起来都是本地的应用程序,但具有相同的结构和功能,那么Xamarin Forms将是您的最佳选择,因为您只开发“一个应用程序”,它将变成如下的本地风格:

    如果你想拥有不同的应用程序、不同的功能和不同的内容,那么你需要选择Xamarin Classic。我建议您使用本机开发windows phone,但将所有可以使用的代码放在共享库中。然后,您可以创建一个Xamarin经典Android应用程序并使用共享库。您仍然需要维护两个不同的应用程序,但您只需要更改“核心”代码一次


    如果您使用Xamarin表单来制作UWP windows应用程序,我认为您发布该应用程序没有任何问题,请认为Xamarin来自Microsoft。

    首先,您需要知道Xamarin的开发有不同的风格,他们会共享或多或少的内容

    如果使用Xamarin表单,则会有一个与任何平台(在其中创建视图和类别)无关的主项目,以及使控件适应每个本机样式的特定平台项目

    如果您使用Xamarin Classic进行开发,您将拥有一个共享项目,其中您只开发与数据相关的类,以及特定的平台项目,这些项目具有自己的视图和具有本机友好控件和本机类似函数的类,但我认为,没有直接的Xamarin Clas