跨平台开发的两种方法及其对比

为什么移动应用开发对很多开发人员来说,都是一件令人头痛的事?这是因为,每种流行的移动平台都具有自身的开发语言、开发工具及其特征。

这就意味着,你开发一款应用不但需要花费 3 倍的开发时间,并且需要维护 3 个项目,因此开发原生应用的代价是非常巨大的。

跨平台开发的两种方法:

幸运的是,有很多公司已经在研究如何使原生 APP的开发变得简单,目前为止多平台的开发方法主要有两种:

第一种:以 Web应用为内核,填充到原生 app中(即 PhoneGap 提供的解决方案)。

这种方法能够吸引那些想要转到移动开发的 Web开发人员,使用这种方法开发的应用,就是将网站包装的像移动应用一样。

第二种:使用跨平台的开发工具,这种工具提供一种通用语言开发原生 App(即 Xamarin 提供的解决方案)。

Xamarin(Xamarin.Forms)可以让开发人员使用 C# 开发,再使用 Xamarin.Forms转换生成 iOS,Android, Windows Phone等应用。Xamarin比较受 .Net 开发人员的喜爱。两种工具采用不同的解决方法,面向不同技术背景的开发人员,同样实现跨平台应用开发。

两种方法的对比:

下面我们就详细对比 一下PhoneGap 与 Xamarin的差异。

PhoneGap

开发人员使用 PhoneGap 时,可使用 JavaScript,HTML5和 CSS来开发。

PhoneGap 提供了访问移动设备特征的通用 API接口,如传感器,摄像头等。这些应用程序称为混合应用,既不是原生的(在 WebView中渲染)也不是纯 Web的应用(需要访问原生设备 API,是安装包的形式)。

最重要的是PhoneGap 是免费开源的!

Xamarin

Xamarin 提供利用.Net(Mono) 的开源实现的一个平台,开发人员可使用C#开发一次,Xamarin.Form就可同时生成 iOS,Android 以及 Windows Phone 应用程序。

Xamarin开发人员不但可以使用 Visual Studio,也可以使用其自有的 Xamarin Studio。

Xamarin提供了高效的性能,提升了代码的复用,可以充分利用 C#语言和.Net 平台的优势!

对两种方法的总结:

 

每个开发人员需要选择一款适合他们开发的解决方案。

PhoneGap 能够提升 web开发的技能,而 Xamarin 致力于.NET 技术,是最直接的解决方法。尽管有很多工具支持这两种平台,但是 PhoeGap 与 Xamarin 之间没有绝对的好与坏之分。至于如何选择,主要取决于哪种方案能够更好地实现我们的需求。

工具选择:

无论选择哪种解决方案,各控件厂商都将持续地提供两大平台的开发工具,来更好地帮助开发人员进行移动应用的开发。全球最大的控件提供商葡萄城公司,已针对这两种方法提供了权威专业的开发工具:

PhoneGap -- 可利用触控优先的Wijmo 控件集 进行开发。Wijmo 快如闪电,触控优先,为企业应用提供更灵活的操作体验,并全面支持Angular 2!Wijmo 两大独特之处在于:(1)OLAP Pivot控件,可创建基于Web的数据透视表(2)金融图表控件,创建与时俱进的股票趋势可视化界面。

Xamarin -- 借助 Xuni (本地化、跨平台移动控件集),使用本地编程技术,可以在 IOS、Android 和Xamarin平台上使用相同的 API。无论你需要Android 图表、Xamarin.Form 仪表盘还是IOS表格控件,Xuni 都能帮你高质量的创建适用于所有设备的企业级应用。

时间: 2024-08-05 12:16:45

跨平台开发的两种方法及其对比的相关文章

js+jquery动态设置/增加/删除/获取元素属性的两种方法集锦对比(动态onclick属性设置+动态title设置)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140/strict.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>

启动线程的两种方法的对比

java中Thread类有两种启动方法: 1.Thread.start() 2.Thread.run() 这两种方法的执行效果并不一样.Thread.start()方法是通知"线程规划器"此线程已经准备就绪,等待调用线程对象run()方法,是异步的执行结果. Thread.run()方法则是同步的,并不交给"线程规划器"来处理,而是由调用此线程的线程直接调用线程的run()方法,必须等run()方法中的代码执行完以后才能执行后面的代码 另外,执行start()方法的

