2012-02-23 155 views
4

我是C#.NET开发人员。html5和xamarin有什么区别?

我想开发可在iphone,android和windows phone上运行的移动应用程序。

就目前而言,我发现www.xamarin.com提供了一个可以使用C#开发iphone和android的解决方案。

html5和xamarin有什么区别?

我应该使用哪种技术,我可以开发一次并在所有平台上运行?

+1

请使用搜索按钮,这已经被一次又一次地讨论过了。 – PravinCG 2012-02-23 07:52:54

+0

不想拖动旧线程,但RhoMobile也是一个很好的跨平台选择。它是一个本地应用程序,但是它以一种基于模式的方式充当HTML/RoR的迷你Web服务器。为您提供所有手机原生功能的包装。根据我的经验,Xamarin更有趣。特别是自.NET 4以来,C#是一款非常棒的lanquage。在今天的手机上进行并行处理意味着您可以快速完成任务。相反,使用手机的所有内核不会浪费电池。您仍然可以在相同的CPU周期内完成相同的任务,但效率更高。 – SolidRegardless 2012-11-16 06:54:03

回答

5

主要区别在于HTML5在浏览器上工作,而xamarin没有(就我研究过的)而言。使用HTML5,在多个设备上开发更容易。但是制作原生应用的xamarin可以访问设备上的本地功能(如通知等)。但缺点是Xamarin在多个设备上工作有点困难。此外,还必须安装原生应用,而HTML5应用不会。所以你应该问自己,我想要做什么样的应用程序。此外,在所有平台上运行的应用程序还不存在。一些HTML5框架提供了大量支持(如JQmobile),但所有平台几乎不可能。

+0

您仍然可以用xamarin制作html5应用程序。它是一个围绕android或iOS SDK的c#/ mono包装器 – IanNorton 2013-07-31 20:20:27

2

好吧,他们是两个完全不同的东西。

简述:

-HTML5是网页标准,仍在审查中(这意味着它不是最终版本,可能会有所不同ANYTIME)

-xamarin是开发跨平台应用程序的框架。这意味着它是一组工具,可以让你(在这种情况下)从C#和.net编码,并获得一个移动应用程序( 是啊,最有可能它将是一组带有js网页的HTML5,但我从来没有实际上用它

所以你可以说,xamarin (可能)使用HTML5的最终输出,但就是这样。 实际上与html5没什么共同点

+0

我也不太了解xamarin,但不是xamarin制作原生应用程序,而不是HTML5应用程序? http://xamarin.com/monotouch – 2012-02-23 07:57:28

+0

xamarin使用'Mono',它不会创建HTML5应用程序。它接近本机代码。 'Mono'是'.NET'的开源版本。因此,当使用HTML5时,感觉会更加原生。但价格有点陡峭。 – rckoenes 2012-02-23 08:02:34

+0

感谢您的建议,我编辑了答案:) – 2012-02-23 09:06:31

5

我认为您的选择的更好的描述将介于MonoTouch(由Xamarin创建)和PhoneGap(其提供HTML5的本机包装)之间。两者都生成本机应用两者都在多个平台上工作。两者都允许连接外部Objective-C库。

如果需要外部库 - 我认为PhoneGap可能比MonoTouch更独立于平台 - 我只完成iOS开发,但我相信Android Mono库结构有点不同,因此为您的应用的UI部分设置相同的代码库是不合理的。但在这种情况下,您可能只需坚持HTML5并将所有代码放在服务器上。

如果您需要链接到外部库 - 我发现PhoneGap比MonoTouch更容易。我可以在与我的其他代码相同的Xcode工作区中创建PhoneGap项目,所有内容都可以很好地编译和调试。使用MonoTouch我有一些脚本文件可以制作通用的静态库,然后通过笨拙的gcc标志链接它们。

如果您可以留在HTML5世界,我会建议您将所有文件托管在服务器上,以避免与本机应用程序相关的所有部署问题。但是,如果你需要一个本地应用程序,你可以在任何一种环境下制作出惊人的应用