当他们谈论Xamarin.Forms时,他们真正在谈论什么?

时间:2016-05-25 14:44:21

标签: xamarin xamarin.forms

我是Android开发的新手,我巧妙地进入了它,现在我对Android开发和Xamarin有一点了解,但有一件事让我很困惑,当我看到人们在谈论 Xamarin.Forms ,有时我认为他们正在讨论的另一个平台不仅仅是项目中的参考。 因此,根据您对Xamarin的经验,请您详细说明这一点,并向具有3周经验的开发人员描述,Xamarin.Forms如何使开发更好,是什么使其成为Xamarin开发中最明亮的方面?

3 个答案:

答案 0 :(得分:1)

Xamarin.Forms允许您定义一个用户界面,该界面可用于所有支持的平台。这有一些好处:

  • 您无需了解每个平台的UI以编写应用程序
  • 开箱即用的控件将自动具有目标平台的外观
  • 如果您想使用自定义控件,您可以编写特定于平台的“渲染器”来调整外观或提高性能

您确实注意到它比原生UI慢一点,但我在从视图切换到视图时才注意到这一点。另外,某些特定于平台的控件可能在Xamarin.Forms中不可用。

创建Xamarin应用程序时, 不能使用Xamarin.Forms;您还可以选择单独使用每个平台的本机UI。

答案 1 :(得分:1)

对于像我这样对iOS应用程序开发一无所知的人来说非常有用。我有建立Android应用程序的经验,但没有任何iOS,但使用这个我也可以构建iOS应用程序。

使用Xamarin Forms可以使用C#代码或Xaml进行设计。如果您了解Xaml,那么快速制作设计真的很容易和令人敬畏。虽然你没有在构建时查看输出的优势,但我们仍希望尽快得到它。

使用Xamarin表单,您不必担心本机外观。 Xamarin坚持这一点。通过使用提供的控件,您可以在所有受支持的框架中创建最本机的应用程序。

每个人都说的另一个好处是,代码一次,让你的应用程序在其他平台上准备就绪。

此外,如果您想要Xamarin Forms中没有的任何内容,那么您可以使用渲染器来执行此操作。如果您想使用某些特定于平台的代码,那么可以直接用作共享中的__IOS__ ...块,也可以为PCL创建依赖服务。

关于应用程序性能,您可能会注意到一点延迟,或者应用程序的大小增加,但这些事情可以解决,并且有可用的解决方案。但如果你得到所有这些好处,那么我一定会试一试。这些是我的想法,你会得到关于Xamarin Forms优点的好答案。

答案 2 :(得分:1)

Xamarin Forms允许您创建一个将在Android,iOS和Windows Phone上运行的 C#解决方案/应用程序

创建新应用程序时,将创建4个项目 - 一个用于Android,一个用于iOS,一个用于WinPhone,以及一个Portable或Shared项目。任何可以共享的代码都将存在于Portable项目中,该项目将包括任何模型定义,业务逻辑和大部分UI。每个特定于平台的项目都包含用于在该平台上启动应用程序,加载Forms组件以及调用Portable项目的代码。特定于平台的项目还可以包含特定于该平台但不受Forms支持的代码。两个示例是读取/写入设备的函数,以及允许设置UserAgent字符串的WebView对象(Forms对象)的“自定义渲染器”。

通过将该平台的项目设置为“启动项目”,可以为每个平台测试和编译代码。可移植代码将被编译为适合作为启动项目的平台的语言。因此,您将从一个代码库中获得(最多)3个不同的平台特定应用程序。