使用Xamarin表单和使用本机移动应用程序开发之间的关键区别是什么?

使用Xamarin表单和使用本机移动应用程序开发之间的关键区别是什么?,xamarin,cross-platform,xamarin.forms,Xamarin,Cross Platform,Xamarin.forms,我一直在学习使用Xamarin表单。然而,通过艰苦的时间来找出使用Xamarin表单的关键优势 正如杰拉尔德所写,开发环境之间存在巨大差异。 我从8个月前开始使用.forms,在将我的应用程序(iOS、Android和Windows Phone)发送到商店之前很短时间。 因此,.forms(非常!)的最大优势是,我有一个项目,代码大约98%相同,并且能够为所有三个平台发布我的应用程序。 实际上,.forms正在(很快)支持WP 8。1和Windows(因此,Windows是一个新的平台,它为您使

我一直在学习使用Xamarin表单。然而,通过艰苦的时间来找出使用Xamarin表单的关键优势

正如杰拉尔德所写,开发环境之间存在巨大差异。
我从8个月前开始使用.forms,在将我的应用程序(iOS、Android和Windows Phone)发送到商店之前很短时间。
因此,.forms(非常!)的最大优势是,我有一个项目,代码大约98%相同,并且能够为所有三个平台发布我的应用程序。
实际上,.forms正在(很快)支持WP 8。1和Windows(因此,Windows是一个新的平台,它为您使用.forms带来了额外的好处)。
在我刚开始时,.forms中存在各种缺陷和缺点(因为它是一个非常年轻的平台)。尤其是在最新版本中,它变得更好、更稳定(这样我就可以发布应用程序进行生产)。
问题是,实际上XF实现中仍然缺少一些功能。好处是,有一些附加组件(如XLabs)可用于扩展功能,并且还可以实现自己的平台代码(尤其是iOS和/或Android和/或Windows Phone)。
所以(我的)底线是:
使用.forms,您可以节省大量时间来开发多平台应用程序。

既然您已经在学习XF的路上了,我会更进一步。

如果您发现无法克服的障碍,您还可以选择更改平台版本(Xamarin.ios/Xamarin.Android)

Xamarin.Forms在Xamarin的原生API之上添加了一层抽象。

Xamarin允许您访问每个平台的本机API。但由于Xamarin.Forms是这些原生API之上的抽象,因此根据定义,Xamarin.Forms API不同于核心Xamarin

使用Xamarin.Forms的主要好处是共享UI代码。使用vanilla Xamarin,您的核心应用程序逻辑可以跨平台共享,但您的UI代码是特定于平台的。使用表单,您可以用一般化的XAML编写UI,Xamarin.Forms会将其转换为本地UI。最后,对于一个没有严重平台差异的简单应用程序,您可以在三个Xamarin平台(iOS、Android、Windows)上实现接近100%的代码共享


值得注意的是,尽管Xamarin.Forms使您能够不编写任何一行特定于平台的代码,但它也使您能够在需要时灵活地编写特定于平台的代码。实际上,这意味着,在表单团队尚未为本机API功能提供通用抽象的领域,您可以轻松地自己编写。

您的问题相当广泛,主要是基于观点,但我希望我能帮助您提出我的观点。使用Xamarin(和表单),您可以使用所谓的Write-one-Run-Anywhere方法。您只需编写一次代码,它就可以在三大应用程序平台(以及其他一些平台)上运行。如果你想在本机上实现这一点,你必须分别编写Android(使用Java)、iOS(使用Objective-C或Swift)和WinPhone(使用C#)应用程序,并投入三倍的精力来创建相同的应用程序。更不用说可维护性了。这是简单的答案。希望有帮助!谢谢你的回答。嗯,我明白了。事实上,我想知道它们之间是否有语法上的差异,这要看情况而定。对于Windows Phone?不,对于iOS和Android来说,不仅仅是语法上的差异,而是使用了完全不同的语言和框架。就像我说的,如果你想在iOS中创建本机应用,你必须使用Xcode(类似Visual Studio)和Objective-C(类似C++),而对于Android,你将使用Eclipse(类似Visual Studio)和Java(与C#相关的语法,但完全不同)。同样对于表单,您将使用XAML,它与Android中的AXML有些关联,但具有不同的结构。这么简短的回答;差异是巨大的,就像英语和西班牙语一样。