Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Xamarin:与本机SDK和基于JS的框架的比较_C#_Android_Ios_Xamarin.ios - Fatal编程技术网

C# Xamarin:与本机SDK和基于JS的框架的比较

C# Xamarin:与本机SDK和基于JS的框架的比较,c#,android,ios,xamarin.ios,C#,Android,Ios,Xamarin.ios,因此,使用Android和iOS提供的本机SDK进行编码的一个主要特点是,您不仅可以获得更好的性能,还可以获得每个平台的外观和感觉:例如,在iOS上,屏幕底部会有一个选项卡导航栏,而在Android中,它位于顶部(是的,我知道它也可以是顶部和底部,但你明白我的意思),或者导航抽屉dock是一种Android导航风格,而(据我所知)在iOS原生sdk中没有类似的功能。我的观点是,你可以通过他们的设计指南感受到平台的不同,这是一件好事,因为它让你的应用看起来很专业 因此,考虑到这一点,在性能和保持应

因此,使用Android和iOS提供的本机SDK进行编码的一个主要特点是,您不仅可以获得更好的性能,还可以获得每个平台的外观和感觉:例如,在iOS上,屏幕底部会有一个选项卡导航栏,而在
Android
中,它位于顶部(是的,我知道它也可以是顶部和底部,但你明白我的意思),或者导航抽屉dock是一种Android导航风格,而(据我所知)在iOS原生sdk中没有类似的功能。我的观点是,你可以通过他们的设计指南感受到平台的不同,这是一件好事,因为它让你的应用看起来很专业

因此,考虑到这一点,在性能和保持应用程序的感觉方面,使用基于JS的框架,如TitaniumPhoneGap将不是明智的选择

然后是
Xamarin
。正如我在这里读到的:它似乎是本机SDK的
C#
包装器,据我所知,它不应该影响性能。但是外观和感觉部分在哪里呢。既然XML布局不完全是给
Android
iOS
应用带来感觉的东西,还有导航(来自控制器类),Xamarin是如何处理这些问题的?他们的网站上说,你们可以在平台之间共享代码,但这也意味着我必须共享导航系统和类似系统吗

最后,为了“不为每个平台编写代码”,是否值得不使用本机SDK并使用
Xamarin
(我在为iOS和Android编写代码方面都没有问题),或者这个框架是针对
C
开发人员的,这样他们就不必学习Objective-C或Android了


任何额外的解释都将非常棒,请提前感谢。

对于本机,还有更多的互联网内容、帮助和支持。这本身就帮助我做出选择。如果你真的擅长Xamerin,那么你编写的代码中可能有70%可以被两个应用程序使用,你仍然需要为每个应用程序定制一些东西

但是,对native的支持是如此广泛,以至于如果你遇到问题,其他人也会遇到

和xamerin一起祝你好运


当我说app时,我指的是iOS/Android

我用Xamarin编写代码已经有一段时间了。到目前为止一切都很好。任何我遇到的问题我都能解决,因为c#是我的母语。Xamarin站点有许多示例和API参考,用于所有平台上的许多功能

  • 性能-使用Xamarin可以获得本机性能。没有问题。我一直在用它为我正在开发的新应用程序创建音频、视频和照片录制功能。Xamarin将所有平台的c#代码处理为本机字节码。这就是如何实现的

  • 外观-应用程序的外观将为本机外观。实际上,您必须使用Android xml格式来创建用户界面,IOS也是如此。您仍将使用与在每个平台上相同的方式设置元素的样式。Xamarin所做的只是为您将视图链接到事件

  • Api-Xamarin的美丽之处在于Api。他们将整个Android和IOS名称空间移植到c#。看看他们的照片

  • 昂贵-我唯一的问题是Xamarin很昂贵。如果你查看他们的定价,那就太离谱了。但你得到的是你付出的。由支持支持支持的优质产品

  • C#-Sharp是一种具有大量支持的优秀语言。新的async/await解决了整个线程管理问题。Json处理在平台上非常简单。我上传了几个可以用于许多应用程序的类

  • 如果你有java背景,温习一下你的c#技能将是轻而易举的事

    rdio应用程序是使用Xamarin创建的。在Android和IOS上下载它,测试它的性能,享受它的原生外观


    祝你好运

    我在去年(2013年)构建了一个包含不同组件的大型应用程序:主要是一个API(ASP.NET Web API=>C#)、一个网站(ASP.NET MVC=>C#+AngularJS),以及一个Android应用程序(Xamarin.Android=>C#)和iOS应用程序(Xamarin.iOS=>C#)。使用Xamarin的决定有其优点和缺点,但总的来说,我对它非常满意

    正如你在我上面的列表中所看到的,几乎所有的事情都是用C完成的(好的,这个网站主要是用JavaScript编写的;-)。这是一种非常好的成熟语言,具有非常好的特性(如LINQ)。在我的场景中,情况变得很清楚:我不必学习和完善四种语言(Swift/Objective-C、Java、C#、JavaScript),而只需要两种语言:C#和JavaScript

    这一点在代码共享方面尤为重要:我们的客户端应用程序并不是真正的瘦客户端,因为一些离线功能需要大量的同步逻辑,因此这两个应用程序的UI部分只是奖牌的一个方面。事实证明,我可以在iOS和Android上使用90%的非接口代码。这是一个难以置信的巨大好处,因为它不仅与Swift/Objective-C或Java的一些语言原创有关,还与您在iOS和Android上使用的不同框架有关。使用.NETFramework或MUNO作为每个XAMARIN应用程序的基础,可以让您从底层操作系统抽象数据访问或网络通信之类的东西。 就速度和UI而言,您没有任何缺点,因为您使用的是本机API 1:1。iOS或Android上可用的任何东西也可以通过Xamarin获得。例如,每当苹果发布新版iOS时,Xamarin都会在几天内发布该版本的更新,因此你不必等待就能使用苹果新推出的功能

    Xamarin使用了一种叫做“提前”的技术