移动开发下Xamarin VS PhoneGap

移动开发下Xamarin VS PhoneGap

跨平台开发

移动应用开发对很多开发人员来说是一种令人恐惧的事情。许多企业希望能够通过开发移动应用程序,来提升企业业务水平,开发原生App时往往又缺少专业的Objective C 或 Java 移动开发人员。不仅如此,每种流行的移动平台都具有自身的开发语言,开发工具及特征,这就意味着开发一款应用需要花费三倍的开发时间,且需要维护三个项目。因此开发原生应用的代价是非常大的。

幸运的是,有很多公司已经在研究如何使原生APP的开发变得简单,目前为止多平台的开发方法主要有两种:第一种方法就是以Web 应用为内核,填充到原生app中(PhoneGap提供的解决方案)。这种方法能够吸引那些想要转到移动开发的Web开发人员,使用这种方法开发的应用就是将网站包装的像移动应用。第二种方法就是使用跨平台的开发工具,这种工具提供一种通用语言开发原生App(Xamarin 提供的解决方案)。Xamarin(Xamarin.Forms)可以让开发人员用C#开发,再使用Xamarin.Forms转换生成 iOS,Android, Windows Phone应用,Xamarin 比较受.Net 开发人员的喜爱。

两种工具采用不同的解决方法,面向不同技术背景的开发人员,来实现跨平台应用开发。随着两大平台的流行,很多控件厂商也开发出支持这两种平台的工具,如为PhoneGap 提供的Wijmo 5,为 Xamarin.Forms提供的Xuni 等,从而使移动开发更加快速高效,当然尽管有很多工具支持这两种平台,但是无论是PhoeGap或是Xamarin没有绝对的好与坏,因此如何选择,主要取决于哪种工具能够更有利于企业。下面我们就详细对比PhoneGap 与Xamarin。

PhoneGap

开发人员使用PhoneGap 时,可使用 JavaScript,HTML5,CSS来开发。PhoneGap 提供了访问移动设备特征的通用API接口,如传感器,摄像头等。这些应用程序称为混合应用,既不是原生的(在WebView中渲染)也不是纯Web的应用(需要访问原生设备API,是安装包的形式)可使用其他插件扩展PhoneGap 功能。最重要的是PhoneGap 是免费开源的。

Xamarin

Xamarin 提供利用.Net(Mono) 的开源实现的一个平台,开发人员可使用C#开发一次,Xamarin.Form就可同时生成iOS,Android,及Windows Phone 应用程序。Xamarin开发即可以使用Visual Studio,也可以使用其自有的 Xamarin Studio。Xamarin提供了高效的性能,提升了代码的复用,可以充分利用C#语言和.Net 平台的优势。

Xamarin VS PhoneGap

   

Xamarin.Forms   PhoneGap
使用C#或XAML语言编码 使用 JavaScript,HTML,CSS 编码
开发iOS ,Android,WindowsPhone  应用 支持iOS, Android,WindowsPhone,Blackberry,Symbian,Bada,WebOS
需要Xamarin许可证 免费开源
生成原生应用 应用程序不完全是原生的
高效 性能一般
应用程序在每个平台上都具有好的用户界面 需要其他辅助工具才能在每个平台上实现好的用户界面
大量的共享资源 开源库,框架,相关平台优化的碎片
   

总结

每个开发人员需要选择一款适合他们开发的解决方案。PhoneGap能够提升web开发的技能,而Xamarin 致力于.NET 技术,是最直接的解决方法。尽管有很多工具支持这两种平台,但是 PhoeGap 与 Xamarin 之间没有绝对的好与坏之分。

工具选择

无论选择哪种解决方案,都有一些两大平台的开发工具,来更好地帮助开发人员进行移动应用的开发。
PhoneGap -- 可利用触控优先的 Wijmo 控件集进行开发。Wijmo 快如闪电,触控优先,为企业应用提供更灵活的操作体验,并全面支持Angular 2!
Xamarin -- 借助 Xuni (本地化、跨平台移动控件集),使用本地编程技术,可以在 IOS、Android 和Xamarin平台上使用相同的 API。无论需要Android 图表、Xamarin.Form 仪表盘还是IOS表格控件,Xuni 都高质量的创建适用于所有设备的企业级应用。

原文链接:http://stage.goxuni.com/xamarin-and-phonegap-comparison/

上一篇:CSS3基础(2)—— 文字与字体相关样式、盒子类型、背景与边框相关样式、变形处理、动画功能


下一篇:UE4 Fade out Mesh