积跬步,聚小流------实例分析jquery开发插件两种方法的区别

1.简介 jquery为开发插件提供了两个方法: *  jquery.extend(object);   为jquery类本身添加新的方法 *  jquery.fn.extend(object);  用来为jquery对象添加新的方法 2.理论介绍 分析这两个方法,不同点就在于中间多了一个.fn,那么这个.fn又是什么意思呢? $.fn是指jquery的命名空间,加了fn的方法和属性,会对jquery的每一个实例有效. 换种说法来解释的话: jquery本身是一个类,有它的属性和方法,赤裸裸的"

mybatis学习之路----批量更新数据两种方法效率对比

原文:https://blog.csdn.net/xu1916659422/article/details/77971696/ 上节探讨了批量新增数据,这节探讨批量更新数据两种写法的效率问题. 实现方式有两种, 一种用for循环通过循环传过来的参数集合,循环出N条sql, 另一种 用mysql的case when 条件判断变相的进行批量更新 下面进行实现. 注意第一种方法要想成功,需要在db链接url后面带一个参数  &allowMultiQueries=true 即:  jdbc:mysql:

创建对象、数组的两种方法以及对比

创建Object()对象 1 var t = new Object(); //创建了一个对象t. 2 //new:会创建一个对象,然后对象执行Object函数.最后返回一个对象实例 3 // js是一个动态语言,可以随时添加属性和方法 4 t.age = 19; 5 t.name = 'jeck'; 6 t.run = function(){ 7 console.log('我是你爸爸'); 8 }; 9 t['demo'] = 'demo2' 10 11 //对象的使用 12 //第一种方式:使

流程图怎样绘制,绘制流程图两种方法介绍

流程图也渐渐向办公软件开始转移,现在用的地方是越来越多了,在办公中一个绘制详细的流程图就可以省去很多时间以及不必要的麻烦,相信对办公软件的熟练应用也是很多在职人员不可缺少的技巧之一,下面给大家分享绘制流程图发两种简便方法. ** 绘制工具:WPS 迅捷画图 **绘制方法: 方法一:用WPS制作流程图 1.首先,打开WPS文档,在上方栏目中点击"形状--新建绘图画布"这时一个画布将穿线在页面中间. 2.击"插入--形状"会出现流程图,选择你需要的图形,点击鼠标左键,就

【开发实例】C#调用SAPI实现语音合成的两种方法

我们都知道现在的语音合成TTS是可以通过微软的SAPI实现的,好处我就不多说了,方便而已,因为在微软的操作系统里面就自带了这个玩意,主要的方式有两种:  1.使用COM组件技术,不管是C++,C#,Delphi都能玩的转,开发出来的东西在XP和WIN7都能跑.(要引入SpeechLib,好像在项目上点引用,然后选到系统COM吧,好久没弄,记不清楚了)  2.使用WIN7的windows api,其实最终还是调用了SAPI,所以开发出来的东西就只能在WIN7上面跑.  其实不管是哪一种,都是调用S

UWP开发中两种网络图片缓存方法

通常情况下,我们的程序需要从服务器读取图片,但如果需要不止一次读取某一张图片的话,就需要做本地缓存了,这样既为用户省一点流量,又能显得你的APP很快. 假如你已经知道了某一张图片的地址,那么第一件事就是要把这张图片下载下来:当然如果是一次性读取的话,可以直接把图片地址给Image控件或者给Bitmapimage对象(实际上这二者是没有去别的),但这无法存到本地,只作为显示用:但是我们要做的是保存到本地,这样肯定是不行的.现在我们就要用到HTTP的东西了,请看下面的代码: async static

智能手机的耗电特征及APP耗电量测试的两种方法

文章陈述了手机发展趋势及耗电特性,集中讨论了时下最为关心的智能手机耗电问题,并介绍了测量手机软件耗电量的两种方法.此外还解释了为何运营商此前会提出收取微信的费用,心跳机制是什么. 美国著名手机公司Palm的CEO JonRubinstein曾经说过:“手机未来的发展取决于两个因数,一是手机的数据传输速度:二就是手机待机时长.” 为什么手机待机时长如此重要呢? 现 在,手机上网速度已经有很大的提升,而且还在马不停蹄的发展4G,5G.4G网络可以将手机的上网速度提高到100Mbps以上,简单的说,下