Xamarin是否支持为Windows surface开发应用程序?支持程度如何?

Xamarin是否支持为Windows surface开发应用程序?支持程度如何?,xamarin,visual-studio-2015,xamarin.ios,cross-platform,xamarin.forms,Xamarin,Visual Studio 2015,Xamarin.ios,Cross Platform,Xamarin.forms,我想为Windows surface平板电脑、iOS mobile和iPad开发一款应用程序 由于我是Xamarin的新用户,当我创建第一个项目时,它显示了3个项目:- hello.driod、hello.ios和hello.winPhone 基于此,我有3个问题:- 我如何才能为windows 8.1和iOS编写相同的代码和共享? 而且每当我将元素拖放到UI页面时,相同的元素是同时复制到windows和iOS还是单独添加? 目前我没有MAC电脑可以连接到我的电脑。我可以在测试时编写代码并将其连

我想为Windows surface平板电脑、iOS mobile和iPad开发一款应用程序

由于我是Xamarin的新用户,当我创建第一个项目时,它显示了3个项目:- hello.driod、hello.ios和hello.winPhone

基于此,我有3个问题:-

我如何才能为windows 8.1和iOS编写相同的代码和共享?

而且每当我将元素拖放到UI页面时,相同的元素是同时复制到windows和iOS还是单独添加?

目前我没有MAC电脑可以连接到我的电脑。我可以在测试时编写代码并将其连接到MAC电脑,还是在整个过程中都要连接?

请帮忙

  • 使用相同的代码取决于应用程序的结构
  • 您可以采用本机方式,通过将大部分逻辑包含在一个共享的/PCL项目()中来共享它,但要为您的UI编写特定于平台的代码

    例如,如果您有一个针对iOS和Android的跨平台应用程序,您仍然会在故事板中为iOS和Android的AXML文件创建UI。您想要“连接”到UI的任何代码都是特定于该平台的,因为您将使用平台API。任何非平台特定的代码(即,不调用iOS或Android API)都可以进入共享/PCL项目

    或者您可以选择Xamarin.Forms,它通过允许您在XAML中编写一次UI并使其在所有平台上工作来添加抽象层。好处是增加了代码共享,因为现在您的UI也被共享了。缺点是使用特定于平台的功能,您需要实现DependencyService或自定义渲染器

  • 如上所述,视情况而定。如果使用本机路径,则不会。如果使用Xamarin.Forms,则在跨平台的UI中使用相同的XAML代码,但没有拖放设计器

  • 要构建iOS应用程序,您需要连接到Mac。您还需要连接到Mac才能使用iOS设计器

  • 使用相同的代码取决于应用程序的结构
  • 您可以采用本机方式,通过将大部分逻辑包含在一个共享的/PCL项目()中来共享它,但要为您的UI编写特定于平台的代码

    例如,如果您有一个针对iOS和Android的跨平台应用程序,您仍然会在故事板中为iOS和Android的AXML文件创建UI。您想要“连接”到UI的任何代码都是特定于该平台的,因为您将使用平台API。任何非平台特定的代码(即,不调用iOS或Android API)都可以进入共享/PCL项目

    或者您可以选择Xamarin.Forms,它通过允许您在XAML中编写一次UI并使其在所有平台上工作来添加抽象层。好处是增加了代码共享,因为现在您的UI也被共享了。缺点是使用特定于平台的功能,您需要实现DependencyService或自定义渲染器

  • 如上所述,视情况而定。如果使用本机路径,则不会。如果使用Xamarin.Forms,则在跨平台的UI中使用相同的XAML代码,但没有拖放设计器

  • 要构建iOS应用程序,您需要连接到Mac。您还需要连接到Mac才能使用iOS设计器


  • 谢谢你的精彩回复!我已经理解了第二个和第三个问题的答案,但是对于第一个问题,如果你能把它简化一点,我会很高兴的。让我这样说吧。我使用过IDE,比如Intel XDK、appcelarator等,其中有一个UI屏幕,我在其中拖放小部件,并生成相应的代码。同样,我可以为windows surface和iOS创建一个构建。因此,usinf Xamarin,我可以在使用/不使用UI拖放选项的情况下执行相同的操作,但可以编写C#代码并为Windows surface和iOS构建软件包吗?没有wysiwyg设计器允许您创建一个UI并在所有平台上运行。最接近于在多个平台上运行的单个UI的是Xamarin.Forms,但是必须用代码(XAML)编写UI。如果您选择本机路径,您将使用Xamarin为iOS应用程序提供的iOS设计器()以及Visual Studio为Windows应用程序内置的任何设计器。因此,基本上您要告诉我的是,如果我选择本机路径,我必须为同一应用程序分别为Windows和iOS编写UI小部件,如按钮、日历等?还有,Xamarin.forms与原生路线不同吗?如果我使用xamarin.forms,我可以一次性为所有平台创建相同的UI屏幕吗?我很抱歉问这么多问题,但我只是感到困惑。非常感谢你的帮助!如果你感到恼火,不要费心回答。是的,这就是我在回答和评论中解释的。Forms允许您只做一次UI。你必须做每个平台的用户界面。谢谢你的精彩回复!我已经理解了第二个和第三个问题的答案,但是对于第一个问题,如果你能把它简化一点,我会很高兴的。让我这样说吧。我使用过IDE,比如Intel XDK、appcelarator等,其中有一个UI屏幕,我在其中拖放小部件,并生成相应的代码。同样,我可以为windows surface和iOS创建一个构建。因此,usinf Xamarin,我可以在使用/不使用UI拖放选项的情况下执行相同的操作,但可以编写C#代码并为Windows surface和iOS构建软件包吗?没有wysiwyg设计器允许您创建一个UI并在所有平台上运行。最接近于在多个平台上运行的单个UI的是Xamarin.Forms,但是必须用代码(XAML)编写UI。如果您选择本机路径,您将使用iOS designer provi