Html5和Xamarin有什么区别?

3

我是一名C# .NET开发人员。

我想要开发可以在iPhone、Android和Windows Phone上运行的移动应用程序。

目前为止,我发现www.xamarin.com提供了一种使用C#开发iPhone和Android应用程序的解决方案。

HTML5和Xamarin有什么区别?

我应该使用哪个技术,才能一次开发,并在所有平台上运行?


1
请使用搜索按钮,这个问题已经被反复讨论过了。 - PravinCG
不想翻旧帖,但RhoMobile也是一个很好的跨平台选择。它是一种本地应用程序,但作为一个迷你Web服务器以非常基于模式的方式提供HTML/RoR服务。为所有手机的本机功能提供包装器。根据我的经验,Xamarin更有趣。C#是一种很棒的语言,特别是.NET 4。在今天的手机上进行并行处理意味着您可以非常快速地完成任务。与人们的信仰相反,使用所有手机核心不会浪费电池。您仍然在相同的CPU周期内完成相同的任务,但效率更高。 - SolidRegardless
4个回答

5
主要的区别在于HTML5可以在浏览器上运行,而xamarin不能(据我所知)。使用HTML5可以更容易地在多个设备上开发。但是制作本机应用程序的xamarin可以访问您设备上的本机功能(如通知等)。但缺点是,在多个设备上使xamarin工作有点困难。此外,必须安装本机应用程序,不需要安装HTML5应用程序。因此,您应该问自己要制作什么样的应用程序。此外,尚不存在可运行于所有平台的应用程序。一些HTML5框架提供大量支持(例如JQmobile),但是覆盖所有平台几乎是不可能的。

你仍然可以使用Xamarin制作HTML5应用程序。它是围绕Android或iOS SDK的C#/Mono包装器。 - IanNorton

5
我认为更好的选择是MonoTouch(由Xamarin创建)和PhoneGap(提供HTML5的本地封装)。两者都可以生成本地应用程序,并可在多个平台上运行。两者均允许链接外部Objective-C库。
如果需要外部库,我认为PhoneGap可能比MonoTouch更具平台独立性。我只做过iOS开发,但我认为Android Mono库的结构有些不同,因此UI部分的代码库不能相同。但在这种情况下,您可以仅使用HTML5并将所有代码放在服务器上。
如果需要链接外部库,我发现PhoneGap比MonoTouch容易得多。我可以在与我的其他代码相同的Xcode工作区中创建PhoneGap项目,一切都可以很好地编译和调试。使用MonoTouch,我有许多脚本文件可以制作通用静态库,然后通过麻烦的gcc标志进行链接。
如果您可以保持在HTML5世界中,我建议将所有文件托管在服务器上,以避免与本机应用程序相关的所有部署问题。但是,如果您需要本机应用程序,则可以在任何环境中创建出色的应用程序。

2

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

简单来说:

-HTML5是网页标准,仍在审查中(这意味着它并不是最终版本,随时可能会有变化)

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

因此,你可以说xamarin (可能)使用HTML5作为最终输出,但仅此而已。与html5几乎没有任何共同之处。


我也不是很了解Xamarin,但是Xamarin不是制作原生应用而不是HTML5应用吗?http://xamarin.com/monotouch - Rick Hoving
Xamarin使用Mono,它不会创建HTML5应用程序,而是接近本地代码。Mono.NET的开源版本。因此,与使用HTML5相比,应用程序将感觉更本地。但价格有点高。 - rckoenes

2

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