我是C#.NET开发人员。
我想开发可在iphone,Android和Windows手机上运行的移动应用程序。
就目前而言,我发现www.xamarin.com提供了一个可以使用C#开发iphone和android的解决方案。
html5和xamarin有什么区别?
我应该使用哪种技术,我可以开发一次并在所有平台上运行?
答案 0 :(得分:5)
主要区别在于HTML5适用于浏览器,而xamarin则不适用(就我研究而言)。使用HTML5,可以更轻松地在多个设备上进行开发。但是制作本机应用程序的xamarin可以访问设备上的本机功能(如通知等)。但缺点是xamarin在多个设备上运行起来有点困难。还必须安装本机应用程序,而HTML5应用程序则不需要。所以你应该问自己的是,我想做什么样的应用程序。此外,作为在所有平台上运行的应用程序的东西还不存在。一些HTML5框架提供了大量支持(如JQmobile),但所有平台几乎都不可能。
答案 1 :(得分:5)
我认为更好地描述您的选择将介于MonoTouch(由Xamarin创建)和PhoneGap(它为HTML5提供本机包装)之间。都生成本机应用程序。两者都在多个平台上工作。两者都允许链接外部Objective-C库。
如果需要外部库 - 我认为PhoneGap可能比MonoTouch更独立于平台 - 我只进行了iOS开发,但我相信Android Mono库的结构有点不同所以不一样也不合理应用的UI部分的代码库。但在这种情况下,您可能会坚持使用HTML5并将所有代码放在服务器上。
如果你需要链接外部库 - 我发现PhoneGap比MonoTouch容易得多。我可以在与我的其余代码相同的Xcode工作区中创建一个PhoneGap项目,所有内容都可以很好地编译和调试。使用MonoTouch,我有许多脚本文件可以创建通用静态库,然后通过笨拙的gcc标记链接它们。
如果您可以留在HTML5世界中,我建议您在服务器上托管所有文件,这样可以避免与本机应用程序相关的所有部署难题。但如果您需要原生应用程序,则可以在任一环境中创建出色的应用程序。
答案 2 :(得分:2)
简要地:
-HTML5是网页的标准,仍在审核中(这意味着它不是最终的,可能会随时变化)
-xamarin是开发跨平台应用程序的框架。这意味着它是一组工具,允许你(在这种情况下)从C#和.net编码并获得一个移动应用程序(是的,它很可能是一组带有js网页的HTML5,但是我从来没有真正使用它)
所以你可以说xamarin (可能)使用HTML5作为最终输出,但就是这样。与html5实际上没有任何共同之处
答案 3 :(得分:2)
以下链接将提供有关Monodroid的更多信息(这是Xamarin使用.NET开发Android应用程序的解决方案):
http://monodroyd.wordpress.com/2011/12/04/introduction-to-mono-for-android/
希望这有帮助!