Xamarin如何实现原生的外观和体验?

10

我是新手,正在学习Xamarin,以下是我的几个问题:

问题:

  1. Xamarin如何实现UI组件的本地外观和感觉?
  2. Xamarin是否提供了自己的小部件[例如按钮、布局等]?

这是我的理解,请纠正我错的地方。

1)使用相应的原生SDK来开发UI [按钮、布局等]。例如,iOS使用Xcode。Android呢?

2)以按钮为例,当按钮被按下时,将执行通用代码,该代码跨平台相同。

3)因此,由于UI直接来自它们各自的SDK,我们获得了本机的外观和感觉。

请在我误解的地方进行纠正。



它使用CocoaTouch iOS SDK中的“实际”UIButton。它只是像整个SDK一样用C#包装起来。它具有本地外观和感觉,因为UI是本地的。 - valdetero
1个回答

23

我觉得你理解偏差了。

Xamarin提供了C#和.Net(Mono)运行时在iOS和Android上。同时,他们向C#暴露了每个平台的本地API。因此,他们建立了一种让C#可以调用Objective-C和Java的方法(反之亦然)。

这意味着您可以在每个平台上开发本地UI,并且可以在平台之间共享后端业务逻辑。 Xamarin应用程序可以在平台之间共享大约50-75%的代码。由于这会抽象出本地API,因此没有通用的UI共享方式。

具体来说:

Android

  • 使用Xamarin Studio或Visual Studio开发C#后端代码
  • 使用Xamarin的Android设计器布局本地Android XML布局

iOS

  • 使用Xamarin Studio或Visual Studio*开发C#后端代码
  • 使用Mac上的XCode布置故事板或XIB文件以进行本地iOS UI布局

两种选项都可以从代码创建UI,但是每个平台上的本地API将不同。

*编译iOS需要Mac。


感谢jonathanpeppers,回答得很好。 - Whoami
谢谢您提供一个清晰明了的答案!但是,Windows Phone开发的“分解”是什么? - HischT
1
你不使用Xamarin针对Windows手机,而是使用微软的工具。但是它使用C#,因此您可以共享代码。您将使用Visual Studio,并且他们提供了内置的Xaml设计器用于布局。 - jonathanpeppers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接